From 57db5937f8cb6ae1f7dd00b3a79d191021df0b89 Mon Sep 17 00:00:00 2001 From: Pranav K Date: Wed, 19 Aug 2020 11:23:02 -0700 Subject: [PATCH] Fixup test --- src/ProjectTemplates/Shared/AspNetProcess.cs | 15 ++++++++++++--- src/ProjectTemplates/Shared/Project.cs | 6 +++--- src/ProjectTemplates/test/MvcTemplateTest.cs | 4 ++-- 3 files changed, 17 insertions(+), 8 deletions(-) diff --git a/src/ProjectTemplates/Shared/AspNetProcess.cs b/src/ProjectTemplates/Shared/AspNetProcess.cs index afc34a3f30..13a9281c56 100644 --- a/src/ProjectTemplates/Shared/AspNetProcess.cs +++ b/src/ProjectTemplates/Shared/AspNetProcess.cs @@ -42,6 +42,7 @@ namespace Templates.Test.Helpers IDictionary environmentVariables, bool published, bool hasListeningUri = true, + bool usePublishedAppHost = false, ILogger logger = null) { _developmentCertificate = DevelopmentCertificate.Create(workingDirectory); @@ -64,9 +65,17 @@ namespace Templates.Test.Helpers string arguments; if (published) { - // When publishingu used the app host to run the app. This makes it easy to consistently run for regular and single-file publish - process = OperatingSystem.IsWindows() ? dllPath + ".exe" : dllPath; - arguments = null; + if (usePublishedAppHost) + { + // When publishingu used the app host to run the app. This makes it easy to consistently run for regular and single-file publish + process = Path.ChangeExtension(dllPath, OperatingSystem.IsWindows() ? ".exe" : null); + arguments = null; + } + else + { + process = DotNetMuxer.MuxerPathOrDefault(); + arguments = $"exec {dllPath}"; + } } else { diff --git a/src/ProjectTemplates/Shared/Project.cs b/src/ProjectTemplates/Shared/Project.cs index fbfeee80c4..e1ce4b2a41 100644 --- a/src/ProjectTemplates/Shared/Project.cs +++ b/src/ProjectTemplates/Shared/Project.cs @@ -179,7 +179,7 @@ namespace Templates.Test.Helpers return new AspNetProcess(Output, TemplateOutputDir, projectDll, environment, published: false, hasListeningUri: hasListeningUri, logger: logger); } - internal AspNetProcess StartPublishedProjectAsync(bool hasListeningUri = true) + internal AspNetProcess StartPublishedProjectAsync(bool hasListeningUri = true, bool usePublishedAppHost = false) { var environment = new Dictionary { @@ -190,8 +190,8 @@ namespace Templates.Test.Helpers ["ASPNETCORE_Logging__Console__FormatterOptions__IncludeScopes"] = "true", }; - var projectDll = Path.Combine(TemplatePublishDir, ProjectName); - return new AspNetProcess(Output, TemplatePublishDir, projectDll, environment, published: true, hasListeningUri: hasListeningUri); + var projectDll = Path.Combine(TemplatePublishDir, $"{ProjectName}.dll"); + return new AspNetProcess(Output, TemplatePublishDir, projectDll, environment, published: true, hasListeningUri: hasListeningUri, usePublishedAppHost: usePublishedAppHost); } internal async Task RunDotNetEfCreateMigrationAsync(string migrationName) diff --git a/src/ProjectTemplates/test/MvcTemplateTest.cs b/src/ProjectTemplates/test/MvcTemplateTest.cs index 9136d26717..ee33c7034e 100644 --- a/src/ProjectTemplates/test/MvcTemplateTest.cs +++ b/src/ProjectTemplates/test/MvcTemplateTest.cs @@ -243,7 +243,7 @@ namespace Templates.Test return; } - Project = await ProjectFactory.GetOrCreateProject("mvcindividualuld", Output); + Project = await ProjectFactory.GetOrCreateProject("mvcsinglefileexe", Output); Project.RuntimeIdentifier = runtimeIdentifer; var createResult = await Project.RunDotNetNewAsync("mvc", auth: "Individual", useLocalDB: true); @@ -286,7 +286,7 @@ namespace Templates.Test }, }; - using var aspNetProcess = Project.StartPublishedProjectAsync(); + using var aspNetProcess = Project.StartPublishedProjectAsync(usePublishedAppHost: true); Assert.False( aspNetProcess.Process.HasExited, ErrorMessages.GetFailedProcessMessageOrEmpty("Run published project", Project, aspNetProcess.Process));