diff options
author | Swaroop Sridhar <Swaroop.Sridhar@microsoft.com> | 2020-05-01 19:24:13 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-05-01 19:24:13 +0300 |
commit | 47ec733ba79b196e4e09d0c89bad245155002353 (patch) | |
tree | 98fc7124abbcb678abe9687e757a77e638560f05 /src/installer/test/Microsoft.NET.HostModel.Tests/AppHost.Bundle.Tests/BundledAppWithSubDirs.cs | |
parent | 6d1f7e01d3429054ec3dcb7c75b3450b9fe1429e (diff) |
[release/5.0-preview4] Revert processing bundles in framework (#35679)v5.0.0-preview.4.20251.6
This commit reverts:
Revert "Single-File: Process bundles in the framework (#34274)"
This reverts commit 78b303df8fbb242985d049a277d0d199cafd51b5.
Revert "Single-File Bundler: Add a FileSize test (#35149)"
This reverts commit 779588a509b81d909ac5d496c172949ec1f1ddcc.
*Customer Scenario*
Publishing apps as a self-contained single-file doesn't work as expected.
* Publish needs to generate hostpolicy and hostfxr separate from the single file bundle
* Cross-platform publishing is incorrect
*Problem*
Since Static-apphost is not yet ready, processing bundle content in hostpolicy means that hostpolicy and hostfxr DLLs need to be separate from the bundle. This causes self-contained single-file apps to not be a "single file" temporarily.
The change also requires supporting changes from the SDK, to publish hostfxr and hostpolicy as separate files, and to invoke HostModel library with arguments that facilitate cross-platform publishing.
*Solution*
To solve these, problem, this change reverts:
Revert "Single-File: Process bundles in the framework (#34274)" commit 78b303df8fbb242985d049a277d0d199cafd51b5.
and a dependent test-only change:
Revert "Single-File Bundler: Add a FileSize test (#35149)" commit 779588a509b81d909ac5d496c172949ec1f1ddcc.
*Risk*
Medium
The change is contained to only host components: apphost, hostpolicy, and hostfxr.
However, the change is big, and needs testing in runtime and SDK repos.
*Testing*
Manually tested the SDK by inserting apphost, hostfxr, hostpolicy, and hostmodel library from this build into the `dotnet/packs` preview-4 SDK from https://github.com/dotnet/sdk/pull/11518 build.
Verified that:
* Singlefile apps can be published and run OK for { Windows, Linux, Osx } x {netcoreapp3.0, netcoreapp3.1, netcoreapp5.0}
* Cross-targeting builds of single-file apps build and run OK (ex: built on Windos, run on Mac).
Diffstat (limited to 'src/installer/test/Microsoft.NET.HostModel.Tests/AppHost.Bundle.Tests/BundledAppWithSubDirs.cs')
-rw-r--r-- | src/installer/test/Microsoft.NET.HostModel.Tests/AppHost.Bundle.Tests/BundledAppWithSubDirs.cs | 34 |
1 files changed, 12 insertions, 22 deletions
diff --git a/src/installer/test/Microsoft.NET.HostModel.Tests/AppHost.Bundle.Tests/BundledAppWithSubDirs.cs b/src/installer/test/Microsoft.NET.HostModel.Tests/AppHost.Bundle.Tests/BundledAppWithSubDirs.cs index 33e05b5c050..59360c09f99 100644 --- a/src/installer/test/Microsoft.NET.HostModel.Tests/AppHost.Bundle.Tests/BundledAppWithSubDirs.cs +++ b/src/installer/test/Microsoft.NET.HostModel.Tests/AppHost.Bundle.Tests/BundledAppWithSubDirs.cs @@ -2,12 +2,11 @@ // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. -using BundleTests.Helpers; -using Microsoft.DotNet.Cli.Build.Framework; -using Microsoft.NET.HostModel.Bundle; -using Microsoft.DotNet.CoreSetup.Test; using System; using Xunit; +using Microsoft.DotNet.Cli.Build.Framework; +using BundleTests.Helpers; +using Microsoft.DotNet.CoreSetup.Test; namespace AppHost.Bundle.Tests { @@ -32,16 +31,11 @@ namespace AppHost.Bundle.Tests .HaveStdOutContaining("Wow! We now say hello to the big world and you."); } - // BundleOptions.BundleNativeBinaries: Test when the payload data files are unbundled, and beside the single-file app. - // BundleOptions.BundleAllContent: Test when the payload data files are bundled and extracted to temporary directory. - // Once the runtime can load assemblies from the bundle, BundleOptions.None can be used in place of BundleOptions.BundleNativeBinaries. - [InlineData(BundleOptions.BundleNativeBinaries)] - [InlineData(BundleOptions.BundleAllContent)] - [Theory] - public void Bundled_Framework_dependent_App_Run_Succeeds(BundleOptions options) + [Fact] + public void Bundled_Framework_dependent_App_Run_Succeeds() { var fixture = sharedTestState.TestFrameworkDependentFixture.Copy(); - var singleFile = BundleHelper.BundleApp(fixture, options); + var singleFile = BundleHelper.BundleApp(fixture); // Run the bundled app (extract files) RunTheApp(singleFile); @@ -50,13 +44,11 @@ namespace AppHost.Bundle.Tests RunTheApp(singleFile); } - [InlineData(BundleOptions.BundleNativeBinaries)] - [InlineData(BundleOptions.BundleAllContent)] - [Theory] - public void Bundled_Self_Contained_App_Run_Succeeds(BundleOptions options) + [Fact] + public void Bundled_Self_Contained_App_Run_Succeeds() { var fixture = sharedTestState.TestSelfContainedFixture.Copy(); - var singleFile = BundleHelper.BundleApp(fixture, options); + var singleFile = BundleHelper.BundleApp(fixture); // Run the bundled app (extract files) RunTheApp(singleFile); @@ -65,13 +57,11 @@ namespace AppHost.Bundle.Tests RunTheApp(singleFile); } - [InlineData(BundleOptions.BundleNativeBinaries)] - [InlineData(BundleOptions.BundleAllContent)] - [Theory] - public void Bundled_With_Empty_File_Succeeds(BundleOptions options) + [Fact] + public void Bundled_With_Empty_File_Succeeds() { var fixture = sharedTestState.TestAppWithEmptyFileFixture.Copy(); - var singleFile = BundleHelper.BundleApp(fixture, options); + var singleFile = BundleHelper.BundleApp(fixture); // Run the app RunTheApp(singleFile); |