Exemplo n.º 1
0
        /// <summary>
        /// Execute inner command.
        /// </summary>
        protected override void OnExecute()
        {
            var completedPath = GetCompletedPath(TestFilePath);

            if (!File.Exists(completedPath))
            {
                Console.WriteLine(CLI_00104);
                return;
            }

            DoshFileModel doshConfig;

            try
            {
                using (var sr = new StreamReader(completedPath))
                {
                    var input = sr.ReadToEnd();
                    doshConfig = new DoshParser().Parse(input);
                }
            }
            catch (System.Exception ex)
            {
                Console.WriteLine(CLI_00105, ex);
                return;
            }

            if (!ensureTestExecute(doshConfig))
            {
                return;
            }

            scaffoldTestCases(doshConfig);
            var semanticsAnalyzer = new DoshFileSemanticsAnalyzer(initializerPluginPath: AppConfigUtil.InitializerPluginPath,
                                                                  injectorPluginPath: AppConfigUtil.InjectorPluginPath,
                                                                  crawlerPluginPath: AppConfigUtil.CrawlerPluginPath);
            var exes = semanticsAnalyzer.Analyze(doshConfig);

            exes.ForEach(e =>
            {
                e.Execute();
                while (!e.IsFinished)
                {
                    Thread.Sleep(200);
                }
            });
        }
Exemplo n.º 2
0
        public void TestSemanticsAnalyze()
        {
            // setup
            var input = string.Empty;

            using (var sr = new StreamReader("./Tests/Doshfile/test_normal.yml"))
            {
                input = sr.ReadToEnd();
            }
            var parser = new DoshParser();
            var result = parser.Parse(input);

            // semantics
            var analyzer = new DoshFileSemanticsAnalyzer(initializerPluginPath: "", injectorPluginPath: "", crawlerPluginPath: "");
            var exes     = analyzer.Analyze(result);

            Assert.IsNotNull(exes);


            // cleanup check
        }