$ErrorActionPreference = 'Stop' $script:failed = 0 function Assert-True($cond, $msg) { if ($cond) { Write-Host "PASS: $msg" } else { Write-Host "FAIL: $msg"; $script:failed++ } } Write-Host "=== environment ===" Write-Host "host=$env:COMPUTERNAME user=$env:USERNAME" Write-Host "ps=$($PSVersionTable.PSVersion)" Write-Host "=== tests ===" Assert-True ($PSVersionTable.PSVersion.Major -ge 5) "PowerShell major >= 5" Assert-True ((Get-CimInstance Win32_OperatingSystem).Caption -match 'Windows') "OS reports as Windows" Assert-True ((2 + 2) -eq 4) "arithmetic sanity" Assert-True ($env:USERNAME -eq 'edr') "running as edr" $tmp = Join-Path $env:TEMP "ci-write-test.txt" "hello $(Get-Date -Format o)" | Out-File -Encoding ascii $tmp Assert-True (Test-Path $tmp) "wrote file under TEMP" Assert-True ((Get-Content $tmp) -match 'hello') "read file content back" Remove-Item $tmp -Force if ($failed -gt 0) { Write-Host "$failed test(s) failed" exit 1 } Write-Host "all tests passed" exit 0