Return non-zero exit code for test failure in multitargeted test project.
Treat the errors from vstest task as errors (instead of warnings) before continuing further. Add asserts for exit code in tests for dotnet-test and dotnet-vstest.
This commit is contained in:
parent
441277ccfa
commit
f3a74f1162
4 changed files with 11 additions and 7 deletions
|
@ -41,7 +41,7 @@ Copyright (c) .NET Foundation. All rights reserved.
|
||||||
Condition="'$(TargetFrameworks)' != '' "
|
Condition="'$(TargetFrameworks)' != '' "
|
||||||
Targets="$(InnerVSTestTargets)"
|
Targets="$(InnerVSTestTargets)"
|
||||||
Properties="TargetFramework=%(_TargetFramework.Identity);VSTestNoBuild=true"
|
Properties="TargetFramework=%(_TargetFramework.Identity);VSTestNoBuild=true"
|
||||||
ContinueOnError="true">
|
ContinueOnError="ErrorAndContinue">
|
||||||
<Output ItemName="InnerOutput" TaskParameter="TargetOutputs" />
|
<Output ItemName="InnerOutput" TaskParameter="TargetOutputs" />
|
||||||
</MSBuild>
|
</MSBuild>
|
||||||
</Target>
|
</Target>
|
||||||
|
|
|
@ -39,6 +39,7 @@ namespace Microsoft.DotNet.Cli.Test.Tests
|
||||||
.And.Contain("Passed TestNamespace.VSTestTests.VSTestPassTestDesktop", "because .NET 4.6 tests will pass")
|
.And.Contain("Passed TestNamespace.VSTestTests.VSTestPassTestDesktop", "because .NET 4.6 tests will pass")
|
||||||
.And.Contain("Total tests: 3. Passed: 1. Failed: 2. Skipped: 0.", "because netcoreapp1.0 tests will fail")
|
.And.Contain("Total tests: 3. Passed: 1. Failed: 2. Skipped: 0.", "because netcoreapp1.0 tests will fail")
|
||||||
.And.Contain("Failed TestNamespace.VSTestTests.VSTestFailTestNetCoreApp", "because netcoreapp1.0 tests will fail");
|
.And.Contain("Failed TestNamespace.VSTestTests.VSTestFailTestNetCoreApp", "because netcoreapp1.0 tests will fail");
|
||||||
|
result.ExitCode.Should().Be(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
[WindowsOnlyFact]
|
[WindowsOnlyFact]
|
||||||
|
@ -70,6 +71,7 @@ namespace Microsoft.DotNet.Cli.Test.Tests
|
||||||
// for target framework netcoreapp1.0
|
// for target framework netcoreapp1.0
|
||||||
result.StdOut.Should().Contain("Total tests: 3. Passed: 1. Failed: 2. Skipped: 0.");
|
result.StdOut.Should().Contain("Total tests: 3. Passed: 1. Failed: 2. Skipped: 0.");
|
||||||
result.StdOut.Should().Contain("Failed TestNamespace.VSTestXunitTests.VSTestXunitFailTestNetCoreApp");
|
result.StdOut.Should().Contain("Failed TestNamespace.VSTestXunitTests.VSTestXunitFailTestNetCoreApp");
|
||||||
|
result.ExitCode.Should().Be(1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -38,6 +38,7 @@ namespace Microsoft.DotNet.Cli.Test.Tests
|
||||||
result.StdOut.Should().Contain("Total tests: 2. Passed: 1. Failed: 1. Skipped: 0.");
|
result.StdOut.Should().Contain("Total tests: 2. Passed: 1. Failed: 1. Skipped: 0.");
|
||||||
result.StdOut.Should().Contain("Passed TestNamespace.VSTestTests.VSTestPassTest");
|
result.StdOut.Should().Contain("Passed TestNamespace.VSTestTests.VSTestPassTest");
|
||||||
result.StdOut.Should().Contain("Failed TestNamespace.VSTestTests.VSTestFailTest");
|
result.StdOut.Should().Contain("Failed TestNamespace.VSTestTests.VSTestFailTest");
|
||||||
|
result.ExitCode.Should().Be(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
[Fact]
|
[Fact]
|
||||||
|
@ -65,6 +66,7 @@ namespace Microsoft.DotNet.Cli.Test.Tests
|
||||||
result.StdOut.Should().Contain("Total tests: 2. Passed: 1. Failed: 1. Skipped: 0.");
|
result.StdOut.Should().Contain("Total tests: 2. Passed: 1. Failed: 1. Skipped: 0.");
|
||||||
result.StdOut.Should().Contain("Passed TestNamespace.VSTestXunitTests.VSTestXunitPassTest");
|
result.StdOut.Should().Contain("Passed TestNamespace.VSTestXunitTests.VSTestXunitPassTest");
|
||||||
result.StdOut.Should().Contain("Failed TestNamespace.VSTestXunitTests.VSTestXunitFailTest");
|
result.StdOut.Should().Contain("Failed TestNamespace.VSTestXunitTests.VSTestXunitFailTest");
|
||||||
|
result.ExitCode.Should().Be(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
[Fact]
|
[Fact]
|
||||||
|
@ -138,4 +140,4 @@ namespace Microsoft.DotNet.Cli.Test.Tests
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -32,12 +32,12 @@ namespace Microsoft.DotNet.Cli.VSTest.Tests
|
||||||
var argsForVstest = $"\"{outputDll.FullName}\"";
|
var argsForVstest = $"\"{outputDll.FullName}\"";
|
||||||
|
|
||||||
// Call vstest
|
// Call vstest
|
||||||
new VSTestCommand()
|
var result = new VSTestCommand().ExecuteWithCapturedOutput(argsForVstest);
|
||||||
.ExecuteWithCapturedOutput(argsForVstest)
|
result.StdOut
|
||||||
.StdOut
|
|
||||||
.Should().Contain("Total tests: 2. Passed: 1. Failed: 1. Skipped: 0.")
|
.Should().Contain("Total tests: 2. Passed: 1. Failed: 1. Skipped: 0.")
|
||||||
.And.Contain("Passed TestNamespace.VSTestTests.VSTestPassTest")
|
.And.Contain("Passed TestNamespace.VSTestTests.VSTestPassTest")
|
||||||
.And.Contain("Failed TestNamespace.VSTestTests.VSTestFailTest");
|
.And.Contain("Failed TestNamespace.VSTestTests.VSTestFailTest");
|
||||||
|
result.ExitCode.Should().Be(1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue