@@ -29,34 +29,51 @@ matrix:
2929
3030 - name : " WASM via emscripten, stdweb, wasm-bindgen and WASI"
3131 rust : nightly
32+ addons :
33+ firefox : 69.0
34+ chrome : stable
3235 install :
3336 - rustup target add wasm32-unknown-unknown
3437 - rustup target add wasm32-unknown-emscripten
38+ - rustup target add asmjs-unknown-emscripten
3539 - rustup target add wasm32-wasi
36- - nvm install 9
37- - ./utils/ci/install_cargo_web.sh
40+ # Get geckodriver
41+ - wget -O geckodriver.tar.gz https://github.com/mozilla/geckodriver/releases/download/v0.25.0/geckodriver-v0.25.0-linux64.tar.gz
42+ - tar -xzf geckodriver.tar.gz
43+ # Get chromedirver (we cannot pin chrome version, so don't pin chromedriver version)
44+ - export VERSION=$(wget -q -O - https://chromedriver.storage.googleapis.com/LATEST_RELEASE)
45+ - wget -O chromedriver.zip https://chromedriver.storage.googleapis.com/$VERSION/chromedriver_linux64.zip
46+ - unzip chromedriver.zip
47+ # Get cargo-web
48+ - wget -O cargo-web.gz https://github.com/koute/cargo-web/releases/download/0.6.26/cargo-web-x86_64-unknown-linux-gnu.gz
49+ - gunzip cargo-web.gz
50+ - chmod +x cargo-web
51+ # Get wasmtime
52+ - wget -O wasmtime.tar.xz https://github.com/CraneStation/wasmtime/releases/download/v0.3.0/wasmtime-v0.3.0-x86_64-linux.tar.xz
53+ - tar -xf wasmtime.tar.xz --strip-components=1
54+ # Get wasm-bindgen-test-runner
55+ - wget -O wasm-bindgen.tar.gz https://github.com/rustwasm/wasm-bindgen/releases/download/0.2.50/wasm-bindgen-0.2.50-x86_64-unknown-linux-musl.tar.gz
56+ - tar -xzf wasm-bindgen.tar.gz --strip-components=1
57+ # Place the runner binaries in our PATH
58+ - mv cargo-web wasmtime wasm-bindgen-test-runner $HOME/.cargo/bin
59+ # Download and setup emscripten
3860 - cargo web prepare-emscripten
39- - cargo web -V
40- - cargo list | grep install-update || cargo install -f cargo-update
41- - cargo install-update -i cargo-update wasm-bindgen-cli wasm-pack
42- addons :
43- chrome : stable
61+ env : EMCC_CFLAGS="-s ERROR_ON_UNDEFINED_SYMBOLS=0"
4462 script :
45- # Testing wasm32-unknown- emscripten fails because of rust-lang/rust#49877
63+ # We cannot run emscripten test binaries (see rust-lang/rust#63649).
4664 # However, we can still build and link all tests to make sure that works.
4765 # This is actually useful as it finds stuff such as rust-random/rand#669
48- - EMCC_CFLAGS="-s ERROR_ON_UNDEFINED_SYMBOLS=0" cargo web test --target wasm32-unknown-emscripten --no-run
49- # - cargo web test --target wasm32-unknown-emscripten
50- # - cargo web test --nodejs --target wasm32-unknown-emscripten
51- # - cargo build --target wasm32-unknown-unknown # without any features
52- - cargo build --target wasm32-wasi
53- - cargo build --target wasm32-unknown-unknown
54- - cargo build --target wasm32-unknown-unknown --features=wasm-bindgen
55- - cargo web test --target wasm32-unknown-unknown --features=stdweb
56- - cargo build --manifest-path tests/wasm_bindgen/Cargo.toml --target wasm32-unknown-unknown
57- - wasm-bindgen --nodejs target/wasm32-unknown-unknown/debug/getrandom_wasm_bindgen_test.wasm --out-dir tests/wasm_bindgen/js
58- - node tests/wasm_bindgen/js/index.js
59- - wasm-pack test --node tests/wasm_bindgen
66+ - cargo web test --target wasm32-unknown-emscripten --no-run
67+ - cargo web test --target asmjs-unknown-emscripten --no-run
68+ # wasi tests
69+ - cargo test --target wasm32-wasi
70+ # stdweb tests (Node, Chrome)
71+ - cargo web test --nodejs --target=wasm32-unknown-unknown --features=stdweb
72+ - cargo web test --target=wasm32-unknown-unknown --features=stdweb
73+ # wasm-bindgen tests (Node, Firefox, Chrome)
74+ - cargo test --target wasm32-unknown-unknown --features=wasm-bindgen
75+ - GECKODRIVER=$PWD/geckodriver cargo test --target wasm32-unknown-unknown --features=test-in-browser
76+ - CHROMEDRIVER=$PWD/chromedriver cargo test --target wasm32-unknown-unknown --features=test-in-browser
6077
6178 - name : " Linux, nightly, docs"
6279 rust : nightly
0 commit comments