dotnet-installer/test/EndToEnd/GivenDotNetUsesMSBuild.cs

84 lines
2.8 KiB
C#
Raw Normal View History

2016-07-21 20:04:05 +00:00
// Copyright (c) .NET Foundation and contributors. All rights reserved.
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
using System.IO;
2016-07-21 20:04:05 +00:00
using Microsoft.DotNet.Tools.Test.Utilities;
using Xunit;
namespace Microsoft.DotNet.Tests.EndToEnd
{
public class GivenDotNetUsesMSBuild : TestBase
{
2016-08-10 14:21:43 +00:00
[Fact]
public void ItCanNewRestoreBuildRunCleanMSBuildProject()
2016-07-21 20:04:05 +00:00
{
using (DisposableDirectory directory = Temp.CreateDirectory())
2016-07-21 20:04:05 +00:00
{
string projectDirectory = directory.Path;
2016-07-21 20:04:05 +00:00
new NewCommand()
.WithWorkingDirectory(projectDirectory)
.Execute("-t msbuild")
.Should()
.Pass();
2016-07-21 20:04:05 +00:00
new Restore3Command()
.WithWorkingDirectory(projectDirectory)
.Execute()
.Should()
.Pass();
2016-07-21 20:04:05 +00:00
new Build3Command()
.WithWorkingDirectory(projectDirectory)
.Execute()
.Should()
.Pass();
2016-07-21 20:04:05 +00:00
2016-09-27 23:29:56 +00:00
//TODO: https://github.com/dotnet/sdk/issues/187 - remove framework from below.
new Run3Command()
.WithWorkingDirectory(projectDirectory)
.ExecuteWithCapturedOutput("--framework netcoreapp1.0")
.Should()
.Pass()
.And
.HaveStdOutContaining("Hello World!");
var binDirectory = new DirectoryInfo(projectDirectory).Sub("bin");
binDirectory.Should().HaveFilesMatching("*.dll", SearchOption.AllDirectories);
new Clean3Command()
.WithWorkingDirectory(projectDirectory)
.Execute()
.Should()
.Pass();
binDirectory.Should().NotHaveFilesMatching("*.dll", SearchOption.AllDirectories);
2016-07-21 20:04:05 +00:00
}
}
[Fact]
public void ItCanRunToolsInACSProj()
{
var testAppName = "MSBuildTestApp";
var testInstance = TestAssetsManager
.CreateTestInstance(testAppName);
var testProjectDirectory = testInstance.TestRoot;
new Restore3Command()
.WithWorkingDirectory(testProjectDirectory)
.Execute()
.Should()
.Pass();
new DotnetCommand()
.WithWorkingDirectory(testInstance.TestRoot)
.ExecuteWithCapturedOutput("portable")
.Should()
2016-10-05 18:51:59 +00:00
.Pass()
.And
.HaveStdOutContaining("Hello Portable World!");;
}
2016-07-21 20:04:05 +00:00
}
}