public static void PerformCompilerTest(List <CompilerError> errors = null) { PrintTestScenario(); var compilerParameters = CreateCompilerParameters(); var compiler = new MalinaCompiler(compilerParameters); var context = compiler.Run(); if (context.Errors.Count > 0) { PrintCompilerErrors(context.Errors); } if (errors == null) { Assert.AreEqual(0, context.Errors.Count, "Compilation Errors Number is {0}", context.Errors.Count); } else { Assert.AreEqual(errors.Count, context.Errors.Count, "Expected Errors Number is {0}", errors.Count); var i = 0; foreach (var contextError in context.Errors) { CompareErrors(errors[i++], contextError); } } if (IsRecordedTest() || IsRecordTest()) { CompareResultAndRecordedFiles(IsRecordTest()); } }
//[Test] public void BigFileCompilation() { //28 sec var compilerParameters = CreateCompilerParameters("BigFileCompilation.mlx"); var compiler = new MalinaCompiler(compilerParameters); var context = compiler.Run(); if (context.Errors.Count > 0) { PrintCompilerErrors(context.Errors); } Assert.AreEqual(0, context.Errors.Count); }
public static int Main(string[] args) { AppInfo(); var result = 1; try { bool recursive; List <string> files; string outputDirectory; ArgumentsParser.Parse(args, out files, out recursive, out outputDirectory); var compilerParameters = GetCompilerParameters(files, outputDirectory); var compiler = new MalinaCompiler(compilerParameters); var context = compiler.Run(); if (context.Errors.Count > 0) { PrintCompilerErrors(context.Errors); } result = 0; } catch (ArgumentsParserException e) { Console.WriteLine("Fatal error: {0}", e.Message); ArgumentsParser.Help(); AppInfo2(); } catch (Exception e) { Console.WriteLine("Fatal error: {0}", e.Message); Console.WriteLine(e.StackTrace); } return(result); }