/// <summary> /// Initialize the engine. This includes initializing mono addins, /// setting the trace level and creating the standard set of services /// used in the Engine. /// /// This interface is not normally called by user code. Programs linking /// only to the nunit.engine.api assembly are given a /// pre-initialized instance of TestEngine. Programs /// that link directly to nunit.engine usually do so /// in order to perform custom initialization. /// </summary> public void Initialize() { #if NUNIT_ENGINE if (!AddinManager.IsInitialized) { // Pass in the current nunit.engine assembly because mono.addins uses the executing assembly by // default and that might be in a an entirely different directory than the runner that is using it. AddinManager.Initialize(Assembly.GetExecutingAssembly(), NUnitConfiguration.ApplicationDirectory); AddinManager.Registry.Update(null); } #endif SettingsService settingsService = new SettingsService(true); if(InternalTraceLevel == InternalTraceLevel.Default) InternalTraceLevel = settingsService.GetSetting("Options.InternalTraceLevel", InternalTraceLevel.Off); if(InternalTraceLevel != InternalTraceLevel.Off) { var logName = string.Format("InternalTrace.{0}.log", Process.GetCurrentProcess().Id); InternalTrace.Initialize(Path.Combine(WorkDirectory, logName), InternalTraceLevel); } Services.Add(settingsService); Services.Add(new DomainManager()); Services.Add(new DriverService()); #if NUNIT_ENGINE Services.Add(new RecentFilesService()); Services.Add(new ProjectService()); Services.Add(new RuntimeFrameworkService()); Services.Add(new DefaultTestRunnerFactory()); Services.Add(new TestAgency()); Services.Add(new ResultService()); #else Services.Add(new CoreTestRunnerFactory()); #endif Services.ServiceManager.StartServices(); }
/// <summary> /// Create and initialize the standard set of services /// used in the Engine. This interface is not normally /// called by user code. Programs linking only to /// only to the nunit.engine.api assembly are given a /// pre-initialized instance of TestEngine. Programs /// that link directly to nunit.engine usually do so /// in order to perform custom initialization. /// </summary> public void InitializeServices() { SettingsService settingsService = new SettingsService("NUnit30Settings.xml", true); if(InternalTraceLevel == InternalTraceLevel.Default) InternalTraceLevel = (InternalTraceLevel)settingsService.GetSetting("Options.InternalTraceLevel", InternalTraceLevel.Off); if(InternalTraceLevel != InternalTraceLevel.Off) { var logName = string.Format("InternalTrace.{0}.log", Process.GetCurrentProcess().Id); InternalTrace.Initialize(Path.Combine(WorkDirectory, logName), InternalTraceLevel); } this.Services.Add(settingsService); this.Services.Add(new RecentFilesService()); this.Services.Add(new DomainManager()); this.Services.Add(new ProjectService()); this.Services.Add(new RuntimeFrameworkSelector()); this.Services.Add(new DefaultTestRunnerFactory()); this.Services.Add(new DriverFactory()); this.Services.Add(new TestAgency()); this.Services.ServiceManager.InitializeServices(); }
/// <summary> /// Initialize the engine. This includes initializing mono addins, /// setting the trace level and creating the standard set of services /// used in the Engine. /// /// This interface is not normally called by user code. Programs linking /// only to the nunit.engine.api assembly are given a /// pre-initialized instance of TestEngine. Programs /// that link directly to nunit.engine usually do so /// in order to perform custom initialization. /// </summary> public void Initialize() { SettingsService settingsService = new SettingsService(true); if(InternalTraceLevel == InternalTraceLevel.Default) InternalTraceLevel = settingsService.GetSetting("Options.InternalTraceLevel", InternalTraceLevel.Off); if(InternalTraceLevel != InternalTraceLevel.Off) { var logName = string.Format("InternalTrace.{0}.log", Process.GetCurrentProcess().Id); InternalTrace.Initialize(Path.Combine(WorkDirectory, logName), InternalTraceLevel); } Services.Add(settingsService); Services.Add(new DomainManager()); #if NUNIT_ENGINE Services.Add(new ExtensionService()); #endif Services.Add(new DriverService()); #if NUNIT_ENGINE Services.Add(new RecentFilesService()); Services.Add(new ProjectService()); Services.Add(new RuntimeFrameworkService()); Services.Add(new DefaultTestRunnerFactory()); Services.Add(new TestAgency()); Services.Add(new ResultService()); #else Services.Add(new CoreTestRunnerFactory()); #endif Services.ServiceManager.StartServices(); }