@@ -29,41 +29,51 @@ matrix:
29
29
30
30
- name : " WASM via emscripten, stdweb, wasm-bindgen and WASI"
31
31
rust : nightly
32
+ addons :
33
+ firefox : 69.0
34
+ chrome : stable
32
35
install :
33
- - echo $PATH
34
36
- rustup target add wasm32-unknown-unknown
35
37
- rustup target add wasm32-unknown-emscripten
36
38
- rustup target add asmjs-unknown-emscripten
37
39
- rustup target add wasm32-wasi
38
- # Install pre-built binaries
39
- - wget https://github.com/koute/cargo-web/releases/download/0.6.26/cargo-web-x86_64-unknown-linux-gnu.gz -O cargo-web.gz
40
- - wget https://github.com/CraneStation/wasmtime/releases/download/v0.3.0/wasmtime-v0.3.0-x86_64-linux.tar.xz -O wasmtime.tar.xz
41
- - wget https://github.com/rustwasm/wasm-pack/releases/download/v0.8.1/wasm-pack-v0.8.1-x86_64-unknown-linux-musl.tar.gz -O wasm-pack.tar.gz
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
42
49
- gunzip cargo-web.gz
43
50
- chmod +x cargo-web
44
- - mkdir wasm-pack wasmtime
45
- - tar -xzf wasm-pack.tar.gz --strip-components=1 -C wasm-pack
46
- - tar -xf wasmtime.tar.xz --strip-components=1 -C wasmtime
47
- - mv cargo-web wasmtime/wasmtime wasm-pack/wasm-pack $HOME/.cargo/bin
48
- addons :
49
- firefox : latest
50
- chrome : stable
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
60
+ - cargo web prepare-emscripten
51
61
env : EMCC_CFLAGS="-s ERROR_ON_UNDEFINED_SYMBOLS=0"
52
62
script :
53
- # Running emscripten test binaries fails (see rust-lang/rust#63649).
63
+ # We cannot run emscripten test binaries (see rust-lang/rust#63649).
54
64
# However, we can still build and link all tests to make sure that works.
55
65
# This is actually useful as it finds stuff such as rust-random/rand#669
56
66
- cargo web test --target wasm32-unknown-emscripten --no-run
57
67
- cargo web test --target asmjs-unknown-emscripten --no-run
58
68
# wasi tests
59
69
- cargo test --target wasm32-wasi
60
- # wasm- stdweb tests
70
+ # stdweb tests (Node, Chrome)
61
71
- cargo web test --nodejs --target=wasm32-unknown-unknown --features=stdweb
62
72
- cargo web test --target=wasm32-unknown-unknown --features=stdweb
63
- # wasm-bindgen tests
64
- - wasm-pack test --node -- --features=wasm-bindgen
65
- - wasm-pack test --headless --firefox -- --features=test-in-browser
66
- - wasm-pack test --headless --chrome -- --features=test-in-browser
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
67
77
68
78
- name : " Linux, nightly, docs"
69
79
rust : nightly
0 commit comments