Example #1
0
        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());
            }
        }
Example #2
0
        //[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);
        }
Example #3
0
        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);
        }