void SetupRemoteTestSinks(Stream stream) { var binaryWriter = new BinaryWriter(stream); _testDiscoverySink = new RemoteTestDiscoverySink(binaryWriter); _testExecutionSink = new RemoteTestExecutionSink(binaryWriter); }
private void UseTestSinksWithSockets(NetworkStream networkStream) { var binaryWriter = new BinaryWriter(networkStream); _testDiscoverySink = new BinaryWriterTestDiscoverySink(binaryWriter); _testExecutionSink = new BinaryWriterTestExecutionSink(binaryWriter); }
public Discoverer(TestRequest request, IMspecController controller, ITestDiscoverySink sink, RemoteTaskDepot depot, CancellationToken token) { this.request = request; this.controller = controller; this.sink = sink; this.depot = depot; this.token = token; }
public TestExploreListener(ITestDiscoverySink sink, CommandLineOptions options, string assemblyPath) : base(options, assemblyPath) { _sink = sink; }
public VisualStudioAssemblyScanner(IServiceProvider services) { provider = (ISourceInformationProvider) services.GetService(typeof (ISourceInformationProvider)); sink = (ITestDiscoverySink) services.GetService(typeof (ITestDiscoverySink)); converter = new VisualStudioTestConverter(); }
private void UseTestSinksWithStandardOutputStreams() { testDiscoverySink = new StreamingTestDiscoverySink(Console.OpenStandardOutput()); testExecutionSink = new StreamingTestExecutionSink(Console.OpenStandardOutput()); }
void SetupConsoleTestSinks() { _testDiscoverySink = new StreamingTestDiscoverySink(Console.OpenStandardOutput()); _testExecutionSink = new StreamingTestExecutionSink(Console.OpenStandardOutput()); }
public override void SetUp() { base.SetUp(); _testSink = new RemoteTestDiscoverySink(BinaryWriter); }
public DiscoveryVisitor(ITestDiscoverySink sink) { _sink = sink; }
void ExecuteAssembly(object consoleLock, string assemblyName, CommandLine options) { if (cancel) { return; } try { var name = new AssemblyName(assemblyName); var assembly = Reflector.Wrap(Assembly.Load(name)); var framework = GetFramework(assembly); var discoverer = framework.GetDiscoverer(assembly); var executor = framework.GetExecutor(name); var discoveryVisitor = new TestDiscoveryVisitor(); discoverer.Find(includeSourceInformation: true, messageSink: discoveryVisitor, options: new TestFrameworkOptions()); discoveryVisitor.Finished.WaitOne(); if (options.List) { ITestDiscoverySink discoverySink = null; if (options.DesignTime) { discoverySink = (ITestDiscoverySink)_services.GetService(typeof(ITestDiscoverySink)); } lock (consoleLock) { foreach (var test in discoveryVisitor.TestCases) { if (discoverySink != null) { discoverySink.SendTest(test.ToDesignTimeTest()); } Console.WriteLine(test.DisplayName); } } return; } var executionOptions = new XunitExecutionOptions { DisableParallelization = !options.ParallelizeTestCollections, MaxParallelThreads = options.MaxParallelThreads }; var resultsVisitor = CreateVisitor(consoleLock, options); var tests = discoveryVisitor.TestCases; if (options.Tests != null && options.Tests.Count > 0) { tests = tests.Where(t => IsTestNameMatch(t, options.Tests)).ToList(); } executor.RunTests(tests, resultsVisitor, executionOptions); resultsVisitor.Finished.WaitOne(); // When executing under TeamCity, we record the results in a format TeamCity understands, but do not return an error code. // This causes TeamCity to treat the step as completed, but the build as failed. We'll work around this by special casing the TeamCityVisitor var teamCityVisitor = resultsVisitor as TeamCityVisitor; if (teamCityVisitor != null) { failed = teamCityVisitor.Failed > 0; } } catch (Exception ex) { Console.WriteLine("{0}: {1}", ex.GetType().FullName, ex.Message); Console.WriteLine(ex); failed = true; } }