/// <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); } }); }
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 }