Skip to content

Commit c697b5c

Browse files
authored
Run Wasm tests in workers as well (#552)
This change runs Wasm tests in workers as well. - Fix Node tests not actually running any tests. It was already broken because of an interaction with the latest Rust version and an old Node.js version. - Test dedicated, shared and service worker by using the newly added environment variables: rustwasm/wasm-bindgen#4295.
1 parent 69b3536 commit c697b5c

File tree

3 files changed

+28
-10
lines changed

3 files changed

+28
-10
lines changed

.github/workflows/tests.yml

+22-6
Original file line numberDiff line numberDiff line change
@@ -240,16 +240,14 @@ jobs:
240240

241241
web:
242242
name: Web
243-
runs-on: ubuntu-22.04
243+
runs-on: ubuntu-24.04
244244
steps:
245245
- uses: actions/checkout@v4
246246
- uses: dtolnay/rust-toolchain@stable
247-
- run: choco install wget
248-
if: runner.os == 'Windows'
249247
- name: Install precompiled wasm-pack
250248
shell: bash
251249
run: |
252-
VERSION=v0.12.1
250+
VERSION=v0.13.1
253251
URL=https://github.com/rustwasm/wasm-pack/releases/download/${VERSION}/wasm-pack-${VERSION}-x86_64-unknown-linux-musl.tar.gz
254252
wget -O - $URL | tar -xz --strip-components=1 -C ~/.cargo/bin
255253
wasm-pack --version
@@ -260,11 +258,29 @@ jobs:
260258
run: wasm-pack test --node
261259
- name: Test (Firefox)
262260
env:
263-
RUSTFLAGS: -Dwarnings --cfg getrandom_backend="wasm_js" --cfg getrandom_browser_test
261+
WASM_BINDGEN_USE_BROWSER: 1
262+
RUSTFLAGS: -Dwarnings --cfg getrandom_backend="wasm_js"
264263
run: wasm-pack test --headless --firefox
265264
- name: Test (Chrome)
266265
env:
267-
RUSTFLAGS: -Dwarnings --cfg getrandom_backend="wasm_js" --cfg getrandom_browser_test
266+
WASM_BINDGEN_USE_BROWSER: 1
267+
RUSTFLAGS: -Dwarnings --cfg getrandom_backend="wasm_js"
268+
run: wasm-pack test --headless --chrome
269+
- name: Test (dedicated worker)
270+
env:
271+
WASM_BINDGEN_USE_DEDICATED_WORKER: 1
272+
RUSTFLAGS: -Dwarnings --cfg getrandom_backend="wasm_js"
273+
run: wasm-pack test --headless --firefox
274+
- name: Test (shared worker)
275+
env:
276+
WASM_BINDGEN_USE_SHARED_WORKER: 1
277+
RUSTFLAGS: -Dwarnings --cfg getrandom_backend="wasm_js"
278+
run: wasm-pack test --headless --firefox
279+
- name: Test (service worker)
280+
env:
281+
WASM_BINDGEN_USE_SERVICE_WORKER: 1
282+
RUSTFLAGS: -Dwarnings --cfg getrandom_backend="wasm_js"
283+
# Firefox doesn't support module service workers and therefor can't import scripts
268284
run: wasm-pack test --headless --chrome
269285

270286
wasi:

Cargo.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ windows-targets = "0.52"
6666
[target.'cfg(all(getrandom_backend = "wasm_js", target_arch = "wasm32", target_os = "unknown"))'.dependencies]
6767
wasm-bindgen = { version = "0.2.89", default-features = false }
6868
js-sys = "0.3"
69-
[target.'cfg(all(getrandom_backend = "wasm_js", getrandom_browser_test, target_arch = "wasm32", target_os = "unknown"))'.dev-dependencies]
69+
[target.'cfg(all(getrandom_backend = "wasm_js", target_arch = "wasm32", target_os = "unknown"))'.dev-dependencies]
7070
wasm-bindgen-test = "0.3.39"
7171

7272
[features]

tests/mod.rs

+5-3
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
11
use core::mem::MaybeUninit;
22
use getrandom::{fill, fill_uninit};
33

4-
#[cfg(getrandom_browser_test)]
4+
#[cfg(all(
5+
getrandom_backend = "wasm_js",
6+
target_arch = "wasm32",
7+
target_os = "unknown"
8+
))]
59
use wasm_bindgen_test::wasm_bindgen_test as test;
6-
#[cfg(getrandom_browser_test)]
7-
wasm_bindgen_test::wasm_bindgen_test_configure!(run_in_browser);
810

911
#[test]
1012
fn test_zero() {

0 commit comments

Comments
 (0)