CClash.Tests.CompilerCacheTest.RunEnabledDirect C# (CSharp) Method

RunEnabledDirect() private method

private RunEnabledDirect ( int times ) : void
times int
return void
        public void RunEnabledDirect(int times)
        {
            Assert.IsFalse(Settings.Disabled);
            Assert.IsTrue(Settings.DirectMode);
            var comp = CompilerTest.CompilerPath;
            Environment.SetEnvironmentVariable("PATH", System.IO.Path.GetDirectoryName( comp ) + ";" + Environment.GetEnvironmentVariable("PATH"));
            for (int i = 0; i < times; i++)
            {
                var args = new string[] { "/c", @"test-sources\hello.c", "/Itest-sources\\inc with spaces" };
                var realerr = new StringBuilder();
                var realout = new StringBuilder();
                RunSubprocess(Compiler.Find(), args, realout, realerr);
                Program.MainStdErr.Clear();
                Program.MainStdOut.Clear();
                var rv = Program.Main(args);

                Assert.AreEqual(realerr.ToString(), Program.MainStdErr.ToString());
                Assert.AreEqual(realout.ToString(), Program.MainStdOut.ToString());
                Assert.AreEqual(0, rv);
            }
        }

Usage Example

Example #1
0
        static void Main(string[] args)
        {
            System.Threading.Thread.Sleep(1000);

            var t = new CompilerCacheTest();

            t.Init();
            Settings.CacheDirectory = System.IO.Path.Combine(Environment.CurrentDirectory, "cclash-unittest");
            var times = 500;
            var start = DateTime.Now;

            Environment.SetEnvironmentVariable("CCLASH_SERVER", "yes");
            CClash.Program.Main(new string[] { "--cclash" });
            t.RunEnabledDirect(times);

            var end = DateTime.Now;

            Logging.Miss("test", DataHashResult.NoPreviousBuild, "test", "test", "test");
            var duration = end.Subtract(start);

            Console.WriteLine("{0} operations in {1} sec. {2}/ops, {3}ms/op",
                              times, duration.TotalSeconds, times / duration.TotalSeconds, duration.TotalMilliseconds / times);
            Console.ReadLine();
            CClash.Program.Main(new string[] { "--cclash", "--stop" });
            Environment.SetEnvironmentVariable("CCLASH_SERVER", null);
            CClash.Program.Main(new string[] { "--cclash" });
            Console.ReadLine();
        }
All Usage Examples Of CClash.Tests.CompilerCacheTest::RunEnabledDirect