Skip to content

Commit

Permalink
Clean up VsTestRunner.RunTestsInAssembly
Browse files Browse the repository at this point in the history
  • Loading branch information
bradwilson committed Sep 13, 2024
1 parent 21f8f54 commit a5a6808
Showing 1 changed file with 14 additions and 13 deletions.
27 changes: 14 additions & 13 deletions src/xunit.runner.visualstudio/VsTestRunner.cs
Original file line number Diff line number Diff line change
Expand Up @@ -496,14 +496,15 @@ async Task RunTestsInAssembly(
if (assemblyFileName is null)
return;

using var _ = AssemblyHelper.SubscribeResolveForAssembly(assemblyFileName, new DiagnosticMessageSink(logger, showDiagnostics: runInfo.Assembly.Configuration.DiagnosticMessagesOrDefault, showInternalDiagnostics: runInfo.Assembly.Configuration.DiagnosticMessagesOrDefault));
var configuration = runInfo.Assembly.Configuration;

using var _ = AssemblyHelper.SubscribeResolveForAssembly(assemblyFileName, new DiagnosticMessageSink(logger, showDiagnostics: configuration.DiagnosticMessagesOrDefault, showInternalDiagnostics: configuration.DiagnosticMessagesOrDefault));

assemblyDisplayName = Path.GetFileNameWithoutExtension(assemblyFileName);
var configuration = runInfo.Assembly.Configuration;
var longRunningSeconds = configuration.LongRunningTestSecondsOrDefault;

var diagnosticSink = new DiagnosticMessageSink(logger, assemblyDisplayName, runInfo.Assembly.Configuration.DiagnosticMessagesOrDefault, runInfo.Assembly.Configuration.InternalDiagnosticMessagesOrDefault);
var discoveryOptions = TestFrameworkOptions.ForDiscovery(runInfo.Assembly.Configuration);
var diagnosticSink = new DiagnosticMessageSink(logger, assemblyDisplayName, configuration.DiagnosticMessagesOrDefault, configuration.InternalDiagnosticMessagesOrDefault);
var discoveryOptions = TestFrameworkOptions.ForDiscovery(configuration);

var frameworkHandle2 = frameworkHandle as IFrameworkHandle2;
var testProcessLauncher = default(ITestProcessLauncher);
Expand All @@ -517,7 +518,7 @@ async Task RunTestsInAssembly(

var testCasesMap = new Dictionary<string, TestCase>();
var testCaseSerializations = new List<string>();
if (runInfo.TestCases is null || !runInfo.TestCases.Any())
if (runInfo.TestCases is null || runInfo.TestCases.Count == 0)
{
// Discover tests
var assemblyDiscoveredInfo = default(AssemblyDiscoveredInfo);
Expand All @@ -528,7 +529,7 @@ await DiscoverTestsInAssembly(
(source, discoverer, discoveryOptions) => new VsExecutionDiscoverySink(() => cancelled),
(source, discoverer, discoveryOptions, visitor) =>
{
if (discoveryOptions.GetInternalDiagnosticMessagesOrDefault())
if (configuration.InternalDiagnosticMessagesOrDefault)
foreach (var testCase in visitor.TestCases)
logger.LogWithSource(assemblyFileName, "Discovered [execution] test case '{0}' (ID = '{1}')", testCase.TestCaseDisplayName, testCase.TestCaseUniqueID);

Expand All @@ -538,10 +539,10 @@ await DiscoverTestsInAssembly(
discoveryOptions
);

if (assemblyDiscoveredInfo is null || assemblyDiscoveredInfo.DiscoveredTestCases is null || !assemblyDiscoveredInfo.DiscoveredTestCases.Any())
if (assemblyDiscoveredInfo is null || assemblyDiscoveredInfo.DiscoveredTestCases is null || assemblyDiscoveredInfo.DiscoveredTestCases.Count == 0)
{
if (configuration.InternalDiagnosticMessagesOrDefault)
logger.LogWarning("Skipping '{0}' since no tests were found during discovery [execution].", assemblyFileName);
logger.LogWarning("Skipping '{0}': no tests were found during pre-execution discovery", assemblyFileName);

return;
}
Expand Down Expand Up @@ -572,7 +573,7 @@ await DiscoverTestsInAssembly(
var uniqueID = testCase.GetPropertyValue<string>(TestCaseUniqueIDProperty, null);
var serialization = testCase.GetPropertyValue<string>(TestCaseSerializationProperty, null);

if (discoveryOptions.GetInternalDiagnosticMessagesOrDefault())
if (configuration.InternalDiagnosticMessagesOrDefault)
logger.LogWithSource(assemblyFileName, "Selective execution requested for test case ID '{0}' (serialization = '{1}')", uniqueID ?? "(null)", serialization ?? "(null)");

if (uniqueID is null)
Expand All @@ -590,8 +591,8 @@ await DiscoverTestsInAssembly(
}

// Execute tests
var executionOptions = TestFrameworkOptions.ForExecution(runInfo.Assembly.Configuration);
if (!runInfo.Assembly.Configuration.ParallelizeTestCollectionsOrDefault)
var executionOptions = TestFrameworkOptions.ForExecution(configuration);
if (!configuration.ParallelizeTestCollectionsOrDefault)
{
executionOptions.SetSynchronousMessageReporting(true);
executionOptions.SetDisableParallelization(true);
Expand All @@ -605,9 +606,9 @@ await DiscoverTestsInAssembly(
LongRunningTestTime = TimeSpan.FromSeconds(longRunningSeconds),
};

var appDomain = runInfo.Assembly.Configuration.AppDomain ?? AppDomainDefaultBehavior;
var appDomain = configuration.AppDomain ?? AppDomainDefaultBehavior;
var appDomainOption = controller.CanUseAppDomains && appDomain != AppDomainSupport.Denied ? AppDomainOption.Enabled : AppDomainOption.Disabled;
bool shadowCopy = runInfo.Assembly.Configuration.ShadowCopyOrDefault;
bool shadowCopy = configuration.ShadowCopyOrDefault;
var resultsSink = new ExecutionSink(runInfo.Assembly, discoveryOptions, executionOptions, appDomainOption, shadowCopy, vsExecutionSink, executionSinkOptions);

var frontControllerSettings = new FrontControllerRunSettings(executionOptions, testCaseSerializations);
Expand Down

0 comments on commit a5a6808

Please sign in to comment.