2015-12-14 17:39:29 -08: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.
#
2015-12-28 11:47:21 -08:00
. " $PSScriptRoot \..\common\_common.ps1 "
2015-12-14 17:39:29 -08:00
2015-12-18 16:39:43 -08:00
$failCount = 0
2015-12-14 17:39:29 -08:00
$TestBinRoot = " $RepoRoot \artifacts\tests "
$TestProjects = @ (
" E2E " ,
2016-01-06 15:30:56 -08:00
" StreamForwarderTests "
2015-12-14 17:39:29 -08:00
" Microsoft.DotNet.Tools.Publish.Tests "
2016-01-08 11:03:14 -08:00
" Microsoft.DotNet.Tools.Compiler.Tests "
2015-12-14 17:39:29 -08:00
)
# Publish each test project
$TestProjects | ForEach-Object {
dotnet publish - -framework " dnxcore50 " - -runtime " $Rid " - -output " $TestBinRoot " - -configuration " $Configuration " " $RepoRoot \test\ $_ "
if ( ! $ ? ) {
Write-Host Command failed : dotnet publish - -framework " dnxcore50 " - -runtime " $Rid " - -output " $TestBinRoot " - -configuration " $Configuration " " $RepoRoot \test\ $_ "
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 ( " = " , 2 ) ; set-item -force -literalpath " ENV:\ $( $v [ 0 ] ) " -value " $( $v [ 1 ] ) "
}
}
popd
# copy TestProjects folder which is used by the test cases
mkdir -Force " $TestBinRoot \TestProjects "
cp -rec -Force " $RepoRoot \test\TestProjects\* " " $TestBinRoot \TestProjects "
$failCount = 0
$failingTests = @ ( )
pushd " $TestBinRoot "
# Run each test project
$TestProjects | ForEach-Object {
2015-12-18 16:39:43 -08:00
& " .\corerun " " xunit.console.netcore.exe " " $_ .dll " -xml " $_ -testResults.xml " -notrait category = failing
2015-12-14 17:39:29 -08:00
$exitCode = $LastExitCode
if ( $exitCode -ne 0 ) {
$failingTests + = " $_ "
}
$failCount + = $exitCode
}
popd
2016-01-06 02:27:16 -08:00
& $RepoRoot \ scripts \ test \ package-command -test . ps1
$exitCode = $LastExitCode
if ( $exitCode -ne 0 ) {
$failCount + = 1
$failingTests + = " package-command-test "
}
2015-12-14 17:39:29 -08:00
if ( $failCount -ne 0 ) {
Write-Host -ForegroundColor Red " The following tests failed. "
$failingTests | ForEach-Object {
2016-01-05 15:54:50 -08:00
Write-Host -ForegroundColor Red " $_ .dll failed. Logs in ' $TestBinRoot \ $_ -testResults.xml' "
2015-12-14 17:39:29 -08:00
}
2015-12-18 16:39:43 -08:00
} else {
2015-12-14 17:39:29 -08:00
Write-Host -ForegroundColor Green " All the tests passed! "
}
Exit $failCount