4b217db9c0
Decompose into self-contained granular components Provide reasonable defaults for cross cutting concerns, allowing for independent execution of steps Start unifying Windows/Bash architecture fix Bash CI scripts dockerbuild.sh _common.sh path Add missing restore-packages.sh Copy/paste issues Quote $SOURCE fix .gitignore PR Feedback Merge in @SridarMS's work to avoid redownloading DNX enabling build of dotnet-build merge in @SridharMS's CentOS changes Enable building FSC enable restoring specific subdirectories Fix dnx version check Add missed dependency Fix pathing to tests Match Linux build version to Windows, fixing linux tests as a side effect. workaround for coreclr#2215 fix pathing issue disable building in docker BUILD_IN_DOCKER was set, somehow... fix headers
68 lines
1.9 KiB
PowerShell
68 lines
1.9 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"
|
|
|
|
$TestBinRoot = "$RepoRoot\artifacts\tests"
|
|
|
|
$TestProjects = @(
|
|
"E2E",
|
|
"Microsoft.DotNet.Tools.Publish.Tests"
|
|
)
|
|
|
|
# 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 {
|
|
& "corerun.exe" "xunit.console.netcore.exe" "$_.dll" -xml "$_.xml" -notrait category=failing
|
|
$exitCode = $LastExitCode
|
|
if ($exitCode -ne 0) {
|
|
$failingTests += "$_"
|
|
}
|
|
|
|
$failCount += $exitCode
|
|
}
|
|
|
|
popd
|
|
|
|
if ($failCount -ne 0) {
|
|
Write-Host -ForegroundColor Red "The following tests failed."
|
|
$failingTests | ForEach-Object {
|
|
Write-Host -ForegroundColor Red "$_.dll failed. Logs in '$TestBinRoot\$_.xml'"
|
|
}
|
|
}
|
|
else {
|
|
Write-Host -ForegroundColor Green "All the tests passed!"
|
|
}
|
|
|
|
Exit $failCount
|