From 5ae4d091f290a9776863db5e8202b75eb844d98a Mon Sep 17 00:00:00 2001 From: Mateo Torres Ruiz Date: Tue, 29 Sep 2020 16:20:14 -0700 Subject: [PATCH 1/6] Add single-file app's dir to native search directories --- src/installer/corehost/cli/bundle/header.h | 5 ++++- src/installer/corehost/cli/bundle/info.h | 1 + .../corehost/cli/hostpolicy/deps_resolver.cpp | 13 +++++++++++++ .../Microsoft.NET.HostModel/Bundle/Bundler.cs | 2 +- .../Microsoft.NET.HostModel/Bundle/Manifest.cs | 8 +++++--- 5 files changed, 24 insertions(+), 5 deletions(-) diff --git a/src/installer/corehost/cli/bundle/header.h b/src/installer/corehost/cli/bundle/header.h index f785203f38a0c2..142bcd352e75bf 100644 --- a/src/installer/corehost/cli/bundle/header.h +++ b/src/installer/corehost/cli/bundle/header.h @@ -41,7 +41,8 @@ namespace bundle enum header_flags_t : uint64_t { none = 0, - netcoreapp3_compat_mode = 1 + netcoreapp3_compat_mode = 1, + needs_native_libraries_extraction = 2, }; struct location_t @@ -66,6 +67,7 @@ namespace bundle header_flags_t flags; bool is_netcoreapp3_compat_mode() const { return (flags & header_flags_t::netcoreapp3_compat_mode) != 0; } + bool needs_native_libraries_extraction() const { return (flags & header_flags_t::needs_native_libraries_extraction) != 0; } }; #pragma pack(pop) @@ -85,6 +87,7 @@ namespace bundle const location_t& deps_json_location() const { return m_v2_header.deps_json_location; } const location_t& runtimeconfig_json_location() const { return m_v2_header.runtimeconfig_json_location; } + bool needs_native_libraries_extraction() const { return m_v2_header.needs_native_libraries_extraction(); } bool is_netcoreapp3_compat_mode() const { return m_v2_header.is_netcoreapp3_compat_mode(); } static const uint32_t major_version = 2; diff --git a/src/installer/corehost/cli/bundle/info.h b/src/installer/corehost/cli/bundle/info.h index 6252b5be339e22..75268409d66e29 100644 --- a/src/installer/corehost/cli/bundle/info.h +++ b/src/installer/corehost/cli/bundle/info.h @@ -60,6 +60,7 @@ namespace bundle static StatusCode process_bundle(const pal::char_t* bundle_path, const pal::char_t *app_path, int64_t header_offset); static bool is_single_file_bundle() { return the_app != nullptr; } + bool needs_native_libraries_extraction() const { return m_header.needs_native_libraries_extraction(); } bool is_netcoreapp3_compat_mode() const { return m_header.is_netcoreapp3_compat_mode(); } const pal::string_t& base_path() const { return m_base_path; } int64_t header_offset() const { return m_header_offset; } diff --git a/src/installer/corehost/cli/hostpolicy/deps_resolver.cpp b/src/installer/corehost/cli/hostpolicy/deps_resolver.cpp index d406497e7be1b3..768fb5ec7dec00 100644 --- a/src/installer/corehost/cli/hostpolicy/deps_resolver.cpp +++ b/src/installer/corehost/cli/hostpolicy/deps_resolver.cpp @@ -877,6 +877,19 @@ bool deps_resolver_t::resolve_probe_dirs( } } + // If this is a single-file app, add the app's dir to the native search directories. + if (bundle::info_t::is_single_file_bundle() && !is_resources) + { + auto bundle = bundle::runner_t::app(); + add_unique_path(asset_type, bundle->base_path(), &items, output, &non_serviced, core_servicing); + + // If native components are self-extracted, add the extraction path too. + if (bundle->needs_native_libraries_extraction()) + { + add_unique_path(asset_type, bundle->extraction_path(), &items, output, &non_serviced, core_servicing); + } + } + output->append(non_serviced); return true; diff --git a/src/installer/managed/Microsoft.NET.HostModel/Bundle/Bundler.cs b/src/installer/managed/Microsoft.NET.HostModel/Bundle/Bundler.cs index 6e1d202e1c67eb..7fe5087cb5f63f 100644 --- a/src/installer/managed/Microsoft.NET.HostModel/Bundle/Bundler.cs +++ b/src/installer/managed/Microsoft.NET.HostModel/Bundle/Bundler.cs @@ -49,7 +49,7 @@ public Bundler(string hostName, RuntimeConfigJson = appAssemblyName + ".runtimeconfig.json"; RuntimeConfigDevJson = appAssemblyName + ".runtimeconfig.dev.json"; - BundleManifest = new Manifest(Target.BundleVersion, netcoreapp3CompatMode: options.HasFlag(BundleOptions.BundleAllContent)); + BundleManifest = new Manifest(Target.BundleVersion, options); Options = Target.DefaultOptions | options; } diff --git a/src/installer/managed/Microsoft.NET.HostModel/Bundle/Manifest.cs b/src/installer/managed/Microsoft.NET.HostModel/Bundle/Manifest.cs index 0beddb2b8cacc9..30eb27e27bf0e0 100644 --- a/src/installer/managed/Microsoft.NET.HostModel/Bundle/Manifest.cs +++ b/src/installer/managed/Microsoft.NET.HostModel/Bundle/Manifest.cs @@ -58,7 +58,8 @@ public class Manifest private enum HeaderFlags : ulong { None = 0, - NetcoreApp3CompatMode = 1 + NetcoreApp3CompatMode = 1, + NeedsNativeLibrariesExtraction = 2, } // Bundle ID is a string that is used to uniquely @@ -81,12 +82,13 @@ private enum HeaderFlags : ulong public List Files; - public Manifest(uint desiredVersion, bool netcoreapp3CompatMode = false) + public Manifest(uint desiredVersion, in BundleOptions options) { DesiredMajorVersion = desiredVersion; Files = new List(); BundleID = Path.GetRandomFileName(); - Flags = (netcoreapp3CompatMode) ? HeaderFlags.NetcoreApp3CompatMode: HeaderFlags.None; + Flags = options.HasFlag(BundleOptions.BundleAllContent) ? HeaderFlags.NetcoreApp3CompatMode : + options.HasFlag(BundleOptions.BundleNativeBinaries) ? HeaderFlags.NeedsNativeLibrariesExtraction : HeaderFlags.None; } public FileEntry AddEntry(FileType type, string relativePath, long offset, long size) From dacae85608ab833d2fc7565b71d6b6a43662dd5b Mon Sep 17 00:00:00 2001 From: Mateo Torres Ruiz Date: Wed, 30 Sep 2020 15:48:10 -0700 Subject: [PATCH 2/6] PR feedback --- src/installer/corehost/cli/bundle/info.h | 1 - .../corehost/cli/hostpolicy/deps_resolver.cpp | 4 +- .../SingleFileApiTests/Program.cs | 5 +++ .../SingleFileApiTests.cs | 40 ++++++++++++++++++- 4 files changed, 46 insertions(+), 4 deletions(-) diff --git a/src/installer/corehost/cli/bundle/info.h b/src/installer/corehost/cli/bundle/info.h index 75268409d66e29..6252b5be339e22 100644 --- a/src/installer/corehost/cli/bundle/info.h +++ b/src/installer/corehost/cli/bundle/info.h @@ -60,7 +60,6 @@ namespace bundle static StatusCode process_bundle(const pal::char_t* bundle_path, const pal::char_t *app_path, int64_t header_offset); static bool is_single_file_bundle() { return the_app != nullptr; } - bool needs_native_libraries_extraction() const { return m_header.needs_native_libraries_extraction(); } bool is_netcoreapp3_compat_mode() const { return m_header.is_netcoreapp3_compat_mode(); } const pal::string_t& base_path() const { return m_base_path; } int64_t header_offset() const { return m_header_offset; } diff --git a/src/installer/corehost/cli/hostpolicy/deps_resolver.cpp b/src/installer/corehost/cli/hostpolicy/deps_resolver.cpp index 768fb5ec7dec00..31140b19c0daf8 100644 --- a/src/installer/corehost/cli/hostpolicy/deps_resolver.cpp +++ b/src/installer/corehost/cli/hostpolicy/deps_resolver.cpp @@ -883,8 +883,8 @@ bool deps_resolver_t::resolve_probe_dirs( auto bundle = bundle::runner_t::app(); add_unique_path(asset_type, bundle->base_path(), &items, output, &non_serviced, core_servicing); - // If native components are self-extracted, add the extraction path too. - if (bundle->needs_native_libraries_extraction()) + // Add the extraction path if it exists. + if (pal::directory_exists(bundle->extraction_path())) { add_unique_path(asset_type, bundle->extraction_path(), &items, output, &non_serviced, core_servicing); } diff --git a/src/installer/tests/Assets/TestProjects/SingleFileApiTests/Program.cs b/src/installer/tests/Assets/TestProjects/SingleFileApiTests/Program.cs index 56428b14cacad4..8fc8f1228aed2b 100644 --- a/src/installer/tests/Assets/TestProjects/SingleFileApiTests/Program.cs +++ b/src/installer/tests/Assets/TestProjects/SingleFileApiTests/Program.cs @@ -71,6 +71,11 @@ public static int Main(string[] args) Console.WriteLine("AppContext.BaseDirectory: " + AppContext.BaseDirectory); break; + case "native_search_dirs": + var native_search_dirs = AppContext.GetData("NATIVE_DLL_SEARCH_DIRECTORIES"); + Console.WriteLine("NATIVE_DLL_SEARCH_DIRECTORIES: " + native_search_dirs); + break; + default: Console.WriteLine("test failure"); return -1; diff --git a/src/installer/tests/Microsoft.NET.HostModel.Tests/AppHost.Bundle.Tests/SingleFileApiTests.cs b/src/installer/tests/Microsoft.NET.HostModel.Tests/AppHost.Bundle.Tests/SingleFileApiTests.cs index 37f8b0fff088f0..7146a5a3239bbd 100644 --- a/src/installer/tests/Microsoft.NET.HostModel.Tests/AppHost.Bundle.Tests/SingleFileApiTests.cs +++ b/src/installer/tests/Microsoft.NET.HostModel.Tests/AppHost.Bundle.Tests/SingleFileApiTests.cs @@ -85,13 +85,51 @@ public void GetCommandLineArgs_0_Non_Bundled_App() .HaveStdOutContaining(appPath); } + [Fact] + public void AppContext_Deps_Files_Bundled_Self_Contained() + { + var fixture = sharedTestState.TestFixture.Copy(); + var singleFile = BundleHelper.BundleApp(fixture); + + Command.Create(singleFile, "appcontext") + .CaptureStdErr() + .CaptureStdOut() + .Execute() + .Should() + .Pass() + .And + .NotHaveStdOutContaining("SingleFileApiTests.deps.json") + .And + .NotHaveStdOutContaining("Microsoft.NETCore.App.deps.json"); + } + + [Fact] + public void AppContext_Native_Search_Dirs_Contains_Bundle_And_Extraction_Dirs() + { + var fixture = sharedTestState.TestFixture.Copy(); + Bundler bundler = BundleHelper.BundleApp(fixture, out string singleFile, BundleOptions.BundleNativeBinaries); + string extractionDir = BundleHelper.GetExtractionDir(fixture, bundler).FullName; + string bundleDir = BundleHelper.GetBundleDir(fixture).FullName; + + Command.Create(singleFile, "native_search_dirs") + .CaptureStdErr() + .CaptureStdOut() + .Execute() + .Should().Pass() + .And.HaveStdOutContaining(extractionDir) + .And.HaveStdOutContaining(bundleDir); + } + public class SharedTestState : SharedTestStateBase, IDisposable { public TestProjectFixture TestFixture { get; set; } public SharedTestState() { - TestFixture = PreparePublishedSelfContainedTestProject("SingleFileApiTests"); + // We include mockcoreclr in our project to test native binaries extraction. + string mockCoreClrPath = Path.Combine(RepoDirectories.Artifacts, "corehost_test", + RuntimeInformationExtensions.GetSharedLibraryFileNameForCurrentPlatform("mockcoreclr")); + TestFixture = PreparePublishedSelfContainedTestProject("SingleFileApiTests", $"/p:AddFile={mockCoreClrPath}"); } public void Dispose() From a61f1aa8d190369aaee5522c6d544d6bc6d6846b Mon Sep 17 00:00:00 2001 From: Mateo Torres Ruiz Date: Wed, 30 Sep 2020 16:11:13 -0700 Subject: [PATCH 3/6] Add test case for non-extracting single-file --- .../SingleFileApiTests.cs | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/src/installer/tests/Microsoft.NET.HostModel.Tests/AppHost.Bundle.Tests/SingleFileApiTests.cs b/src/installer/tests/Microsoft.NET.HostModel.Tests/AppHost.Bundle.Tests/SingleFileApiTests.cs index 7146a5a3239bbd..dcc41e18049cf0 100644 --- a/src/installer/tests/Microsoft.NET.HostModel.Tests/AppHost.Bundle.Tests/SingleFileApiTests.cs +++ b/src/installer/tests/Microsoft.NET.HostModel.Tests/AppHost.Bundle.Tests/SingleFileApiTests.cs @@ -103,6 +103,25 @@ public void AppContext_Deps_Files_Bundled_Self_Contained() .NotHaveStdOutContaining("Microsoft.NETCore.App.deps.json"); } + [Fact] + public void AppContext_Native_Search_Dirs_Contains_Bundle_Dir() + { + var fixture = sharedTestState.TestFixture.Copy(); + Bundler bundler = BundleHelper.BundleApp(fixture, out string singleFile); + string extractionDir = BundleHelper.GetExtractionDir(fixture, bundler).FullName; + string bundleDir = BundleHelper.GetBundleDir(fixture).FullName; + + // If we don't extract anything to disk, the extraction dir shouldn't + // appear in the native search dirs. + Command.Create(singleFile, "native_search_dirs") + .CaptureStdErr() + .CaptureStdOut() + .Execute() + .Should().Pass() + .And.HaveStdOutContaining(bundleDir) + .And.NotHaveStdOutContaining(extractionDir); + } + [Fact] public void AppContext_Native_Search_Dirs_Contains_Bundle_And_Extraction_Dirs() { From 951a0aab17107830b86c1edcb4ede56c1e5df8a7 Mon Sep 17 00:00:00 2001 From: Mateo Torres Ruiz Date: Wed, 30 Sep 2020 22:46:41 -0700 Subject: [PATCH 4/6] Include mockcoreclr in the bundle --- .../SingleFileApiTests/SingleFileApiTests.csproj | 8 +++++++- .../AppHost.Bundle.Tests/BundleTestBase.cs | 5 +++-- .../AppHost.Bundle.Tests/SingleFileApiTests.cs | 4 ++-- src/installer/tests/TestUtils/TestProjectFixture.cs | 8 +++++++- 4 files changed, 19 insertions(+), 6 deletions(-) diff --git a/src/installer/tests/Assets/TestProjects/SingleFileApiTests/SingleFileApiTests.csproj b/src/installer/tests/Assets/TestProjects/SingleFileApiTests/SingleFileApiTests.csproj index 9052b4e7ce36f7..f3c2207fd24f26 100644 --- a/src/installer/tests/Assets/TestProjects/SingleFileApiTests/SingleFileApiTests.csproj +++ b/src/installer/tests/Assets/TestProjects/SingleFileApiTests/SingleFileApiTests.csproj @@ -7,4 +7,10 @@ $(MNAVersion) - \ No newline at end of file + + + PreserveNewest + + + + diff --git a/src/installer/tests/Microsoft.NET.HostModel.Tests/AppHost.Bundle.Tests/BundleTestBase.cs b/src/installer/tests/Microsoft.NET.HostModel.Tests/AppHost.Bundle.Tests/BundleTestBase.cs index e01d71d8dcb352..ab256e36bec25a 100644 --- a/src/installer/tests/Microsoft.NET.HostModel.Tests/AppHost.Bundle.Tests/BundleTestBase.cs +++ b/src/installer/tests/Microsoft.NET.HostModel.Tests/AppHost.Bundle.Tests/BundleTestBase.cs @@ -59,13 +59,14 @@ public SharedTestStateBase() RepoDirectories = new RepoDirectoriesProvider(); } - public TestProjectFixture PreparePublishedSelfContainedTestProject(string projectName) + public TestProjectFixture PreparePublishedSelfContainedTestProject(string projectName, params string[] extraArgs) { var testFixture = new TestProjectFixture(projectName, RepoDirectories); testFixture .EnsureRestoredForRid(testFixture.CurrentRid, RepoDirectories.CorehostPackages) .PublishProject(runtime: testFixture.CurrentRid, - outputDirectory: BundleHelper.GetPublishPath(testFixture)); + outputDirectory: BundleHelper.GetPublishPath(testFixture), + extraArgs: extraArgs); return testFixture; } diff --git a/src/installer/tests/Microsoft.NET.HostModel.Tests/AppHost.Bundle.Tests/SingleFileApiTests.cs b/src/installer/tests/Microsoft.NET.HostModel.Tests/AppHost.Bundle.Tests/SingleFileApiTests.cs index dcc41e18049cf0..1127923f644cc5 100644 --- a/src/installer/tests/Microsoft.NET.HostModel.Tests/AppHost.Bundle.Tests/SingleFileApiTests.cs +++ b/src/installer/tests/Microsoft.NET.HostModel.Tests/AppHost.Bundle.Tests/SingleFileApiTests.cs @@ -108,7 +108,7 @@ public void AppContext_Native_Search_Dirs_Contains_Bundle_Dir() { var fixture = sharedTestState.TestFixture.Copy(); Bundler bundler = BundleHelper.BundleApp(fixture, out string singleFile); - string extractionDir = BundleHelper.GetExtractionDir(fixture, bundler).FullName; + string extractionDir = BundleHelper.GetExtractionDir(fixture, bundler).Name; string bundleDir = BundleHelper.GetBundleDir(fixture).FullName; // If we don't extract anything to disk, the extraction dir shouldn't @@ -127,7 +127,7 @@ public void AppContext_Native_Search_Dirs_Contains_Bundle_And_Extraction_Dirs() { var fixture = sharedTestState.TestFixture.Copy(); Bundler bundler = BundleHelper.BundleApp(fixture, out string singleFile, BundleOptions.BundleNativeBinaries); - string extractionDir = BundleHelper.GetExtractionDir(fixture, bundler).FullName; + string extractionDir = BundleHelper.GetExtractionDir(fixture, bundler).Name; string bundleDir = BundleHelper.GetBundleDir(fixture).FullName; Command.Create(singleFile, "native_search_dirs") diff --git a/src/installer/tests/TestUtils/TestProjectFixture.cs b/src/installer/tests/TestUtils/TestProjectFixture.cs index 25574f3a2936db..8f1c04f83467bb 100644 --- a/src/installer/tests/TestUtils/TestProjectFixture.cs +++ b/src/installer/tests/TestUtils/TestProjectFixture.cs @@ -257,7 +257,8 @@ public TestProjectFixture PublishProject( bool? selfContained = null, string outputDirectory = null, bool singleFile = false, - bool restore = false) + bool restore = false, + params string[] extraArgs) { dotnet = dotnet ?? SdkDotnet; outputDirectory = outputDirectory ?? TestProject.OutputDirectory; @@ -308,6 +309,11 @@ public TestProjectFixture PublishProject( publishArgs.Add($"/p:TestTargetRid={RepoDirProvider.TargetRID}"); publishArgs.Add($"/p:MNAVersion={RepoDirProvider.MicrosoftNETCoreAppVersion}"); + foreach (var arg in extraArgs) + { + publishArgs.Add(arg); + } + dotnet.Publish(publishArgs.ToArray()) .WorkingDirectory(TestProject.ProjectDirectory) .Environment("NUGET_PACKAGES", RepoDirProvider.NugetPackages) From 8e0e5b55d411c15fa951dec48aa2db2884436593 Mon Sep 17 00:00:00 2001 From: Mateo Torres Ruiz Date: Thu, 1 Oct 2020 10:21:53 -0700 Subject: [PATCH 5/6] Revert changes --- src/installer/corehost/cli/bundle/header.h | 5 +---- .../managed/Microsoft.NET.HostModel/Bundle/Bundler.cs | 2 +- .../managed/Microsoft.NET.HostModel/Bundle/Manifest.cs | 8 +++----- 3 files changed, 5 insertions(+), 10 deletions(-) diff --git a/src/installer/corehost/cli/bundle/header.h b/src/installer/corehost/cli/bundle/header.h index 142bcd352e75bf..f785203f38a0c2 100644 --- a/src/installer/corehost/cli/bundle/header.h +++ b/src/installer/corehost/cli/bundle/header.h @@ -41,8 +41,7 @@ namespace bundle enum header_flags_t : uint64_t { none = 0, - netcoreapp3_compat_mode = 1, - needs_native_libraries_extraction = 2, + netcoreapp3_compat_mode = 1 }; struct location_t @@ -67,7 +66,6 @@ namespace bundle header_flags_t flags; bool is_netcoreapp3_compat_mode() const { return (flags & header_flags_t::netcoreapp3_compat_mode) != 0; } - bool needs_native_libraries_extraction() const { return (flags & header_flags_t::needs_native_libraries_extraction) != 0; } }; #pragma pack(pop) @@ -87,7 +85,6 @@ namespace bundle const location_t& deps_json_location() const { return m_v2_header.deps_json_location; } const location_t& runtimeconfig_json_location() const { return m_v2_header.runtimeconfig_json_location; } - bool needs_native_libraries_extraction() const { return m_v2_header.needs_native_libraries_extraction(); } bool is_netcoreapp3_compat_mode() const { return m_v2_header.is_netcoreapp3_compat_mode(); } static const uint32_t major_version = 2; diff --git a/src/installer/managed/Microsoft.NET.HostModel/Bundle/Bundler.cs b/src/installer/managed/Microsoft.NET.HostModel/Bundle/Bundler.cs index 7fe5087cb5f63f..6e1d202e1c67eb 100644 --- a/src/installer/managed/Microsoft.NET.HostModel/Bundle/Bundler.cs +++ b/src/installer/managed/Microsoft.NET.HostModel/Bundle/Bundler.cs @@ -49,7 +49,7 @@ public Bundler(string hostName, RuntimeConfigJson = appAssemblyName + ".runtimeconfig.json"; RuntimeConfigDevJson = appAssemblyName + ".runtimeconfig.dev.json"; - BundleManifest = new Manifest(Target.BundleVersion, options); + BundleManifest = new Manifest(Target.BundleVersion, netcoreapp3CompatMode: options.HasFlag(BundleOptions.BundleAllContent)); Options = Target.DefaultOptions | options; } diff --git a/src/installer/managed/Microsoft.NET.HostModel/Bundle/Manifest.cs b/src/installer/managed/Microsoft.NET.HostModel/Bundle/Manifest.cs index 30eb27e27bf0e0..0beddb2b8cacc9 100644 --- a/src/installer/managed/Microsoft.NET.HostModel/Bundle/Manifest.cs +++ b/src/installer/managed/Microsoft.NET.HostModel/Bundle/Manifest.cs @@ -58,8 +58,7 @@ public class Manifest private enum HeaderFlags : ulong { None = 0, - NetcoreApp3CompatMode = 1, - NeedsNativeLibrariesExtraction = 2, + NetcoreApp3CompatMode = 1 } // Bundle ID is a string that is used to uniquely @@ -82,13 +81,12 @@ private enum HeaderFlags : ulong public List Files; - public Manifest(uint desiredVersion, in BundleOptions options) + public Manifest(uint desiredVersion, bool netcoreapp3CompatMode = false) { DesiredMajorVersion = desiredVersion; Files = new List(); BundleID = Path.GetRandomFileName(); - Flags = options.HasFlag(BundleOptions.BundleAllContent) ? HeaderFlags.NetcoreApp3CompatMode : - options.HasFlag(BundleOptions.BundleNativeBinaries) ? HeaderFlags.NeedsNativeLibrariesExtraction : HeaderFlags.None; + Flags = (netcoreapp3CompatMode) ? HeaderFlags.NetcoreApp3CompatMode: HeaderFlags.None; } public FileEntry AddEntry(FileType type, string relativePath, long offset, long size) From 390e43b3d9867243c0ad6840065fb9045a75d5e7 Mon Sep 17 00:00:00 2001 From: Mateo Torres Ruiz Date: Thu, 1 Oct 2020 11:03:31 -0700 Subject: [PATCH 6/6] Remove repeated test --- .../AppHost.Bundle.Tests/SingleFileApiTests.cs | 18 ------------------ 1 file changed, 18 deletions(-) diff --git a/src/installer/tests/Microsoft.NET.HostModel.Tests/AppHost.Bundle.Tests/SingleFileApiTests.cs b/src/installer/tests/Microsoft.NET.HostModel.Tests/AppHost.Bundle.Tests/SingleFileApiTests.cs index 1127923f644cc5..7121eadb33af3e 100644 --- a/src/installer/tests/Microsoft.NET.HostModel.Tests/AppHost.Bundle.Tests/SingleFileApiTests.cs +++ b/src/installer/tests/Microsoft.NET.HostModel.Tests/AppHost.Bundle.Tests/SingleFileApiTests.cs @@ -85,24 +85,6 @@ public void GetCommandLineArgs_0_Non_Bundled_App() .HaveStdOutContaining(appPath); } - [Fact] - public void AppContext_Deps_Files_Bundled_Self_Contained() - { - var fixture = sharedTestState.TestFixture.Copy(); - var singleFile = BundleHelper.BundleApp(fixture); - - Command.Create(singleFile, "appcontext") - .CaptureStdErr() - .CaptureStdOut() - .Execute() - .Should() - .Pass() - .And - .NotHaveStdOutContaining("SingleFileApiTests.deps.json") - .And - .NotHaveStdOutContaining("Microsoft.NETCore.App.deps.json"); - } - [Fact] public void AppContext_Native_Search_Dirs_Contains_Bundle_Dir() {