diff --git a/src/Platform/Microsoft.Testing.Extensions.CrashDump/CrashDumpEnvironmentVariableProvider.cs b/src/Platform/Microsoft.Testing.Extensions.CrashDump/CrashDumpEnvironmentVariableProvider.cs index 8ca9a523cb..2724e1434e 100644 --- a/src/Platform/Microsoft.Testing.Extensions.CrashDump/CrashDumpEnvironmentVariableProvider.cs +++ b/src/Platform/Microsoft.Testing.Extensions.CrashDump/CrashDumpEnvironmentVariableProvider.cs @@ -8,7 +8,6 @@ using Microsoft.Testing.Platform.Extensions.TestHostControllers; using Microsoft.Testing.Platform.Helpers; using Microsoft.Testing.Platform.Logging; -using Microsoft.Testing.Platform.Services; namespace Microsoft.Testing.Extensions.Diagnostics; @@ -24,7 +23,6 @@ internal sealed class CrashDumpEnvironmentVariableProvider : ITestHostEnvironmen private static readonly string[] Prefixes = ["DOTNET_", "COMPlus_"]; private readonly IConfiguration _configuration; private readonly ICommandLineOptions _commandLineOptions; - private readonly ITestApplicationModuleInfo _testApplicationModuleInfo; private readonly CrashDumpConfiguration _crashDumpGeneratorConfiguration; private readonly ILogger _logger; @@ -33,14 +31,12 @@ internal sealed class CrashDumpEnvironmentVariableProvider : ITestHostEnvironmen public CrashDumpEnvironmentVariableProvider( IConfiguration configuration, ICommandLineOptions commandLineOptions, - ITestApplicationModuleInfo testApplicationModuleInfo, CrashDumpConfiguration crashDumpGeneratorConfiguration, ILoggerFactory loggerFactory) { _logger = loggerFactory.CreateLogger(); _configuration = configuration; _commandLineOptions = commandLineOptions; - _testApplicationModuleInfo = testApplicationModuleInfo; _crashDumpGeneratorConfiguration = crashDumpGeneratorConfiguration; } @@ -112,9 +108,10 @@ public Task UpdateAsync(IEnvironmentVariables environmentVariables) environmentVariables.SetVariable(new($"{prefix}{MiniDumpTypeVariable}", miniDumpTypeValue, false, true)); } + string testAppName = Assembly.GetEntryAssembly()?.GetName().Name ?? throw ApplicationStateGuard.Unreachable(); _miniDumpNameValue = _commandLineOptions.TryGetOptionArgumentList(CrashDumpCommandLineOptions.CrashDumpFileNameOptionName, out string[]? dumpFileName) ? Path.Combine(_configuration.GetTestResultDirectory(), dumpFileName[0]) - : Path.Combine(_configuration.GetTestResultDirectory(), $"{Path.GetFileNameWithoutExtension(_testApplicationModuleInfo.GetCurrentTestApplicationFullPath())}_%p_crash.dmp"); + : Path.Combine(_configuration.GetTestResultDirectory(), $"{testAppName}_%p_crash.dmp"); _crashDumpGeneratorConfiguration.DumpFileNamePattern = _miniDumpNameValue; foreach (string prefix in Prefixes) { diff --git a/src/Platform/Microsoft.Testing.Extensions.CrashDump/CrashDumpExtensions.cs b/src/Platform/Microsoft.Testing.Extensions.CrashDump/CrashDumpExtensions.cs index 74b54d66b5..c5d4dcf211 100644 --- a/src/Platform/Microsoft.Testing.Extensions.CrashDump/CrashDumpExtensions.cs +++ b/src/Platform/Microsoft.Testing.Extensions.CrashDump/CrashDumpExtensions.cs @@ -32,7 +32,6 @@ public static void AddCrashDumpProvider(this ITestApplicationBuilder builder, bo => new CrashDumpEnvironmentVariableProvider( serviceProvider.GetConfiguration(), serviceProvider.GetCommandLineOptions(), - serviceProvider.GetTestApplicationModuleInfo(), crashDumpGeneratorConfiguration, serviceProvider.GetLoggerFactory()));