/// <summary> /// This runs the tests by recompiling all tests in the specified /// source directory. /// </summary> /// <param name="args">TestRunner arguments</param> private static void CompileAndRunTests(TestArguments args) { string sSource = args.TestDirectory; string sData = args.TestDataDirectory; string sLibrary = args.ManagedLibrary; if (!Directory.Exists(sSource)) { Console.WriteLine("Source Directory does not exist" + Environment.NewLine); PrintUsageAndExit(); } if (!Directory.Exists(sData)) { Console.WriteLine("Data Directory does not exist" + Environment.NewLine); PrintUsageAndExit(); } if (!File.Exists(sLibrary)) { Console.WriteLine("libsbml C# binding assembly does not exist." + Environment.NewLine); PrintUsageAndExit(); } // all seems well so let us run through the tests: Console.WriteLine("Running the tests with: "); Console.WriteLine("\tSource Directory: " + sSource); Console.WriteLine("\tData Directory: " + sData); Console.WriteLine("\tC# binding: " + sLibrary); Console.WriteLine(); RunTests(sLibrary, sSource, sData); }
/// <summary> /// This runs all tests in the 'LibSBMLCSTest' namespace, which /// presumably are included in this assembly. /// </summary> /// <param name="args">TestRunner arguments</param> private static void RunTestsInNamespace(TestArguments args) { string sData = args.TestDataDirectory; if (!Directory.Exists(sData)) { Console.WriteLine("Data Directory does not exist" + Environment.NewLine); Environment.Exit(-1); } // all seems well so let us run through the tests: Console.WriteLine("Running the tests with: "); Console.WriteLine("\tData Directory: " + sData); Console.WriteLine(); RunTestsInAssembly(Assembly.GetExecutingAssembly(), sData); Console.WriteLine(Environment.NewLine); Console.WriteLine(String.Format("Total Number of Tests {0}, failures {1}", nTestFunc, nFailureSum)); if (nFailureSum == 0) { Console.WriteLine("\nAll tests passed." + Environment.NewLine); return; } PrintErrors(); Environment.Exit(1); }
static void Main(string[] args) { TestArguments arguments = new TestArguments(args); if (arguments.HaveAdditionalPath) { ProcessStartInfo info = new ProcessStartInfo( new FileInfo(Assembly.GetEntryAssembly().Location).FullName, arguments.StrippedArgs() ); info.UseShellExecute = false; info.EnvironmentVariables["PATH"] = arguments.AdditionalPath + ";" + info.EnvironmentVariables["PATH"]; info.EnvironmentVariables["LD_LIBRARY_PATH"] = arguments.AdditionalPath + ":" + info.EnvironmentVariables["LD_LIBRARY_PATH"]; info.EnvironmentVariables["DYLD_LIBRARY_PATH"] = arguments.AdditionalPath + ":" + info.EnvironmentVariables["DYLD_LIBRARY_PATH"]; Process.Start(info); return; } Console.WriteLine("LibSBML C# Testrunner"); Console.WriteLine("====================="); if (!arguments.IsValid) { // for backwards compatibility if (args.Length == 1 ) { arguments = new TestArguments(); arguments.TestDataDirectory = args[0]; } else if (args.Length == 3) { arguments = new TestArguments(); arguments.TestDirectory = args[0]; arguments.TestDataDirectory = args[1]; arguments.ManagedLibrary = args[2]; } if (!arguments.IsValid) { PrintUsageAndExit(); } } if (arguments.HaveWorkingDirectory) Directory.SetCurrentDirectory(arguments.WorkingDirectory); if (File.Exists(arguments.ManagedLibrary)) AppDomain.CurrentDomain.AssemblyResolve += delegate(object s, ResolveEventArgs e) { string filename = new AssemblyName(e.Name).Name; string path = string.Format(@"{0}.dll", Path.Combine(new FileInfo(arguments.ManagedLibrary).DirectoryName, filename)); return Assembly.LoadFrom(path); }; if (arguments.UseCompiledTests) { RunTestsInNamespace(arguments); } else { CompileAndRunTests(arguments); } if (arguments.HaveAdditionalDirectories) { Console.WriteLine(); Console.WriteLine("AdditionalTests"); Console.WriteLine("==============="); Console.WriteLine(); foreach (string path in arguments.AdditionalTestDirectories) { Console.WriteLine("running tests from: " + path); Console.WriteLine(); RunTests(arguments.ManagedLibrary, path, arguments.TestDataDirectory); Console.WriteLine(); } } }
static void Main(string[] args) { TestArguments arguments = new TestArguments(args); if (arguments.HaveAdditionalPath) { ProcessStartInfo info = new ProcessStartInfo( new FileInfo(Assembly.GetEntryAssembly().Location).FullName, arguments.StrippedArgs() ); info.UseShellExecute = false; info.EnvironmentVariables["PATH"] = arguments.AdditionalPath + ";" + info.EnvironmentVariables["PATH"]; info.EnvironmentVariables["LD_LIBRARY_PATH"] = arguments.AdditionalPath + ":" + info.EnvironmentVariables["LD_LIBRARY_PATH"]; info.EnvironmentVariables["DYLD_LIBRARY_PATH"] = arguments.AdditionalPath + ":" + info.EnvironmentVariables["DYLD_LIBRARY_PATH"]; Process.Start(info); return; } Console.WriteLine("LibSBML C# Testrunner"); Console.WriteLine("====================="); if (!arguments.IsValid) { // for backwards compatibility if (args.Length == 1) { arguments = new TestArguments(); arguments.TestDataDirectory = args[0]; } else if (args.Length == 3) { arguments = new TestArguments(); arguments.TestDirectory = args[0]; arguments.TestDataDirectory = args[1]; arguments.ManagedLibrary = args[2]; } if (!arguments.IsValid) { PrintUsageAndExit(); } } if (arguments.HaveWorkingDirectory) { Directory.SetCurrentDirectory(arguments.WorkingDirectory); } if (File.Exists(arguments.ManagedLibrary)) { AppDomain.CurrentDomain.AssemblyResolve += delegate(object s, ResolveEventArgs e) { string filename = new AssemblyName(e.Name).Name; string path = string.Format(@"{0}.dll", Path.Combine(new FileInfo(arguments.ManagedLibrary).DirectoryName, filename)); return(Assembly.LoadFrom(path)); } } ; if (arguments.UseCompiledTests) { RunTestsInNamespace(arguments); } else { CompileAndRunTests(arguments); } if (arguments.HaveAdditionalDirectories) { Console.WriteLine(); Console.WriteLine("AdditionalTests"); Console.WriteLine("==============="); Console.WriteLine(); foreach (string path in arguments.AdditionalTestDirectories) { Console.WriteLine("running tests from: " + path); Console.WriteLine(); RunTests(arguments.ManagedLibrary, path, arguments.TestDataDirectory); Console.WriteLine(); } } }
static void Main(string[] args) { Console.WriteLine("LibSBML C# Testrunner"); Console.WriteLine("====================="); TestArguments arguments = new TestArguments(args); if (!arguments.IsValid) { // for backwards compatibility if (args.Length == 1 ) { arguments = new TestArguments(); arguments.TestDataDirectory = args[0]; } else if (args.Length == 3) { arguments = new TestArguments(); arguments.TestDirectory = args[0]; arguments.TestDataDirectory = args[1]; arguments.ManagedLibrary = args[2]; } if (!arguments.IsValid) { PrintUsageAndExit(); } } if (arguments.HaveWorkingDirectory) Directory.SetCurrentDirectory(arguments.WorkingDirectory); if (arguments.UseCompiledTests) { RunTestsInNamespace(arguments); } else { CompileAndRunTests(arguments); } if (arguments.HaveAdditionalDirectories) { Console.WriteLine(); Console.WriteLine("AdditionalTests"); Console.WriteLine("==============="); Console.WriteLine(); foreach (string path in arguments.AdditionalTestDirectories) { Console.WriteLine("running tests from: " + path); Console.WriteLine(); RunTests(arguments.ManagedLibrary, path, arguments.TestDataDirectory); Console.WriteLine(); } } }