public void CanGetTcpChannelOnUnpecifiedPortPUT1([PexAssumeUnderTest] String name) { channel1 = ServerUtilities.GetTcpChannel(name, 0); channel2 = ServerUtilities.GetTcpChannel(name, 0); PexAssert.AreEqual(channel1, channel2); PexAssert.AreSame(channel1, channel2); }
public void CanGetTcpChannelOnUnspecifiedPort() { channel1 = ServerUtilities.GetTcpChannel("test", 0); Assert.AreEqual("test", channel1.ChannelName); channel2 = ServerUtilities.GetTcpChannel("test", 0); Assert.AreEqual("test", channel2.ChannelName); Assert.AreEqual(channel1, channel2); Assert.AreSame(channel1, channel2); }
public void GetTcpChannel() { Hashtable props = new Hashtable(); props.Add("port", 0); props.Add("name", channelName); IChannel channel = ServerUtilities.GetTcpChannel(props); Assert.AreEqual(channelName, channel.ChannelName); }
public void CanGetTcpChannelOnSpecifiedPortPUT3([PexAssumeUnderTest] String name, int port) { PexAssume.IsFalse(name.Equals("")); //PexAssume.IsTrue(port > 1000 && port < 5000); TcpChannel chan1 = ServerUtilities.GetTcpChannel(name, port); ChannelDataStore cds = (ChannelDataStore)chan1.ChannelData; String uriInfo = "tcp://127.0.0.1:" + port; PexAssert.AreEqual(uriInfo, cds.ChannelUris[0]); }
public void CanGetTcpChannelOnSpecifiedPort() { channel1 = ServerUtilities.GetTcpChannel("test", 1234); Assert.AreEqual("test", channel1.ChannelName); channel2 = ServerUtilities.GetTcpChannel("test", 4321); Assert.AreEqual("test", channel2.ChannelName); Assert.AreEqual(channel1, channel2); Assert.AreSame(channel1, channel2); ChannelDataStore cds = (ChannelDataStore)channel1.ChannelData; Assert.AreEqual("tcp://127.0.0.1:1234", cds.ChannelUris[0]); }
//An exception is thrown when the channel is null or re-registered. //It is very difficult to get the exception thrown here.... public void CanGetTcpChannelOnSpecifiedPortPUT2(String name, int port) { try { TcpChannel channel1 = ServerUtilities.GetTcpChannel(name, port); TcpChannel channel2 = ServerUtilities.GetTcpChannel(name, port); } catch (Exception e) { throw new PexGoalException(e.Message); } }
public static int Main(string[] args) { AgentId = new Guid(args[0]); AgencyUrl = args[1]; InternalTraceLevel traceLevel = InternalTraceLevel.Off; for (int i = 2; i < args.Length; i++) { string arg = args[i]; // NOTE: we can test these strings exactly since // they originate from the engine itself. if (arg == "--debug-agent") { if (!Debugger.IsAttached) { Debugger.Launch(); } } else if (arg.StartsWith("--trace:")) { traceLevel = (InternalTraceLevel)Enum.Parse(typeof(InternalTraceLevel), arg.Substring(8)); } } // Initialize trace so we can see what's happening int pid = Process.GetCurrentProcess().Id; string logname = string.Format(LOG_FILE_FORMAT, pid); InternalTrace.Initialize(logname, traceLevel); log.Info("Agent process {0} starting", pid); log.Info("Running under version {0}, {1}", Environment.Version, RuntimeFramework.CurrentFramework.DisplayName); // Restore the COMPLUS_Version env variable if it's been overridden by TestAgency::LaunchAgentProcess try { string cpvOriginal = Environment.GetEnvironmentVariable("TestAgency_COMPLUS_Version_Original"); if (!string.IsNullOrEmpty(cpvOriginal)) { log.Debug("Agent process has the COMPLUS_Version environment variable value \"{0}\" overridden with \"{1}\", restoring the original value.", cpvOriginal, Environment.GetEnvironmentVariable("COMPLUS_Version")); Environment.SetEnvironmentVariable("TestAgency_COMPLUS_Version_Original", null, EnvironmentVariableTarget.Process); // Erase marker Environment.SetEnvironmentVariable("COMPLUS_Version", (cpvOriginal == "NULL" ? null : cpvOriginal), EnvironmentVariableTarget.Process); // Restore original (which might be n/a) } } catch (Exception ex) { log.Warning("Failed to restore the COMPLUS_Version variable. " + ex.Message); // Proceed with running tests anyway } // Create TestEngine - this program is // conceptually part of the engine and // can access it's internals as needed. TestEngine engine = new TestEngine(); // TODO: We need to get this from somewhere. Argument? engine.InternalTraceLevel = InternalTraceLevel.Debug; // Custom Service Initialization //log.Info("Adding Services"); engine.Services.Add(new SettingsService(false)); engine.Services.Add(new ExtensionService()); engine.Services.Add(new ProjectService()); engine.Services.Add(new DomainManager()); engine.Services.Add(new InProcessTestRunnerFactory()); engine.Services.Add(new DriverService()); //engine.Services.Add( new TestLoader() ); // Initialize Services log.Info("Initializing Services"); engine.Initialize(); Channel = ServerUtilities.GetTcpChannel(); log.Info("Connecting to TestAgency at {0}", AgencyUrl); try { Agency = Activator.GetObject(typeof(ITestAgency), AgencyUrl) as ITestAgency; } catch (Exception ex) { log.Error("Unable to connect", ex); } if (Channel != null) { log.Info("Starting RemoteTestAgent"); RemoteTestAgent agent = new RemoteTestAgent(AgentId, Agency, engine.Services); try { if (agent.Start()) { log.Debug("Waiting for stopSignal"); agent.WaitForStop(); log.Debug("Stop signal received"); } else { log.Error("Failed to start RemoteTestAgent"); } } catch (Exception ex) { log.Error("Exception in RemoteTestAgent", ex); } //log.Info("Unregistering Channel"); try { ChannelServices.UnregisterChannel(Channel); } catch (Exception ex) { log.Error("ChannelServices.UnregisterChannel threw an exception", ex); } } log.Info("Agent process {0} exiting", Process.GetCurrentProcess().Id); return(0); }
public static int Main(string[] args) { AgentId = new Guid(args[0]); AgencyUrl = args[1]; #if DEBUG bool pause = false; #endif bool verbose = false; for (int i = 2; i < args.Length; i++) { switch (args[i]) { #if DEBUG case "--pause": pause = true; break; #endif case "--verbose": verbose = true; break; } } #if DEBUG if (pause) { System.Windows.Forms.MessageBox.Show("Attach debugger if desired, then press OK", "NUnit-Agent"); } #endif // Create SettingsService early so we know the trace level right at the start SettingsService settingsService = new SettingsService(false); //InternalTrace.Initialize("nunit-agent_%p.log", (InternalTraceLevel)settingsService.GetSetting("Options.InternalTraceLevel", InternalTraceLevel.Default)); //log.Info("Agent process {0} starting", Process.GetCurrentProcess().Id); //log.Info("Running under version {0}, {1}", // Environment.Version, // RuntimeFramework.CurrentFramework.DisplayName); if (verbose) { Console.WriteLine("Agent process {0} starting", Process.GetCurrentProcess().Id); Console.WriteLine("Running under version {0}, {1}", Environment.Version, RuntimeFramework.CurrentFramework.DisplayName); } // Create TestEngine - this program is // conceptually part of the engine and // can access it's internals as needed. TestEngine engine = new TestEngine(); // Custom Service Initialization //log.Info("Adding Services"); engine.Services.Add(settingsService); engine.Services.Add(new ExtensionService()); engine.Services.Add(new ProjectService()); engine.Services.Add(new DomainManager()); engine.Services.Add(new InProcessTestRunnerFactory()); engine.Services.Add(new DriverService()); //engine.Services.Add( new TestLoader() ); // Initialize Services //log.Info("Initializing Services"); engine.Initialize(); Channel = ServerUtilities.GetTcpChannel(); //log.Info("Connecting to TestAgency at {0}", AgencyUrl); try { Agency = Activator.GetObject(typeof(ITestAgency), AgencyUrl) as ITestAgency; } catch (Exception ex) { Console.WriteLine("Unable to connect\r\n{0}", ex); //log.Error("Unable to connect", ex); } if (Channel != null) { //log.Info("Starting RemoteTestAgent"); RemoteTestAgent agent = new RemoteTestAgent(AgentId, Agency, engine.Services); try { if (agent.Start()) { //log.Debug("Waiting for stopSignal"); agent.WaitForStop(); //log.Debug("Stop signal received"); } else { Console.WriteLine("Failed to start RemoteTestAgent"); } //log.Error("Failed to start RemoteTestAgent"); } catch (Exception ex) { //log.Error("Exception in RemoteTestAgent", ex); Console.WriteLine("Exception in RemoteTestAgent\r\n{0}", ex); } //log.Info("Unregistering Channel"); try { ChannelServices.UnregisterChannel(Channel); } catch (Exception ex) { //log.Error("ChannelServices.UnregisterChannel threw an exception", ex); Console.WriteLine("ChannelServices.UnregisterChannel threw an exception\r\n{0}", ex); } } if (verbose) { Console.WriteLine("Agent process {0} exiting", Process.GetCurrentProcess().Id); } //log.Info("Agent process {0} exiting", Process.GetCurrentProcess().Id); //InternalTrace.Close(); return(0); }
public static int Main(string[] args) { AgentId = new Guid(args[0]); AgencyUrl = args[1]; InternalTrace.Initialize("nunit-agent_%p.log"); log.Info("Agent process {0} starting", Process.GetCurrentProcess().Id); log.Info("Running under version {0}, {1}", Environment.Version, RuntimeFramework.CurrentFramework.DisplayName); // Add Standard Services to ServiceManager log.Info("Adding Services"); ServiceManager.Services.AddService(new SettingsService(false)); ServiceManager.Services.AddService(new ProjectService()); ServiceManager.Services.AddService(new DomainManager()); //ServiceManager.Services.AddService( new RecentFilesService() ); //ServiceManager.Services.AddService( new TestLoader() ); ServiceManager.Services.AddService(new AddinRegistry()); ServiceManager.Services.AddService(new AddinManager()); // Initialize Services log.Info("Initializing Services"); ServiceManager.Services.InitializeServices(); Channel = ServerUtilities.GetTcpChannel(); log.Info("Connecting to TestAgency at {0}", AgencyUrl); try { Agency = Activator.GetObject(typeof(TestAgency), AgencyUrl) as TestAgency; } catch (Exception ex) { log.Error("Unable to connect", ex); } if (Channel != null) { log.Info("Starting RemoteTestAgent"); RemoteTestAgent agent = new RemoteTestAgent(AgentId, Agency); try { if (agent.Start()) { log.Debug("Waiting for stopSignal"); agent.WaitForStop(); log.Debug("Stop signal received"); } else { log.Error("Failed to start RemoteTestAgent"); } } catch (Exception ex) { log.Error("Exception in RemoteTestAgent", ex); } log.Info("Unregistering Channel"); try { ChannelServices.UnregisterChannel(Channel); } catch (Exception ex) { log.Error("ChannelServices.UnregisterChannel threw an exception", ex); } } log.Info("Stopping all services"); ServiceManager.Services.StopAllServices(); log.Info("Agent process {0} exiting", Process.GetCurrentProcess().Id); InternalTrace.Close(); return(0); }
public static int Main(string[] args) { AgentId = new Guid(args[0]); AgencyUrl = args[1]; #if DEBUG if (args.Length > 2 && args[2] == "--pause") { System.Windows.Forms.MessageBox.Show("Attach debugger if desired, then press OK", "NUnit-Agent"); } #endif // Create SettingsService early so we know the trace level right at the start SettingsService settingsService = new SettingsService(false); InternalTrace.Initialize("nunit-agent_%p.log", (InternalTraceLevel)settingsService.GetSetting("Options.InternalTraceLevel", InternalTraceLevel.Default)); log.Info("Agent process {0} starting", Process.GetCurrentProcess().Id); log.Info("Running under version {0}, {1}", Environment.Version, RuntimeFramework.CurrentFramework.DisplayName); // Add Standard Services to ServiceManager log.Info("Adding Services"); ServiceManager.Services.AddService(settingsService); ServiceManager.Services.AddService(new ProjectService()); ServiceManager.Services.AddService(new DomainManager()); //ServiceManager.Services.AddService( new RecentFilesService() ); //ServiceManager.Services.AddService( new TestLoader() ); ServiceManager.Services.AddService(new AddinRegistry()); ServiceManager.Services.AddService(new AddinManager()); // Initialize Services log.Info("Initializing Services"); ServiceManager.Services.InitializeServices(); Channel = ServerUtilities.GetTcpChannel(); log.Info("Connecting to TestAgency at {0}", AgencyUrl); try { Agency = Activator.GetObject(typeof(TestAgency), AgencyUrl) as TestAgency; } catch (Exception ex) { log.Error("Unable to connect", ex); } if (Channel != null) { log.Info("Starting RemoteTestAgent"); RemoteTestAgent agent = new RemoteTestAgent(AgentId, Agency); try { if (agent.Start()) { log.Debug("Waiting for stopSignal"); agent.WaitForStop(); log.Debug("Stop signal received"); } else { log.Error("Failed to start RemoteTestAgent"); } } catch (Exception ex) { log.Error("Exception in RemoteTestAgent", ex); } log.Info("Unregistering Channel"); try { ChannelServices.UnregisterChannel(Channel); } catch (Exception ex) { log.Error("ChannelServices.UnregisterChannel threw an exception", ex); } } log.Info("Stopping all services"); ServiceManager.Services.StopAllServices(); log.Info("Agent process {0} exiting", Process.GetCurrentProcess().Id); InternalTrace.Close(); return(0); }