add signed verification test
This commit is contained in:
parent
3149af8941
commit
bf5404373f
1 changed files with 35 additions and 1 deletions
|
@ -16,6 +16,7 @@ using Microsoft.DotNet.Cli;
|
||||||
using Microsoft.DotNet.Tools.Migrate;
|
using Microsoft.DotNet.Tools.Migrate;
|
||||||
using Build3Command = Microsoft.DotNet.Tools.Test.Utilities.Build3Command;
|
using Build3Command = Microsoft.DotNet.Tools.Test.Utilities.Build3Command;
|
||||||
using BuildCommand = Microsoft.DotNet.Tools.Test.Utilities.BuildCommand;
|
using BuildCommand = Microsoft.DotNet.Tools.Test.Utilities.BuildCommand;
|
||||||
|
using System.Runtime.Loader;
|
||||||
|
|
||||||
namespace Microsoft.DotNet.Migration.Tests
|
namespace Microsoft.DotNet.Migration.Tests
|
||||||
{
|
{
|
||||||
|
@ -26,7 +27,6 @@ namespace Microsoft.DotNet.Migration.Tests
|
||||||
// https://github.com/dotnet/sdk/issues/73 [InlineData("TestAppWithLibrary/TestApp", false)]
|
// https://github.com/dotnet/sdk/issues/73 [InlineData("TestAppWithLibrary/TestApp", false)]
|
||||||
[InlineData("TestAppWithRuntimeOptions")]
|
[InlineData("TestAppWithRuntimeOptions")]
|
||||||
[InlineData("TestAppWithContents")]
|
[InlineData("TestAppWithContents")]
|
||||||
[InlineData("TestAppWithSigning")]
|
|
||||||
public void It_migrates_apps(string projectName)
|
public void It_migrates_apps(string projectName)
|
||||||
{
|
{
|
||||||
var projectDirectory = TestAssetsManager.CreateTestInstance(projectName, callingMethod: "i").WithLockFiles().Path;
|
var projectDirectory = TestAssetsManager.CreateTestInstance(projectName, callingMethod: "i").WithLockFiles().Path;
|
||||||
|
@ -45,6 +45,25 @@ namespace Microsoft.DotNet.Migration.Tests
|
||||||
VerifyAllMSBuildOutputsRunnable(projectDirectory);
|
VerifyAllMSBuildOutputsRunnable(projectDirectory);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void It_migrates_signed_apps(string projectName)
|
||||||
|
{
|
||||||
|
var projectDirectory = TestAssetsManager.CreateTestInstance("TestAppWithSigning", callingMethod: "i").WithLockFiles().Path;
|
||||||
|
|
||||||
|
CleanBinObj(projectDirectory);
|
||||||
|
|
||||||
|
var outputComparisonData = BuildProjectJsonMigrateBuildMSBuild(projectDirectory, projectName);
|
||||||
|
|
||||||
|
var outputsIdentical =
|
||||||
|
outputComparisonData.ProjectJsonBuildOutputs.SetEquals(outputComparisonData.MSBuildBuildOutputs);
|
||||||
|
if (!outputsIdentical)
|
||||||
|
{
|
||||||
|
OutputDiagnostics(outputComparisonData);
|
||||||
|
}
|
||||||
|
outputsIdentical.Should().BeTrue();
|
||||||
|
VerifyAllMSBuildOutputsRunnable(projectDirectory);
|
||||||
|
VerifyAllMSBuildOutputsAreSigned(projectDirectory);
|
||||||
|
}
|
||||||
|
|
||||||
[Fact]
|
[Fact]
|
||||||
public void It_migrates_dotnet_new_console_with_identical_outputs()
|
public void It_migrates_dotnet_new_console_with_identical_outputs()
|
||||||
{
|
{
|
||||||
|
@ -238,6 +257,21 @@ namespace Microsoft.DotNet.Migration.Tests
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void VerifyAllMSBuildOutputsAreSigned(string projectDirectory)
|
||||||
|
{
|
||||||
|
var dllFileName = Path.GetFileName(projectDirectory) + ".dll";
|
||||||
|
|
||||||
|
var runnableDlls = Directory.EnumerateFiles(Path.Combine(projectDirectory, "bin"), dllFileName,
|
||||||
|
SearchOption.AllDirectories);
|
||||||
|
|
||||||
|
foreach (var dll in runnableDlls)
|
||||||
|
{
|
||||||
|
var assemblyName = AssemblyLoadContext.GetAssemblyName(dll);
|
||||||
|
var token = assemblyName.GetPublicKeyToken();
|
||||||
|
token.Should().NotBeNullOrEmpty();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private MigratedBuildComparisonData BuildProjectJsonMigrateBuildMSBuild(string projectDirectory, string projectName=null)
|
private MigratedBuildComparisonData BuildProjectJsonMigrateBuildMSBuild(string projectDirectory, string projectName=null)
|
||||||
{
|
{
|
||||||
BuildProjectJson(projectDirectory);
|
BuildProjectJson(projectDirectory);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue