From c12dc5fe17d68b55d473aacb5aace4634f4ffb84 Mon Sep 17 00:00:00 2001 From: Your Name Date: Tue, 26 Aug 2025 07:27:02 +0200 Subject: [PATCH] scripts: ensure wasm-bindgen-test-cli is installed and set WASM_BINDGEN_TEST_RUNNER --- scripts/run-wasm-tests.ps1 | 25 ++++++++++++++++++++----- 1 file changed, 20 insertions(+), 5 deletions(-) diff --git a/scripts/run-wasm-tests.ps1 b/scripts/run-wasm-tests.ps1 index adc4c7d..70fc07c 100644 --- a/scripts/run-wasm-tests.ps1 +++ b/scripts/run-wasm-tests.ps1 @@ -23,9 +23,9 @@ function Set-WasmToolchainEnv { $env:CC_wasm32_unknown_unknown = $env:CC $env:AR_wasm32_unknown_unknown = $env:AR $env:NM_wasm32_unknown_unknown = $env:NM - $env:CC_wasm32-unknown-unknown = $env:CC - $env:AR_wasm32-unknown-unknown = $env:AR - $env:NM_wasm32-unknown-unknown = $env:NM + [System.Environment]::SetEnvironmentVariable('CC_wasm32-unknown-unknown', $env:CC, 'Process') + [System.Environment]::SetEnvironmentVariable('AR_wasm32-unknown-unknown', $env:AR, 'Process') + [System.Environment]::SetEnvironmentVariable('NM_wasm32-unknown-unknown', $env:NM, 'Process') } function Invoke-WasmPackTests { @@ -39,11 +39,28 @@ function Invoke-WasmPackTests { if ($Node) { wasm-pack test --node } } +$runnerSet = $false +function Ensure-WasmBindgenRunner { + param() + $runner = Join-Path "$env:USERPROFILE\.cargo\bin" "wasm-bindgen-test-runner.exe" + if (-not (Test-Path $runner)) { + Write-Host "Installing wasm-bindgen-test-cli..." -ForegroundColor Yellow + cargo install wasm-bindgen-test-cli --locked --force | Out-Null + } + if (Test-Path $runner) { + $script:runnerSet = $true + $env:WASM_BINDGEN_TEST_RUNNER = $runner + } else { + Write-Warning "wasm-bindgen-test-runner introuvable après installation. PATH: $env:PATH" + } +} + $scriptsDir = Split-Path -Parent $MyInvocation.MyCommand.Path $repoRoot = Split-Path -Parent $scriptsDir Push-Location $repoRoot try { Set-WasmToolchainEnv + Ensure-WasmBindgenRunner cargo clean --target wasm32-unknown-unknown | Out-Null try { Invoke-WasmPackTests -Chrome -Firefox @@ -54,5 +71,3 @@ try { } finally { Pop-Location } - -