w
This commit is contained in:
parent
03ddaa09f2
commit
caa90775f9
89 changed files with 7126 additions and 0 deletions
32
scripts/test-all.ps1
Normal file
32
scripts/test-all.ps1
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
param([switch]$RequireToolchain)
|
||||
$ErrorActionPreference = 'Stop'
|
||||
$workspace = (Resolve-Path -LiteralPath (Join-Path $PSScriptRoot '..')).Path
|
||||
|
||||
function Run-CheckedPowerShell([string]$Path) {
|
||||
& powershell.exe -NoProfile -ExecutionPolicy Bypass -File $Path
|
||||
if ($LASTEXITCODE -ne 0) { throw "PowerShell test failed: $Path" }
|
||||
}
|
||||
Run-CheckedPowerShell (Join-Path $workspace 'tests\kernel-source-contract.ps1')
|
||||
Run-CheckedPowerShell (Join-Path $workspace 'tests\source-contract.ps1')
|
||||
|
||||
$node = Get-Command node -ErrorAction SilentlyContinue
|
||||
if ($node) {
|
||||
foreach ($test in @('js-syntax.mjs','module-clone.mjs','precision-reference.mjs','analytic-interior.mjs','pixel-mapping.mjs','pixel-contract.mjs','runtime-budget.mjs')) {
|
||||
& $node.Source (Join-Path $workspace "tests\$test")
|
||||
if ($LASTEXITCODE -ne 0) { throw "Node regression test failed: $test" }
|
||||
}
|
||||
} elseif ($RequireToolchain) { throw 'Node.js is required by -RequireToolchain.' }
|
||||
else { Write-Warning 'Node.js is unavailable; executable JavaScript/WASM tests were skipped.' }
|
||||
|
||||
$clang = Get-Command clang -ErrorAction SilentlyContinue
|
||||
$sourceGolden = $false
|
||||
if ($clang -and $node -and ((& $clang.Source --version | Select-Object -First 1) -match '17\.0\.6')) {
|
||||
$generated = & powershell.exe -NoProfile -ExecutionPolicy Bypass -File (Join-Path $workspace 'scripts\build-wasm.ps1') -Compiler $clang.Source
|
||||
if ($LASTEXITCODE -ne 0) { throw 'Source-WASM build failed.' }
|
||||
& powershell.exe -NoProfile -ExecutionPolicy Bypass -File (Join-Path $workspace 'tests\kernel-golden.ps1') -GeneratedDirectory (Split-Path $generated)
|
||||
if ($LASTEXITCODE -ne 0) { throw 'Generated-WASM golden failed.' }
|
||||
$sourceGolden = $true
|
||||
} elseif ($RequireToolchain) { throw 'clang 17.0.6 is required by -RequireToolchain.' }
|
||||
else { Write-Warning 'clang 17.0.6 is unavailable; source-WASM build/golden was skipped.' }
|
||||
|
||||
[ordered]@{ status='pass'; nodeTests=[bool]$node; sourceWasmGolden=$sourceGolden } | ConvertTo-Json
|
||||
Loading…
Add table
Add a link
Reference in a new issue