Files
MosisService/sandbox-test/run_tests.ps1

68 lines
1.8 KiB
PowerShell

#!/usr/bin/env pwsh
# Sandbox Test Runner for PowerShell
Write-Host "========================================"
Write-Host " MOSIS SANDBOX TEST RUNNER"
Write-Host "========================================"
Write-Host ""
$ErrorActionPreference = "Stop"
$scriptDir = Split-Path -Parent $MyInvocation.MyCommand.Path
Push-Location $scriptDir
try {
# Check if build exists
if (-not (Test-Path "build/Debug/sandbox-test.exe")) {
Write-Host "Build not found. Building..."
Write-Host ""
# Check VCPKG_ROOT
if (-not $env:VCPKG_ROOT) {
Write-Error "VCPKG_ROOT environment variable not set"
exit 1
}
# Configure
Write-Host "Configuring CMake..."
cmake -B build "-DCMAKE_TOOLCHAIN_FILE=$env:VCPKG_ROOT/scripts/buildsystems/vcpkg.cmake"
if ($LASTEXITCODE -ne 0) {
Write-Error "CMake configure failed"
exit 1
}
# Build
Write-Host "Building..."
cmake --build build --config Debug
if ($LASTEXITCODE -ne 0) {
Write-Error "Build failed"
exit 1
}
Write-Host ""
}
# Run tests
Write-Host "Running tests..."
Write-Host ""
Push-Location "build/Debug"
& ./sandbox-test.exe @args
$testResult = $LASTEXITCODE
Pop-Location
Write-Host ""
if ($testResult -eq 0) {
Write-Host "========================================"
Write-Host " ALL TESTS PASSED"
Write-Host "========================================"
} else {
Write-Host "========================================"
Write-Host " SOME TESTS FAILED"
Write-Host "========================================"
}
exit $testResult
}
finally {
Pop-Location
}