static int Main(string[] args) { int exitCode = 0; // Parse arguments var arguments = new Arguments(); if (!arguments.Parse(args)) { Console.WriteLine("Parsing input arguments failed: " + arguments.ErrorMessage); Console.WriteLine(Arguments.Usage); return(-1); //throw new Exception("Test runner execution failed"); } ITestRunner testRunner = GetTestRunner(arguments); string testSuite = null; if (arguments.TestSuite != null) { testSuite = arguments.TestSuite.FullName; } var testAssemblies = testRunner.FindTestAssemblies(arguments.AssemblyDirectory, testSuite); exitCode = 0; foreach (var testAssembly in testAssemblies) { if (!File.Exists(testAssembly)) { exitCode = -1; Console.WriteLine("Test assembly does not exists: " + testAssembly); continue; } // Return value should not decide the status of the execution, since we care only about test execution, not whether tests are passed or failed. int returnValue = testRunner.Execute(testAssembly, arguments.OutputDirectory); Console.WriteLine( string.Format( "The test assembly {0} executed with the return value of {1}", testAssembly, returnValue ) ); } if (exitCode == 0) { Console.WriteLine("TestRunner executed successfully"); } else { Console.WriteLine("TestRunner execution failed"); } return(exitCode); }
static int Main(string[] args) { int exitCode = 0; // Parse arguments var arguments = new Arguments(); if (!arguments.Parse(args)) { Console.WriteLine("Parsing input arguments failed: " + arguments.ErrorMessage); Console.WriteLine(Arguments.Usage); return(-1); //throw new Exception("Test runner execution failed"); } ITestRunner testRunner = GetTestRunner(arguments); var testAssemblies = testRunner.FindTestAssemblies(arguments.AssemblyDirectory); if (testAssemblies.Count > 0) { foreach (var testAssembly in testAssemblies) { int returnValue = testRunner.Execute(testAssembly, arguments.OutputDirectory); if (returnValue < 0) { exitCode = -1; } } Console.WriteLine("TestRunner executed successfully"); return(exitCode); } else { Console.WriteLine("Couldnt Find The Tests,Please Give The Correct Directory"); exitCode = -1; return(exitCode); } }