![Bryan](/assets/img/avatar_default.png)
Fix the refactoring bugs fix restore downgrade version of package command test Linux Test Script Fixes use corehost instead of corerun for arg testing don't copy corehost fix scripts Account for change in publish path, use corerun. Issue with AppContext.BaseDirectory in corehost. Case Sensitive Reflector wait for process exit Fix bug in runtests.ps1 fix release build output path fixup bug in runtests.sh
90 lines
2.4 KiB
PowerShell
90 lines
2.4 KiB
PowerShell
#
|
|
# 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\_common.ps1"
|
|
|
|
$failCount = 0
|
|
|
|
$TestBinRoot = "$RepoRoot\artifacts\tests"
|
|
|
|
$TestProjects = @(
|
|
"E2E",
|
|
"StreamForwarderTests",
|
|
"Microsoft.DotNet.Tools.Publish.Tests",
|
|
"Microsoft.DotNet.Tools.Compiler.Tests",
|
|
"Microsoft.DotNet.Tools.Builder.Tests"
|
|
)
|
|
|
|
$TestScripts = @(
|
|
"package-command-test.ps1",
|
|
"argument-forwarding-tests.ps1"
|
|
)
|
|
|
|
# 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
|
|
}
|
|
}
|
|
|
|
if (Test-Path $TestBinRoot\$Configuration\dnxcore50) {
|
|
cp $TestBinRoot\$Configuration\dnxcore50\* $TestBinRoot -force -recurse
|
|
}
|
|
|
|
## 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 {
|
|
& ".\corerun" "xunit.console.netcore.exe" "$_.dll" -xml "$_-testResults.xml" -notrait category=failing
|
|
$exitCode = $LastExitCode
|
|
if ($exitCode -ne 0) {
|
|
$failingTests += "$_"
|
|
}
|
|
|
|
$failCount += $exitCode
|
|
}
|
|
|
|
popd
|
|
|
|
$TestScripts | ForEach-Object {
|
|
& "$RepoRoot\scripts\test\$_"
|
|
$exitCode = $LastExitCode
|
|
if ($exitCode -ne 0) {
|
|
$failingTests += "$_"
|
|
$failCount += 1
|
|
}
|
|
}
|
|
|
|
if ($failCount -ne 0) {
|
|
Write-Host -ForegroundColor Red "The following tests failed."
|
|
$failingTests | ForEach-Object {
|
|
Write-Host -ForegroundColor Red "$_.dll failed. Logs in '$TestBinRoot\$_-testResults.xml'"
|
|
}
|
|
} else {
|
|
Write-Host -ForegroundColor Green "All the tests passed!"
|
|
}
|
|
|
|
Exit $failCount
|