From ef22c93c39131cc4277b883a426a206a757c9656 Mon Sep 17 00:00:00 2001 From: Bryan Date: Tue, 24 Nov 2015 17:47:33 -0800 Subject: [PATCH 1/6] E2E Testing First pass. Test each command in a sequence to mock what a user might do. --- scripts/compile.ps1 | 8 +- scripts/compile.sh | 4 + scripts/test/e2e-test.ps1 | 43 +++++++ scripts/test/e2e-test.sh | 30 +++++ src/Microsoft.DotNet.Cli.Utils/AnsiConsole.cs | 6 +- test/E2E/E2ETest.cs | 106 ++++++++++++++++++ test/E2E/project.json | 29 +++++ 7 files changed, 224 insertions(+), 2 deletions(-) create mode 100644 scripts/test/e2e-test.ps1 create mode 100755 scripts/test/e2e-test.sh create mode 100644 test/E2E/E2ETest.cs create mode 100644 test/E2E/project.json diff --git a/scripts/compile.ps1 b/scripts/compile.ps1 index bf40d967f..a3e6e91ff 100644 --- a/scripts/compile.ps1 +++ b/scripts/compile.ps1 @@ -132,7 +132,6 @@ Download it from https://www.cmake.org Exit 1 } - # Smoke test stage2 $env:DOTNET_HOME = "$Stage2Dir" & "$PSScriptRoot\test\smoke-test.ps1" @@ -141,6 +140,13 @@ Download it from https://www.cmake.org Exit 1 } + # E2E Test of stage2 + & "$PSScriptRoot\test\e2e-test.ps1" + if (!$?) { + Write-Host "Command failed: $PSScriptRoot\test\e2e-test.ps1" + Exit 1 + } + } finally { $env:PATH = $StartPath $env:DOTNET_HOME = $StartDotNetHome diff --git a/scripts/compile.sh b/scripts/compile.sh index 1ca402213..3c7a05761 100755 --- a/scripts/compile.sh +++ b/scripts/compile.sh @@ -117,3 +117,7 @@ echo $COMMIT_ID > $STAGE2_DIR/.commit # Smoke-test the output header "Testing stage2 ..." DOTNET_HOME=$STAGE2_DIR DOTNET_TOOLS=$STAGE2_DIR $DIR/test/smoke-test.sh + +# E2E test on the output +header "Testing stage2 End to End ..." +DOTNET_HOME=$STAGE2_DIR DOTNET_TOOLS=$STAGE2_DIR $DIR/test/e2e-test.sh diff --git a/scripts/test/e2e-test.ps1 b/scripts/test/e2e-test.ps1 new file mode 100644 index 000000000..2e4cd4312 --- /dev/null +++ b/scripts/test/e2e-test.ps1 @@ -0,0 +1,43 @@ +# +# 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. +# + +. "$PSScriptRoot\..\_common.ps1" + +# Restore and compile the test app +dotnet restore "$RepoRoot\test\E2E" --runtime "osx.10.10-x64" --runtime "ubuntu.14.04-x64" --runtime "win7-x64" +if (!$?) { + Write-Host "Command failed: dotnet restore" + Exit 1 +} + +dotnet publish --framework dnxcore50 --runtime "$Rid" --output "$RepoRoot\artifacts\$Rid\e2etest" "$RepoRoot\test\E2E" +if (!$?) { + Write-Host "Command failed: dotnet publish" + Exit 1 +} + +## Temporary Workaround for Native Compilation +## Need x64 Native Tools Dev Prompt Env Vars +## Tracked Here: https://github.com/dotnet/cli/issues/301 +pushd "$env:VS140COMNTOOLS\..\..\VC" +cmd /c "vcvarsall.bat x64&set" | +foreach { + if ($_ -match "=") { + $v = $_.split("="); set-item -force -path "ENV:\$($v[0])" -value "$($v[1])" + } +} +popd + +# Run the app and check the exit code +pushd "$RepoRoot\artifacts\$Rid\e2etest" +& "CoreRun.exe" "xunit.console.netcore.exe" "E2E.dll" +if (!$?) { + Write-Host "E2E Test Failure" + popd + Exit 1 +} +else { + popd +} diff --git a/scripts/test/e2e-test.sh b/scripts/test/e2e-test.sh new file mode 100755 index 000000000..8539fea13 --- /dev/null +++ b/scripts/test/e2e-test.sh @@ -0,0 +1,30 @@ +#!/usr/bin/env bash +# +# 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. +# + +set -e + +SOURCE="${BASH_SOURCE[0]}" +while [ -h "$SOURCE" ]; do # resolve $SOURCE until the file is no longer a symlink + DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )" + SOURCE="$(readlink "$SOURCE")" + [[ $SOURCE != /* ]] && SOURCE="$DIR/$SOURCE" # if $SOURCE was a relative symlink, we need to resolve it relative to the path where the symlink file was located +done +DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )" +REPOROOT="$( cd -P "$DIR/../.." && pwd )" + +source "$DIR/../_common.sh" + +rm "$REPOROOT/test/E2E/project.lock.json" +dotnet restore "$REPOROOT/test/E2E" --runtime "osx.10.10-x64" --runtime "ubuntu.14.04-x64" --runtime "win7-x64" +dotnet publish --framework dnxcore50 \ + --runtime "$Rid" \ + --output "$RepoRoot/artifacts/$Rid/e2etest" \ + "$RepoRoot/test/E2E" \ + +# set -e will abort if the exit code of this is non-zero +pushd "$REPOROOT/artifacts/$RID/e2etest" +./corerun xunit.console.netcore.exe E2E.dll +popd diff --git a/src/Microsoft.DotNet.Cli.Utils/AnsiConsole.cs b/src/Microsoft.DotNet.Cli.Utils/AnsiConsole.cs index c47e877d1..11c29ee21 100644 --- a/src/Microsoft.DotNet.Cli.Utils/AnsiConsole.cs +++ b/src/Microsoft.DotNet.Cli.Utils/AnsiConsole.cs @@ -1,4 +1,4 @@ -// Copyright (c) .NET Foundation. All rights reserved. +// Copyright (c) .NET Foundation. All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. using System; @@ -141,3 +141,7 @@ namespace Microsoft.DotNet.Cli.Utils } } } +<<<<<<< HEAD +======= + +>>>>>>> 8a53c73... E2E Testing First pass. Test each command in a sequence to mock what a user might do. diff --git a/test/E2E/E2ETest.cs b/test/E2E/E2ETest.cs new file mode 100644 index 000000000..ef80ddcb5 --- /dev/null +++ b/test/E2E/E2ETest.cs @@ -0,0 +1,106 @@ +using System; +using System.IO; +using Xunit; +using Microsoft.DotNet.Cli.Utils; +using Microsoft.Extensions.ProjectModel; + +namespace ConsoleApplication +{ + public class E2ETest + { + private static readonly string EXPECTED_OUTPUT = "Hello World!"; + private static readonly string TEST_PROJECT_NAME = "hellotest"; + private static readonly string OUTPUT_FOLDER_NAME = "testbin"; + + public static void Main() + { + Console.WriteLine("Dummy Entrypoint."); + } + + [Fact] + public static void TestE2E() + { + // Setup Paths + var rootPath = GetRootPath(); + var testDir = Path.Combine(rootPath, TEST_PROJECT_NAME); + var outputDir = Path.Combine(testDir, OUTPUT_FOLDER_NAME); + + // Setup RID + var rid = RuntimeIdentifier.Current; + + // Create Test Directory and cd there + CleanOrCreateDirectory(testDir); + Directory.SetCurrentDirectory(TEST_PROJECT_NAME); + + // Base Set of Commands + TestRunCommand("dotnet", "init"); + + TestRunCommand("dotnet", "restore"); + TestRunCommand("dotnet", "run"); + + // Compile + TestRunCommand("dotnet", $"compile -o {outputDir}"); + TestOutputExecutable(outputDir); + + // Native Compilation + CleanOrCreateDirectory(outputDir); + TestRunCommand("dotnet", $"compile --native -o {outputDir}"); + TestOutputExecutable(outputDir); + + // Native Compilation w/ CPP backend + CleanOrCreateDirectory(outputDir); + TestRunCommand("dotnet", $"compile --native --cpp -o {outputDir}"); + TestOutputExecutable(outputDir); + + // Publish + CleanOrCreateDirectory(outputDir); + TestRunCommand("dotnet", $"publish --framework dnxcore50 --runtime {rid} -o {outputDir}"); + TestOutputExecutable(outputDir); + + TestRunCommand("dotnet", "pack"); + } + + public static void TestRunCommand(string command, string args) + { + var result = Command.Create(command, args) + .ForwardStdErr() + .ForwardStdOut() + .Execute(); + + Assert.Equal(0, result.ExitCode); + } + + public static void TestOutputExecutable(string outputDir) + { + var executableName = TEST_PROJECT_NAME + Constants.ExeSuffix; + + var executablePath = Path.Combine(outputDir, executableName); + + var result = Command.Create(executablePath, "") + .CaptureStdErr() + .CaptureStdOut() + .Execute(); + + var outText = result.StdOut; + + var expectedText = EXPECTED_OUTPUT + Environment.NewLine; + Assert.Equal(expectedText, outText); + } + + public static string GetRootPath() + { + var cwd = Directory.GetCurrentDirectory(); + + return cwd; + } + + public static void CleanOrCreateDirectory(string path) + { + if (Directory.Exists(path)) + { + Directory.Delete(path, true); + } + Directory.CreateDirectory(path); + } + } +} diff --git a/test/E2E/project.json b/test/E2E/project.json new file mode 100644 index 000000000..340430e08 --- /dev/null +++ b/test/E2E/project.json @@ -0,0 +1,29 @@ +{ + "version": "1.0.0-*", + "compilationOptions": { + "emitEntryPoint": true + }, + + "dependencies": { + "Microsoft.NETCore.Platforms":"1.0.1-beta-*", + "Microsoft.NETCore.TestHost": "1.0.0-beta-*", + "Microsoft.NETCore.Runtime": "1.0.1-beta-*", + "Microsoft.NETCore.Console": "1.0.0-beta-*", + "System.IO": "4.0.11-beta-*", + "System.Console": "4.0.0-beta-*", + "System.Runtime": "4.0.21-beta-*", + "xunit": "2.1.0", + "Microsoft.DotNet.Cli.Utils": { + "type": "build", + "version": "1.0.0-*" + }, + "System.AppContext": "4.0.1-beta-*", + "xunit.console.netcore": "1.0.2-prerelease-00101", + "xunit.runner.utility": "2.1.0", + "Microsoft.DotNet.ProjectModel": { "target": "project" } + }, + + "frameworks": { + "dnxcore50": { } + } +} From 5c31655317c007eb2cf2366942a98198c2e04c95 Mon Sep 17 00:00:00 2001 From: Bryan Date: Tue, 24 Nov 2015 18:48:31 -0800 Subject: [PATCH 2/6] Add License Header --- scripts/test/e2e-test.ps1 | 4 ++-- scripts/test/e2e-test.sh | 5 +---- test/E2E/E2ETest.cs | 5 ++++- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/scripts/test/e2e-test.ps1 b/scripts/test/e2e-test.ps1 index 2e4cd4312..9624ad6b4 100644 --- a/scripts/test/e2e-test.ps1 +++ b/scripts/test/e2e-test.ps1 @@ -25,14 +25,14 @@ pushd "$env:VS140COMNTOOLS\..\..\VC" cmd /c "vcvarsall.bat x64&set" | foreach { if ($_ -match "=") { - $v = $_.split("="); set-item -force -path "ENV:\$($v[0])" -value "$($v[1])" + $v = $_.split("="); set-item -force -path "ENV:\$($v[0])" -value "$($v[1])" } } popd # Run the app and check the exit code pushd "$RepoRoot\artifacts\$Rid\e2etest" -& "CoreRun.exe" "xunit.console.netcore.exe" "E2E.dll" +& "CoreRun.exe" "xunit.console.netcore.exe" "E2E.dll" -xml ..\..\e2etest.xml if (!$?) { Write-Host "E2E Test Failure" popd diff --git a/scripts/test/e2e-test.sh b/scripts/test/e2e-test.sh index 8539fea13..afb887284 100755 --- a/scripts/test/e2e-test.sh +++ b/scripts/test/e2e-test.sh @@ -19,10 +19,7 @@ source "$DIR/../_common.sh" rm "$REPOROOT/test/E2E/project.lock.json" dotnet restore "$REPOROOT/test/E2E" --runtime "osx.10.10-x64" --runtime "ubuntu.14.04-x64" --runtime "win7-x64" -dotnet publish --framework dnxcore50 \ - --runtime "$Rid" \ - --output "$RepoRoot/artifacts/$Rid/e2etest" \ - "$RepoRoot/test/E2E" \ +dotnet publish --framework dnxcore50 --runtime "$RID" --output "$REPOROOT/artifacts/$RID/e2etest" "$REPOROOT/test/E2E" # set -e will abort if the exit code of this is non-zero pushd "$REPOROOT/artifacts/$RID/e2etest" diff --git a/test/E2E/E2ETest.cs b/test/E2E/E2ETest.cs index ef80ddcb5..a51f5fdbd 100644 --- a/test/E2E/E2ETest.cs +++ b/test/E2E/E2ETest.cs @@ -1,4 +1,7 @@ -using System; +// 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; using System.IO; using Xunit; using Microsoft.DotNet.Cli.Utils; From 8db6b797d2c7a9aeab71141a488f1112677829b4 Mon Sep 17 00:00:00 2001 From: Bryan Thornbury Date: Wed, 25 Nov 2015 19:46:01 -0800 Subject: [PATCH 3/6] Use Corehost instead of CoreRun, refactor tests for individual commands --- scripts/test/e2e-test.ps1 | 3 +- scripts/test/e2e-test.sh | 3 +- test/E2E/E2ETest.cs | 164 +++++++++++++++++++++++++------------- test/E2E/project.json | 13 ++- 4 files changed, 118 insertions(+), 65 deletions(-) diff --git a/scripts/test/e2e-test.ps1 b/scripts/test/e2e-test.ps1 index 9624ad6b4..aa6503004 100644 --- a/scripts/test/e2e-test.ps1 +++ b/scripts/test/e2e-test.ps1 @@ -32,7 +32,8 @@ popd # Run the app and check the exit code pushd "$RepoRoot\artifacts\$Rid\e2etest" -& "CoreRun.exe" "xunit.console.netcore.exe" "E2E.dll" -xml ..\..\e2etest.xml +mv E2E.exe corehost.exe +& "corehost.exe" "xunit.console.netcore.exe" "E2E.dll" -xml ..\..\e2etest.xml if (!$?) { Write-Host "E2E Test Failure" popd diff --git a/scripts/test/e2e-test.sh b/scripts/test/e2e-test.sh index afb887284..b5dc8d295 100755 --- a/scripts/test/e2e-test.sh +++ b/scripts/test/e2e-test.sh @@ -23,5 +23,6 @@ dotnet publish --framework dnxcore50 --runtime "$RID" --output "$REPOROOT/artifa # set -e will abort if the exit code of this is non-zero pushd "$REPOROOT/artifacts/$RID/e2etest" -./corerun xunit.console.netcore.exe E2E.dll +mv ./E2E ./corehost +./corehost xunit.console.netcore.exe E2E.dll popd diff --git a/test/E2E/E2ETest.cs b/test/E2E/E2ETest.cs index a51f5fdbd..31507cf9b 100644 --- a/test/E2E/E2ETest.cs +++ b/test/E2E/E2ETest.cs @@ -3,6 +3,7 @@ using System; using System.IO; +using System.Runtime.InteropServices; using Xunit; using Microsoft.DotNet.Cli.Utils; using Microsoft.Extensions.ProjectModel; @@ -11,59 +12,119 @@ namespace ConsoleApplication { public class E2ETest { - private static readonly string EXPECTED_OUTPUT = "Hello World!"; - private static readonly string TEST_PROJECT_NAME = "hellotest"; - private static readonly string OUTPUT_FOLDER_NAME = "testbin"; + private static readonly string EXPECTED_OUTPUT = "Hello World!" + Environment.NewLine; + private static readonly string TESTDIR_NAME = "hellotest"; + private static readonly string OUTPUTDIR_NAME = "testbin"; + + private static string RootPath { get; set; } + private string TestDirectory { get; set; } + private string OutputDirectory { get; set; } + private string Rid { get; set; } public static void Main() { Console.WriteLine("Dummy Entrypoint."); } - - [Fact] - public static void TestE2E() + + public E2ETest() { - // Setup Paths - var rootPath = GetRootPath(); - var testDir = Path.Combine(rootPath, TEST_PROJECT_NAME); - var outputDir = Path.Combine(testDir, OUTPUT_FOLDER_NAME); + if (RootPath == null) + { + RootPath = Directory.GetCurrentDirectory(); + } - // Setup RID - var rid = RuntimeIdentifier.Current; + TestDirectory = Path.Combine(RootPath, TESTDIR_NAME); + OutputDirectory = Path.Combine(RootPath, OUTPUTDIR_NAME); - // Create Test Directory and cd there - CleanOrCreateDirectory(testDir); - Directory.SetCurrentDirectory(TEST_PROJECT_NAME); - - // Base Set of Commands - TestRunCommand("dotnet", "init"); - - TestRunCommand("dotnet", "restore"); - TestRunCommand("dotnet", "run"); - - // Compile - TestRunCommand("dotnet", $"compile -o {outputDir}"); - TestOutputExecutable(outputDir); - - // Native Compilation - CleanOrCreateDirectory(outputDir); - TestRunCommand("dotnet", $"compile --native -o {outputDir}"); - TestOutputExecutable(outputDir); - - // Native Compilation w/ CPP backend - CleanOrCreateDirectory(outputDir); - TestRunCommand("dotnet", $"compile --native --cpp -o {outputDir}"); - TestOutputExecutable(outputDir); - - // Publish - CleanOrCreateDirectory(outputDir); - TestRunCommand("dotnet", $"publish --framework dnxcore50 --runtime {rid} -o {outputDir}"); - TestOutputExecutable(outputDir); - - TestRunCommand("dotnet", "pack"); + Rid = RuntimeIdentifier.Current; } - public static void TestRunCommand(string command, string args) + [Fact] + public void TestDotnetCompile() + { + TestSetup(); + + TestRunCommand("dotnet", $"compile -o {OutputDirectory}"); + TestOutputExecutable(OutputDirectory); + } + + [Fact] + public void TestDotnetCompileNativeRyuJit() + { + // Skip this test on mac + if(SkipForOS(OSPlatform.OSX, "https://github.com/dotnet/cli/issues/246")) + { + return; + } + + TestSetup(); + + TestRunCommand("dotnet", $"compile --native -o {OutputDirectory}"); + + var nativeOut = Path.Combine(OutputDirectory, "native"); + TestOutputExecutable(nativeOut); + } + + [Fact] + public void TestDotnetCompileNativeCpp() + { + TestSetup(); + + TestRunCommand("dotnet", $"compile --native --cpp -o {OutputDirectory}"); + + var nativeOut = Path.Combine(OutputDirectory, "native"); + TestOutputExecutable(nativeOut); + } + + [Fact] + public void TestDotnetRun() + { + TestSetup(); + + TestRunCommand("dotnet", $"run"); + } + + [Fact(Skip="https://github.com/dotnet/cli/issues/333")] + public void TestDotnetPack() + { + TestSetup(); + + TestRunCommand("dotnet", $"pack"); + } + + [Fact] + public void TestDotnetPublish() + { + TestSetup(); + + TestRunCommand("dotnet", $"publish --framework dnxcore50 --runtime {Rid} -o {OutputDirectory}"); + TestOutputExecutable(OutputDirectory); + } + + private void TestSetup() + { + Directory.SetCurrentDirectory(RootPath); + + CleanOrCreateDirectory(TestDirectory); + CleanOrCreateDirectory(OutputDirectory); + + Directory.SetCurrentDirectory(TestDirectory); + + TestRunCommand("dotnet", "init"); + TestRunCommand("dotnet", "restore"); + } + + private bool SkipForOS(OSPlatform os, string reason) + { + if (RuntimeInformation.IsOSPlatform(os)) + { + Console.WriteLine("Skipping Test for reason: " + reason); + return true; + } + return false; + } + + private void TestRunCommand(string command, string args) { var result = Command.Create(command, args) .ForwardStdErr() @@ -73,9 +134,9 @@ namespace ConsoleApplication Assert.Equal(0, result.ExitCode); } - public static void TestOutputExecutable(string outputDir) + private void TestOutputExecutable(string outputDir) { - var executableName = TEST_PROJECT_NAME + Constants.ExeSuffix; + var executableName = TESTDIR_NAME + Constants.ExeSuffix; var executablePath = Path.Combine(outputDir, executableName); @@ -85,19 +146,10 @@ namespace ConsoleApplication .Execute(); var outText = result.StdOut; - - var expectedText = EXPECTED_OUTPUT + Environment.NewLine; - Assert.Equal(expectedText, outText); + Assert.Equal(EXPECTED_OUTPUT, outText); } - public static string GetRootPath() - { - var cwd = Directory.GetCurrentDirectory(); - - return cwd; - } - - public static void CleanOrCreateDirectory(string path) + private void CleanOrCreateDirectory(string path) { if (Directory.Exists(path)) { diff --git a/test/E2E/project.json b/test/E2E/project.json index 340430e08..e21cac468 100644 --- a/test/E2E/project.json +++ b/test/E2E/project.json @@ -6,21 +6,20 @@ "dependencies": { "Microsoft.NETCore.Platforms":"1.0.1-beta-*", - "Microsoft.NETCore.TestHost": "1.0.0-beta-*", "Microsoft.NETCore.Runtime": "1.0.1-beta-*", - "Microsoft.NETCore.Console": "1.0.0-beta-*", - "System.IO": "4.0.11-beta-*", "System.Console": "4.0.0-beta-*", "System.Runtime": "4.0.21-beta-*", + "System.AppContext": "4.0.1-beta-*", + "xunit": "2.1.0", + "xunit.console.netcore": "1.0.2-prerelease-00101", + "xunit.runner.utility": "2.1.0", + + "Microsoft.DotNet.ProjectModel": { "target": "project" }, "Microsoft.DotNet.Cli.Utils": { "type": "build", "version": "1.0.0-*" }, - "System.AppContext": "4.0.1-beta-*", - "xunit.console.netcore": "1.0.2-prerelease-00101", - "xunit.runner.utility": "2.1.0", - "Microsoft.DotNet.ProjectModel": { "target": "project" } }, "frameworks": { From daae6938c4de47d40ce051365673fe9c1249040c Mon Sep 17 00:00:00 2001 From: Bryan Thornbury Date: Mon, 30 Nov 2015 10:39:25 -0800 Subject: [PATCH 4/6] Skip native cpp compilation on Windows --- test/E2E/E2ETest.cs | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/test/E2E/E2ETest.cs b/test/E2E/E2ETest.cs index 31507cf9b..98c87a25e 100644 --- a/test/E2E/E2ETest.cs +++ b/test/E2E/E2ETest.cs @@ -68,6 +68,12 @@ namespace ConsoleApplication [Fact] public void TestDotnetCompileNativeCpp() { + // Skip this test on windows + if(SkipForOS(OSPlatform.Windows, "https://github.com/dotnet/cli/issues/335")) + { + return; + } + TestSetup(); TestRunCommand("dotnet", $"compile --native --cpp -o {OutputDirectory}"); From 939ba19fb66e37722cce57c32cedeb521767d4dd Mon Sep 17 00:00:00 2001 From: Bryan Thornbury Date: Mon, 30 Nov 2015 11:12:39 -0800 Subject: [PATCH 5/6] Small Fix --- src/Microsoft.DotNet.Cli.Utils/AnsiConsole.cs | 4 ---- 1 file changed, 4 deletions(-) diff --git a/src/Microsoft.DotNet.Cli.Utils/AnsiConsole.cs b/src/Microsoft.DotNet.Cli.Utils/AnsiConsole.cs index 11c29ee21..513d548d9 100644 --- a/src/Microsoft.DotNet.Cli.Utils/AnsiConsole.cs +++ b/src/Microsoft.DotNet.Cli.Utils/AnsiConsole.cs @@ -141,7 +141,3 @@ namespace Microsoft.DotNet.Cli.Utils } } } -<<<<<<< HEAD -======= - ->>>>>>> 8a53c73... E2E Testing First pass. Test each command in a sequence to mock what a user might do. From a6f18f9b613fa31f8571939f27c53e2c0bd61381 Mon Sep 17 00:00:00 2001 From: Bryan Thornbury Date: Mon, 30 Nov 2015 11:25:13 -0800 Subject: [PATCH 6/6] Change ProjectModel namespace --- test/E2E/E2ETest.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/E2E/E2ETest.cs b/test/E2E/E2ETest.cs index 98c87a25e..e6f3beb5c 100644 --- a/test/E2E/E2ETest.cs +++ b/test/E2E/E2ETest.cs @@ -6,7 +6,7 @@ using System.IO; using System.Runtime.InteropServices; using Xunit; using Microsoft.DotNet.Cli.Utils; -using Microsoft.Extensions.ProjectModel; +using Microsoft.DotNet.ProjectModel; namespace ConsoleApplication {