diff --git a/Microsoft.DotNet.Cli.sln b/Microsoft.DotNet.Cli.sln index 750501cd0..1a128ab24 100644 --- a/Microsoft.DotNet.Cli.sln +++ b/Microsoft.DotNet.Cli.sln @@ -75,6 +75,7 @@ EndProject Project("{8BB2217D-0F2D-49D1-97BC-3654ED321F3B}") = "TestProjectToProjectDependencies", "TestAssets\TestProjects\TestProjectToProjectDependencies\TestProjectToProjectDependencies.xproj", "{947DD232-8D9B-4B78-9C6A-94F807D22222}" EndProject Project("{8BB2217D-0F2D-49D1-97BC-3654ED321F3B}") = "Microsoft.DotNet.InternalAbstractions", "src\Microsoft.DotNet.InternalAbstractions\Microsoft.DotNet.InternalAbstractions.xproj", "{BD4F0750-4E81-4AD2-90B5-E470881792C3}" +Project("{8BB2217D-0F2D-49D1-97BC-3654ED321F3B}") = "Microsoft.DotNet.ProjectModel.Tests", "test\Microsoft.DotNet.ProjectModel.Tests\Microsoft.DotNet.ProjectModel.Tests.xproj", "{0745410A-6629-47EB-AAB5-08D6288CAD72}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -520,6 +521,22 @@ Global {BD4F0750-4E81-4AD2-90B5-E470881792C3}.RelWithDebInfo|Any CPU.Build.0 = Release|Any CPU {BD4F0750-4E81-4AD2-90B5-E470881792C3}.RelWithDebInfo|x64.ActiveCfg = Release|Any CPU {BD4F0750-4E81-4AD2-90B5-E470881792C3}.RelWithDebInfo|x64.Build.0 = Release|Any CPU + {0745410A-6629-47EB-AAB5-08D6288CAD72}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {0745410A-6629-47EB-AAB5-08D6288CAD72}.Debug|Any CPU.Build.0 = Debug|Any CPU + {0745410A-6629-47EB-AAB5-08D6288CAD72}.Debug|x64.ActiveCfg = Debug|Any CPU + {0745410A-6629-47EB-AAB5-08D6288CAD72}.Debug|x64.Build.0 = Debug|Any CPU + {0745410A-6629-47EB-AAB5-08D6288CAD72}.MinSizeRel|Any CPU.ActiveCfg = Debug|Any CPU + {0745410A-6629-47EB-AAB5-08D6288CAD72}.MinSizeRel|Any CPU.Build.0 = Debug|Any CPU + {0745410A-6629-47EB-AAB5-08D6288CAD72}.MinSizeRel|x64.ActiveCfg = Debug|Any CPU + {0745410A-6629-47EB-AAB5-08D6288CAD72}.MinSizeRel|x64.Build.0 = Debug|Any CPU + {0745410A-6629-47EB-AAB5-08D6288CAD72}.Release|Any CPU.ActiveCfg = Release|Any CPU + {0745410A-6629-47EB-AAB5-08D6288CAD72}.Release|Any CPU.Build.0 = Release|Any CPU + {0745410A-6629-47EB-AAB5-08D6288CAD72}.Release|x64.ActiveCfg = Release|Any CPU + {0745410A-6629-47EB-AAB5-08D6288CAD72}.Release|x64.Build.0 = Release|Any CPU + {0745410A-6629-47EB-AAB5-08D6288CAD72}.RelWithDebInfo|Any CPU.ActiveCfg = Release|Any CPU + {0745410A-6629-47EB-AAB5-08D6288CAD72}.RelWithDebInfo|Any CPU.Build.0 = Release|Any CPU + {0745410A-6629-47EB-AAB5-08D6288CAD72}.RelWithDebInfo|x64.ActiveCfg = Release|Any CPU + {0745410A-6629-47EB-AAB5-08D6288CAD72}.RelWithDebInfo|x64.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -553,5 +570,6 @@ Global {947DD232-8D9B-4B78-9C6A-94F807D2DD58} = {713CBFBB-5392-438D-B766-A9A585EF1BB8} {947DD232-8D9B-4B78-9C6A-94F807D22222} = {713CBFBB-5392-438D-B766-A9A585EF1BB8} {BD4F0750-4E81-4AD2-90B5-E470881792C3} = {ED2FE3E2-F7E7-4389-8231-B65123F2076F} + {0745410A-6629-47EB-AAB5-08D6288CAD72} = {17735A9D-BFD9-4585-A7CB-3208CA6EA8A7} EndGlobalSection EndGlobal diff --git a/scripts/dotnet-cli-build/TestTargets.cs b/scripts/dotnet-cli-build/TestTargets.cs index 6978bd013..f8dbd60c4 100644 --- a/scripts/dotnet-cli-build/TestTargets.cs +++ b/scripts/dotnet-cli-build/TestTargets.cs @@ -31,6 +31,7 @@ namespace Microsoft.DotNet.Cli.Build "dotnet-resgen.Tests", "Microsoft.DotNet.Cli.Utils.Tests", "Microsoft.DotNet.Compiler.Common.Tests", + "Microsoft.DotNet.ProjectModel.Tests", "Microsoft.Extensions.DependencyModel.Tests", "ArgumentForwardingTests" }; diff --git a/test/Microsoft.DotNet.ProjectModel.Tests/LibraryExporterTests.cs b/test/Microsoft.DotNet.ProjectModel.Tests/LibraryExporterTests.cs new file mode 100644 index 000000000..40180c97d --- /dev/null +++ b/test/Microsoft.DotNet.ProjectModel.Tests/LibraryExporterTests.cs @@ -0,0 +1,37 @@ +using System; +using System.IO; +using Microsoft.DotNet.Tools.Test.Utilities; +using Xunit; + +namespace Microsoft.DotNet.ProjectModel.Tests +{ + public class LibraryExporterTests : TestBase + { + private readonly string _testProjectsRoot; + + public LibraryExporterTests() + { + _testProjectsRoot = Path.Combine(AppContext.BaseDirectory, "TestAssets", "TestProjects"); + } + + [Fact] + public void GetLibraryExportsWithoutLockFile() + { + var root = Temp.CreateDirectory().CopyDirectory(Path.Combine(_testProjectsRoot, "TestAppWithLibrary")); + + foreach (var lockfile in Directory.GetFiles(root.Path, "project.lock.json")) + { + File.Delete(lockfile); + } + + var builder = new ProjectContextBuilder().WithProjectDirectory(Path.Combine(root.Path, "TestApp")); + + foreach (var context in builder.BuildAllTargets()) + { + var exporter = context.CreateExporter("Debug"); + var exports = exporter.GetAllExports(); + Assert.NotEmpty(exports); + } + } + } +} diff --git a/test/Microsoft.DotNet.ProjectModel.Tests/Microsoft.DotNet.ProjectModel.Tests.xproj b/test/Microsoft.DotNet.ProjectModel.Tests/Microsoft.DotNet.ProjectModel.Tests.xproj new file mode 100644 index 000000000..d6686a577 --- /dev/null +++ b/test/Microsoft.DotNet.ProjectModel.Tests/Microsoft.DotNet.ProjectModel.Tests.xproj @@ -0,0 +1,19 @@ + + + + 14.0.24720 + $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion) + + + + 0745410a-6629-47eb-aab5-08d6288cad72 + Microsoft.DotNet.ProjectModel.Tests + ..\..\artifacts\obj\$(MSBuildProjectName) + ..\..\artifacts\bin\$(MSBuildProjectName)\ + + + + 2.0 + + + \ No newline at end of file diff --git a/test/Microsoft.DotNet.ProjectModel.Tests/project.json b/test/Microsoft.DotNet.ProjectModel.Tests/project.json new file mode 100644 index 000000000..db415b6f5 --- /dev/null +++ b/test/Microsoft.DotNet.ProjectModel.Tests/project.json @@ -0,0 +1,19 @@ +{ + "version": "1.0.0-*", + "dependencies": { + "NETStandard.Library": "1.0.0-rc2-23811", + "Microsoft.DotNet.ProjectModel": { "target": "project" }, + "Microsoft.DotNet.Tools.Tests.Utilities": { "target": "project" }, + "xunit": "2.1.0", + "dotnet-test-xunit": "1.0.0-dev-48273-16" + }, + "frameworks": { + "dnxcore50": { + "imports": "portable-net45+win8" + } + }, + "content": [ + "../../TestAssets/TestProjects/TestAppWithLibrary/**" + ], + "testRunner": "xunit" +} diff --git a/test/dotnet-projectmodel-server.Tests/project.json b/test/dotnet-projectmodel-server.Tests/project.json index 0283e17bc..c45e6c868 100644 --- a/test/dotnet-projectmodel-server.Tests/project.json +++ b/test/dotnet-projectmodel-server.Tests/project.json @@ -1,16 +1,15 @@ { "dependencies": { - "Microsoft.DotNet.ProjectModel": "1.0.0-*", - "dotnet": "1.0.0-*", - "Newtonsoft.Json": "7.0.1", - "xunit.runner.aspnet": "2.0.0-aspnet-rc2-16068" + "dotnet": { "target": "project" }, + "Microsoft.DotNet.ProjectModel": { "target": "project" }, + "Microsoft.DotNet.Tools.Tests.Utilities": { "target": "project" }, + "xunit": "2.1.0", + "dotnet-test-xunit": "1.0.0-dev-48273-16" }, "frameworks": { "dnxcore50": { "imports": "portable-net45+win8" } }, - "commands": { - "test": "xunit.runner.aspnet" - } + "testRunner": "xunit" }