public static int Main(string[] args) { // Create SettingsService early so we know the trace level right at the start SettingsService settingsService = new SettingsService(); InternalTrace.Initialize("nunit-gui_%p.log", (InternalTraceLevel)settingsService.GetSetting("Options.InternalTraceLevel", InternalTraceLevel.Default)); log.Info("Starting NUnit GUI"); GuiOptions guiOptions = new GuiOptions(args); GuiAttachedConsole attachedConsole = null; if (guiOptions.console) { log.Info("Creating attached console"); attachedConsole = new GuiAttachedConsole(); } if (guiOptions.help) { MessageDisplay.Display(guiOptions.GetHelpText()); return 0; } if (!guiOptions.Validate()) { string message = "Error in command line"; MessageDisplay.Error(message + Environment.NewLine + Environment.NewLine + guiOptions.GetHelpText()); log.Error(message); return 2; } if (guiOptions.cleanup) { log.Info("Performing cleanup of shadow copy cache"); DomainManager.DeleteShadowCopyPath(); return 0; } if (!guiOptions.NoArgs) { if (guiOptions.lang != null) { log.Info("Setting culture to " + guiOptions.lang); Thread.CurrentThread.CurrentUICulture = new CultureInfo(guiOptions.lang); } } try { // Add Standard Services to ServiceManager log.Info("Adding Services"); ServiceManager.Services.AddService(settingsService); ServiceManager.Services.AddService(new DomainManager()); ServiceManager.Services.AddService(new RecentFilesService()); ServiceManager.Services.AddService(new ProjectService()); ServiceManager.Services.AddService(new TestLoader(new GuiTestEventDispatcher())); ServiceManager.Services.AddService(new AddinRegistry()); ServiceManager.Services.AddService(new AddinManager()); ServiceManager.Services.AddService(new TestAgency()); // Initialize Services log.Info("Initializing Services"); ServiceManager.Services.InitializeServices(); } catch (Exception ex) { MessageDisplay.FatalError("Service initialization failed.", ex); log.Error("Service initialization failed", ex); return 2; } // Create container in order to allow ambient properties // to be shared across all top-level forms. log.Info("Initializing AmbientProperties"); AppContainer c = new AppContainer(); AmbientProperties ambient = new AmbientProperties(); c.Services.AddService(typeof(AmbientProperties), ambient); log.Info("Constructing Form"); NUnitForm form = new NUnitForm(guiOptions); c.Add(form); try { log.Info("Starting Gui Application"); Application.Run(form); log.Info("Application Exit"); } catch( Exception ex ) { log.Error("Gui Application threw an excepion", ex ); throw; } finally { log.Info("Stopping Services"); ServiceManager.Services.StopAllServices(); } if (attachedConsole != null) { Console.WriteLine("Press Enter to exit"); Console.ReadLine(); attachedConsole.Close(); } log.Info("Exiting NUnit GUI"); InternalTrace.Close(); return 0; }
public static int Main(string[] args) { NUnitForm.CommandLineOptions command = new NUnitForm.CommandLineOptions(); GuiOptions parser = new GuiOptions(args); if(parser.Validate() && !parser.help) { if ( parser.cleanup ) { DomainManager.DeleteShadowCopyPath(); return 0; } if(!parser.NoArgs) { if (parser.IsAssembly) command.testFileName = parser.Assembly; command.configName = parser.config; command.testName = parser.fixture; command.noload = parser.noload; command.autorun = parser.run; if (parser.lang != null) Thread.CurrentThread.CurrentUICulture = new CultureInfo( parser.lang ); if ( parser.HasInclude ) { command.categories = parser.include; command.exclude = false; } else if ( parser.HasExclude ) { command.categories = parser.exclude; command.exclude = true; } } // Add Standard Services to ServiceManager ServiceManager.Services.AddService( new SettingsService() ); ServiceManager.Services.AddService( new DomainManager() ); ServiceManager.Services.AddService( new RecentFilesService() ); ServiceManager.Services.AddService( new TestLoader( new GuiTestEventDispatcher() ) ); ServiceManager.Services.AddService( new AddinRegistry() ); ServiceManager.Services.AddService( new AddinManager() ); // Initialize Services ServiceManager.Services.InitializeServices(); // Create container in order to allow ambient properties // to be shared across all top-level forms. AppContainer c = new AppContainer(); AmbientProperties ambient = new AmbientProperties(); c.Services.AddService( typeof( AmbientProperties ), ambient ); NUnitForm form = new NUnitForm( command ); c.Add( form ); try { Application.Run( form ); } finally { ServiceManager.Services.StopAllServices(); } } else { string message = parser.GetHelpText(); UserMessage.DisplayFailure( message,"Help Syntax" ); return 2; } return 0; }
public void InvalidCommandLineParms() { GuiOptions parser = new GuiOptions(new String[] { "-garbage:TestFixture", "-assembly:Tests.dll" }); Assert.IsFalse(parser.Validate()); }
public void NoNameValuePairs() { GuiOptions parser = new GuiOptions(new String[] { "TestFixture", "Tests.dll" }); Assert.IsFalse(parser.Validate()); }
public void ValidateSuccessful() { GuiOptions options = new GuiOptions(new string[] { "nunit.tests.dll" }); Assert.IsTrue(options.Validate(), "command line should be valid"); }
public void InvalidArgs() { GuiOptions options = new GuiOptions(new string[] { "-asembly:nunit.tests.dll" }); Assert.IsFalse(options.Validate()); }
public void NoNameValuePairs() { GuiOptions parser = new GuiOptions(new String[]{"TestFixture", "Tests.dll"}); Assert.IsFalse(parser.Validate()); }
public void InvalidCommandLineParms() { GuiOptions parser = new GuiOptions(new String[]{"-garbage:TestFixture", "-assembly:Tests.dll"}); Assert.IsFalse(parser.Validate()); }
public static int Main(string[] args) { NTrace.Info( "Starting NUnit GUI" ); GuiOptions guiOptions = new GuiOptions(args); GuiAttachedConsole attachedConsole = null; if ( guiOptions.console ) attachedConsole = new GuiAttachedConsole(); if( !guiOptions.Validate() || guiOptions.help) { string message = guiOptions.GetHelpText(); UserMessage.DisplayFailure( message,"Help Syntax" ); return 2; } if ( guiOptions.cleanup ) { DomainManager.DeleteShadowCopyPath(); return 0; } if(!guiOptions.NoArgs) { if (guiOptions.lang != null) Thread.CurrentThread.CurrentUICulture = new CultureInfo( guiOptions.lang ); } // Add Standard Services to ServiceManager ServiceManager.Services.AddService( new SettingsService() ); ServiceManager.Services.AddService( new DomainManager() ); ServiceManager.Services.AddService( new RecentFilesService() ); ServiceManager.Services.AddService( new TestLoader( new GuiTestEventDispatcher() ) ); ServiceManager.Services.AddService( new AddinRegistry() ); ServiceManager.Services.AddService( new AddinManager() ); ServiceManager.Services.AddService( new TestAgency() ); // Initialize Services ServiceManager.Services.InitializeServices(); // Create container in order to allow ambient properties // to be shared across all top-level forms. AppContainer c = new AppContainer(); AmbientProperties ambient = new AmbientProperties(); c.Services.AddService( typeof( AmbientProperties ), ambient ); NUnitForm form = new NUnitForm( guiOptions ); c.Add( form ); try { Application.Run( form ); } finally { ServiceManager.Services.StopAllServices(); } if ( attachedConsole != null ) { Console.WriteLine( "Press Enter to exit" ); Console.ReadLine(); attachedConsole.Close(); } NTrace.Info( "Exiting NUnit GUI" ); return 0; }