public static void TestCase(Assembly assembly, RunMode mode, int duration, int threads, int?exceptionThreshold = null, bool printMethodName = false, bool deadlockDetection = false, int randomSeed = 0, string[] selectedTests = null, string[] overrides = null, string[] variations = null, string filter = null, bool monitorEnabled = false, string monitorMachineName = "localhost") { TestMetrics.Reset(); TestFinder.AssemblyName = assembly.GetName(); mode = RunMode.RunAll; for (int i = 0; overrides != null && i < overrides.Length; i++) { TestMetrics.Overrides.Add(overrides[i], overrides[++i]); } for (int i = 0; variations != null && i < variations.Length; i++) { TestMetrics.Variations.Add(variations[i]); } for (int i = 0; selectedTests != null && i < selectedTests.Length; i++) { TestMetrics.SelectedTests.Add(selectedTests[i]); } TestMetrics.StressDuration = duration; TestMetrics.StressThreads = threads; TestMetrics.ExceptionThreshold = exceptionThreshold; TestMetrics.MonitorEnabled = monitorEnabled; TestMetrics.MonitorMachineName = monitorMachineName; TestMetrics.RandomSeed = randomSeed; TestMetrics.Filter = filter; TestMetrics.PrintMethodName = printMethodName; if (deadlockDetection) { DeadlockDetection.Enable(); } // get and load all the tests s_tests = TestFinder.GetTests(assembly); // instantiate the stress engine s_eng = new StressEngine(TestMetrics.StressThreads, TestMetrics.StressDuration, s_tests, TestMetrics.RandomSeed); }