Exemplo n.º 1
0
 public ValueTask <TestExecutionResult> Execute(TestCase test, CancellationToken token = default(CancellationToken))
 {
     using (
         _tracer.MeasureTrace($"Executing {test.Name}",
                              executed => $"{test.Name} finished, took {executed.TotalSeconds:0.000}s"))
     {
         var testExecutor = _executors.GetOrAdd(test.GetType(), GenerateExecutor);
         token.ThrowIfCancellationRequested();
         return(testExecutor(test));
     }
 }
Exemplo n.º 2
0
 private Task DiscoverTestsAsync(IEnumerable <string> sources, ITestCaseDiscoverySink discoverySink)
 {
     return(Task.WhenAll(sources.Select(async source =>
     {
         using (_tracer.MeasureTrace($"Processing {source}", ts => $"Processing {source} took {ts}"))
         {
             try
             {
                 var asm = Assembly.Load(new AssemblyName(Path.GetFileNameWithoutExtension(source)));
                 await DiscoverAssembly(discoverySink, asm, source);
             }
             catch (FileLoadException flex)
             {
                 _tracer.Error($"Unable to load {source}: {flex.Message} 0x{flex.HResult:X8}");
             }
         }
     })));
 }