Esempio n. 1
0
        static void Main(string[] args)
        {
            if (args.Length < 1)
            {
                Console.WriteLine("USAGE: IrbisTestRunner <config.json> [testToRun]");
                return;
            }

            IrbisEncoding.RelaxUtf8();

            TestRunner engine    = null;
            string     testToRun = null;

            if (args.Length > 1)
            {
                testToRun = args[1];
            }

            try
            {
                engine = new TestRunner();
                string configFileName = args[0];
                engine.LoadConfig(configFileName);
                engine.Verify(true);

                if (!engine.ForeignServer &&
                    engine.FindLocalServer())
                {
                    engine.WriteLine
                    (
                        ConsoleColor.Red,
                        "Server already running"
                    );
                    return;
                }

                engine.StartServer();

                engine.HideServerWindow();

                engine.PingTheServer();

                engine.DiscoverTests();

                engine.CompileTests();

                engine.RunTests(testToRun);
            }
            catch (Exception ex)
            {
                Console.Error.WriteLine(ex);
            }
            finally
            {
                if (!ReferenceEquals(engine, null))
                {
                    engine.StopServer();
                }
            }

            if (!ReferenceEquals(engine, null))
            {
                engine.PrintReport();
            }
        }