public void TestEvaluatorConfigurationFile()
        {
            AvroConfigurationSerializer serializer = new AvroConfigurationSerializer();
            var avroConfiguration = serializer.AvroDeseriaizeFromFile("evaluator.conf");

            Assert.IsNotNull(avroConfiguration);

            foreach (var b in avroConfiguration.Bindings)
            {
               Logger.Log(Level.Info, "Key = " + b.key + " Value = " + b.value); 
            }
        }
 public EvaluatorConfigurations(string configFile)
 {
     using (LOGGER.LogFunction("EvaluatorConfigurations::EvaluatorConfigurations"))
     {
         if (string.IsNullOrWhiteSpace(configFile))
         {
             Org.Apache.REEF.Utilities.Diagnostics.Exceptions.Throw(new ArgumentNullException("configFile"), LOGGER);
         }
         if (!File.Exists(configFile))
         {
             Org.Apache.REEF.Utilities.Diagnostics.Exceptions.Throw(new FileNotFoundException("cannot find file " + configFile), LOGGER);
         }
         _configFile = configFile;
         AvroConfigurationSerializer serializer = new AvroConfigurationSerializer();
         _avroConfiguration = serializer.AvroDeseriaizeFromFile(_configFile);
     }
 }
Example #3
0
        public void CanInjectAndExecuteTask()
        {
            //To enforce that shell task dll be copied to output directory.
            ShellTask tmpTask = new ShellTask("invalid");
            Assert.IsNotNull(tmpTask);

            string tmp = Directory.GetCurrentDirectory();
            Assert.IsNotNull(tmp);

            AvroConfigurationSerializer serializer = new AvroConfigurationSerializer();
            AvroConfiguration avroConfiguration = serializer.AvroDeseriaizeFromFile("evaluator.conf");
            Assert.IsNotNull(avroConfiguration);

            ICsConfigurationBuilder cb = TangFactory.GetTang().NewConfigurationBuilder();
            cb.AddConfiguration(TaskConfiguration.ConfigurationModule
                .Set(TaskConfiguration.Identifier, "Test_CLRContext_task")
                .Set(TaskConfiguration.Task, GenericType<ShellTask>.Class)
                .Build());
            cb.BindNamedParameter<ShellTask.Command, string>(GenericType<ShellTask.Command>.Class, "dir");

            IConfiguration taskConfiguration = cb.Build();

            string taskConfig = serializer.ToString(taskConfiguration);

            ITask task = null;
            TaskConfiguration config = new TaskConfiguration(taskConfig);
            Assert.IsNotNull(config);
            try
            {
                IInjector injector = TangFactory.GetTang().NewInjector(config.TangConfig);
                task = (ITask)injector.GetInstance(typeof(ITask));
            }
            catch (Exception e)
            {
                throw new InvalidOperationException("unable to inject task with configuration: " + taskConfig, e);
            }

            byte[] bytes = task.Call(null);
            string result = System.Text.Encoding.Default.GetString(bytes);

            //a dir command is executed in the container directory, which includes the file "evaluator.conf"
            Assert.IsTrue(result.Contains("evaluator.conf"));
        }