2016-07-21 15:04:05 -05: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.
2016-10-04 19:29:07 +02:00
using System.IO ;
2016-07-21 15:04:05 -05:00
using Microsoft.DotNet.Tools.Test.Utilities ;
using Xunit ;
namespace Microsoft.DotNet.Tests.EndToEnd
{
public class GivenDotNetUsesMSBuild : TestBase
{
2016-08-10 09:21:43 -05:00
[Fact]
2016-10-04 19:29:07 +02:00
public void ItCanNewRestoreBuildRunCleanMSBuildProject ( )
2016-07-21 15:04:05 -05:00
{
2016-09-02 15:11:33 -05:00
using ( DisposableDirectory directory = Temp . CreateDirectory ( ) )
2016-07-21 15:04:05 -05:00
{
2016-09-02 15:11:33 -05:00
string projectDirectory = directory . Path ;
2016-07-21 15:04:05 -05:00
2016-09-02 15:11:33 -05:00
new NewCommand ( )
. WithWorkingDirectory ( projectDirectory )
. Execute ( "-t msbuild" )
. Should ( )
. Pass ( ) ;
2016-07-21 15:04:05 -05:00
2016-09-27 15:38:59 -07:00
new Restore3Command ( )
2016-09-02 15:11:33 -05:00
. WithWorkingDirectory ( projectDirectory )
. Execute ( )
. Should ( )
. Pass ( ) ;
2016-07-21 15:04:05 -05:00
2016-09-02 15:11:33 -05:00
new Build3Command ( )
. WithWorkingDirectory ( projectDirectory )
. Execute ( )
. Should ( )
. Pass ( ) ;
2016-07-21 15:04:05 -05:00
2016-09-27 16:29:56 -07:00
//TODO: https://github.com/dotnet/sdk/issues/187 - remove framework from below.
2016-09-02 15:11:33 -05:00
new Run3Command ( )
. WithWorkingDirectory ( projectDirectory )
2016-09-27 15:38:59 -07:00
. ExecuteWithCapturedOutput ( "--framework netcoreapp1.0" )
2016-09-02 15:11:33 -05:00
. Should ( )
. Pass ( )
. And
. HaveStdOutContaining ( "Hello World!" ) ;
2016-10-04 19:29:07 +02:00
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 15:04:05 -05:00
}
}
2016-10-03 21:40:24 -07: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 11:51:59 -07:00
. Pass ( )
. And
. HaveStdOutContaining ( "Hello Portable World!" ) ; ;
2016-10-03 21:40:24 -07:00
}
2016-07-21 15:04:05 -05:00
}
}