Rebase with the latest sources and fix the tests.
This commit is contained in:
parent
ab455e6bb9
commit
9ec8556d24
7 changed files with 37 additions and 13 deletions
|
@ -56,6 +56,13 @@ namespace Microsoft.DotNet.Cli.Build
|
||||||
|
|
||||||
[Target]
|
[Target]
|
||||||
public static BuildTargetResult BuildTestPrerequisites(BuildTargetContext c)
|
public static BuildTargetResult BuildTestPrerequisites(BuildTargetContext c)
|
||||||
|
{
|
||||||
|
BuildTestAssetPackages(c);
|
||||||
|
BuildTestAssetProjects(c);
|
||||||
|
return c.Success();
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void BuildTestAssetPackages(BuildTargetContext c)
|
||||||
{
|
{
|
||||||
var dotnet = DotNetCli.Stage2;
|
var dotnet = DotNetCli.Stage2;
|
||||||
|
|
||||||
|
@ -71,8 +78,24 @@ namespace Microsoft.DotNet.Cli.Build
|
||||||
.Execute()
|
.Execute()
|
||||||
.EnsureSuccessful();
|
.EnsureSuccessful();
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return c.Success();
|
public static void BuildTestAssetProjects(BuildTargetContext c)
|
||||||
|
{
|
||||||
|
var dotnet = DotNetCli.Stage2;
|
||||||
|
string testProjectsRoot = Path.Combine(c.BuildContext.BuildDirectory, "TestAssets", "TestProjects");
|
||||||
|
List<string> exclusionList = new List<string> { Path.Combine(testProjectsRoot, "CompileFail", "project.json") };
|
||||||
|
var projects = Directory.GetFiles(testProjectsRoot, "project.json", SearchOption.AllDirectories)
|
||||||
|
.Where(p => !exclusionList.Any(e => e.Contains(p)));
|
||||||
|
|
||||||
|
foreach (var project in projects)
|
||||||
|
{
|
||||||
|
c.Info($"Building: {project}");
|
||||||
|
dotnet.Build("--framework", "dnxcore50")
|
||||||
|
.WorkingDirectory(Path.GetDirectoryName(project))
|
||||||
|
.Execute()
|
||||||
|
.EnsureSuccessful();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
[Target]
|
[Target]
|
||||||
|
|
|
@ -18,7 +18,7 @@ namespace Microsoft.DotNet.TestFramework
|
||||||
get; private set;
|
get; private set;
|
||||||
}
|
}
|
||||||
|
|
||||||
public TestAssetsManager(string assetsRoot, bool skipRestore = true, bool skipBuild = true)
|
public TestAssetsManager(string assetsRoot, bool doRestore = false, bool doBuild = false)
|
||||||
{
|
{
|
||||||
if (!Directory.Exists(assetsRoot))
|
if (!Directory.Exists(assetsRoot))
|
||||||
{
|
{
|
||||||
|
@ -27,12 +27,12 @@ namespace Microsoft.DotNet.TestFramework
|
||||||
|
|
||||||
AssetsRoot = assetsRoot;
|
AssetsRoot = assetsRoot;
|
||||||
|
|
||||||
if (!skipRestore)
|
if (doRestore)
|
||||||
{
|
{
|
||||||
Restore();
|
Restore();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!skipBuild)
|
if (doBuild)
|
||||||
{
|
{
|
||||||
Build();
|
Build();
|
||||||
}
|
}
|
||||||
|
|
|
@ -62,11 +62,13 @@ namespace Microsoft.DotNet.Tools.Builder.Tests
|
||||||
[Fact]
|
[Fact]
|
||||||
public void TestNoDependencyFlag()
|
public void TestNoDependencyFlag()
|
||||||
{
|
{
|
||||||
var dependencies = new[] { "L11", "L12", "L21", "L22" };
|
var testInstance = TestAssetsManager.CreateTestInstance("TestProjectToProjectDependencies")
|
||||||
|
.WithLockFiles()
|
||||||
|
.WithBuildArtifacts();
|
||||||
|
|
||||||
|
TestProjectRoot = testInstance.TestRoot;
|
||||||
|
|
||||||
// first clean build; all projects required compilation
|
var dependencies = new[] { "L11", "L12", "L21", "L22" };
|
||||||
var result1 = BuildProject();
|
|
||||||
AssertRebuilt(result1, _projects);
|
|
||||||
|
|
||||||
// modify the source code of a leaf dependency
|
// modify the source code of a leaf dependency
|
||||||
TouchSourcesOfProject("L22");
|
TouchSourcesOfProject("L22");
|
||||||
|
|
|
@ -61,7 +61,7 @@ namespace Microsoft.DotNet.Tools.Builder.Tests
|
||||||
protected CommandResult BuildProject(bool noDependencies = false, bool noIncremental = false, bool expectBuildFailure = false)
|
protected CommandResult BuildProject(bool noDependencies = false, bool noIncremental = false, bool expectBuildFailure = false)
|
||||||
{
|
{
|
||||||
var mainProjectFile = GetProjectFile(MainProject);
|
var mainProjectFile = GetProjectFile(MainProject);
|
||||||
return BuildProject(mainProjectFile, noIncremental, expectBuildFailure);
|
return BuildProject(mainProjectFile, noDependencies, noIncremental, expectBuildFailure);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected CommandResult BuildProject(string projectFile, bool noDependencies = false, bool noIncremental = false, bool expectBuildFailure = false)
|
protected CommandResult BuildProject(string projectFile, bool noDependencies = false, bool noIncremental = false, bool expectBuildFailure = false)
|
||||||
|
|
|
@ -24,7 +24,7 @@ namespace Microsoft.DotNet.Tools.Compiler.Tests
|
||||||
public GivenACompilationDriverController()
|
public GivenACompilationDriverController()
|
||||||
{
|
{
|
||||||
_projectJson =
|
_projectJson =
|
||||||
Path.Combine(AppContext.BaseDirectory, "TestAssets", "TestProjects", "TestApp", "project.json");
|
Path.Combine(AppContext.BaseDirectory, "TestAssets", "TestProjects", "TestAppWithLibrary", "TestApp", "project.json");
|
||||||
_managedCompilerMock = new Mock<ICompiler>();
|
_managedCompilerMock = new Mock<ICompiler>();
|
||||||
_managedCompilerMock.Setup(c => c
|
_managedCompilerMock.Setup(c => c
|
||||||
.Compile(It.IsAny<ProjectContext>(), It.IsAny<CompilerCommandApp>()))
|
.Compile(It.IsAny<ProjectContext>(), It.IsAny<CompilerCommandApp>()))
|
||||||
|
|
|
@ -156,6 +156,7 @@ namespace Microsoft.DotNet.Tools.Compiler.Tests
|
||||||
AppContext.BaseDirectory,
|
AppContext.BaseDirectory,
|
||||||
"TestAssets",
|
"TestAssets",
|
||||||
"TestProjects",
|
"TestProjects",
|
||||||
|
"TestAppWithLibrary",
|
||||||
"TestApp");
|
"TestApp");
|
||||||
|
|
||||||
public static string OutputPath = Path.Combine(
|
public static string OutputPath = Path.Combine(
|
||||||
|
|
|
@ -24,9 +24,7 @@
|
||||||
},
|
},
|
||||||
|
|
||||||
"content": [
|
"content": [
|
||||||
"../../TestAssets/TestProjects/TestLibrary/*",
|
"../../TestAssets/TestProjects/TestAppWithLibrary/**/*"
|
||||||
"../../TestAssets/TestProjects/TestApp/*",
|
|
||||||
"../../TestAssets/TestProjects/global.json"
|
|
||||||
],
|
],
|
||||||
|
|
||||||
"testRunner": "xunit"
|
"testRunner": "xunit"
|
||||||
|
|
Loading…
Reference in a new issue