private void OnRecentFileClick( object sender, EventArgs e ) { MenuItem item = (MenuItem) sender; string testFileName = item.Text.Substring( 2 ); // TODO: Figure out a better way NUnitForm form = item.GetMainMenu().GetForm() as NUnit.Gui.NUnitForm; if ( form != null) form.Presenter.OpenProject( testFileName ); }
static int Main(string[] args) { NUnitForm.CommandLineOptions command = new NUnitForm.CommandLineOptions(); GuiOptions parser = new GuiOptions(args); if (parser.Validate() && !parser.help) { 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 (command.testFileName != null) { FileInfo fileInfo = new FileInfo(command.testFileName); if (!fileInfo.Exists) { string message = String.Format("{0} does not exist", fileInfo.FullName); UserMessage.DisplayFailure(message, "Specified test file does not exist"); return(1); } else { command.testFileName = fileInfo.FullName; } } NUnitForm form = new NUnitForm(command); Application.Run(form); } else { string message = parser.GetHelpText(); UserMessage.DisplayFailure(message, "Help Syntax"); return(2); } return(0); }
public static NUnitForm nUnitGui_ShowGui(this API_NUnit_Gui nUnitGui, GuiOptions guiOptions) { "[API_NUnit_Gui] in nUnitGui_ShowGui".info(); Func <NUnitForm> createNUnitForm = () => { var sync = new AutoResetEvent(false); NUnitForm nUnitForm = null; O2Thread.staThread( () => { if (NUnit.Util.Services.TestAgency.isNull()) { var nunitGuiRunner = nUnitGui.Executable.parentFolder().pathCombine("lib\\nunit-gui-runner.dll"); nunitGuiRunner.loadAssemblyAndAllItsDependencies(); SettingsService settingsService = new SettingsService(); InternalTrace.Initialize("nunit-gui_%p.log", (InternalTraceLevel)settingsService.GetSetting("Options.InternalTraceLevel", InternalTraceLevel.Default)); ServiceManager.Services.AddService(settingsService); ServiceManager.Services.AddService(new DomainManager()); ServiceManager.Services.AddService(new RecentFilesService()); ServiceManager.Services.AddService(new ProjectService()); ServiceManager.Services.AddService(new AddinRegistry()); ServiceManager.Services.AddService(new AddinManager()); ServiceManager.Services.AddService(new TestAgency()); ServiceManager.Services.InitializeServices(); } else { "[API_NUnit_Gui] in nUnitGui_ShowGui: NUnit.Util.Services.TestAgency was not null: {0}".debug(NUnit.Util.Services.TestAgency); } ServiceManager.Services.AddService(new TestLoader(new GuiTestEventDispatcher())); nUnitForm = new NUnitForm(guiOptions); "NUnitForm".o2Cache(nUnitForm); sync.Set(); nUnitForm.ShowDialog(); "NUnitForm".o2Cache(null); }); sync.WaitOne(); return(nUnitForm); }; return("NUnitForm".o2Cache(createNUnitForm)); }
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 API_NUnit_Gui loadNUnitGui(GuiOptions guiOptions) { this.nUnitForm = this.nUnitGui_ShowGui(guiOptions); NunitGuiLoaded = true; return(this); }
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); }
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); }
// TODO: Use an interface for view and model public NUnitPresenter(NUnitForm form, TestLoader loader) { this.form = form; this.loader = loader; }