Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .cargo/config
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
[target.wasm32-unknown-unknown]
runner = 'wasm-bindgen-test-runner'

[target.wasm32-wasi]
runner = 'wasmtime'
35 changes: 16 additions & 19 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,31 +32,28 @@ matrix:
install:
- rustup target add wasm32-unknown-unknown
- rustup target add wasm32-unknown-emscripten
- rustup target add asmjs-unknown-emscripten
- rustup target add wasm32-wasi
- nvm install 9
- ./utils/ci/install_cargo_web.sh
- cargo web prepare-emscripten
- cargo web -V
- cargo list | grep install-update || cargo install -f cargo-update
- cargo install-update -i cargo-update wasm-bindgen-cli wasm-pack
- cargo install cargo-web wasmtime
- curl https://rustwasm.github.io/wasm-pack/installer/init.sh -sSf | sh
addons:
chrome: stable
firefox: latest
env: EMCC_CFLAGS="-s ERROR_ON_UNDEFINED_SYMBOLS=0"
script:
# Testing wasm32-unknown-emscripten fails because of rust-lang/rust#49877
# Running emscripten test binaries fails (see rust-lang/rust#63649).
# However, we can still build and link all tests to make sure that works.
# This is actually useful as it finds stuff such as rust-random/rand#669
- EMCC_CFLAGS="-s ERROR_ON_UNDEFINED_SYMBOLS=0" cargo web test --target wasm32-unknown-emscripten --no-run
#- cargo web test --target wasm32-unknown-emscripten
#- cargo web test --nodejs --target wasm32-unknown-emscripten
#- cargo build --target wasm32-unknown-unknown # without any features
- cargo build --target wasm32-wasi
- cargo build --target wasm32-unknown-unknown
- cargo build --target wasm32-unknown-unknown --features=wasm-bindgen
- cargo web test --target wasm32-unknown-unknown --features=stdweb
- cargo build --manifest-path tests/wasm_bindgen/Cargo.toml --target wasm32-unknown-unknown
- wasm-bindgen --nodejs target/wasm32-unknown-unknown/debug/getrandom_wasm_bindgen_test.wasm --out-dir tests/wasm_bindgen/js
- node tests/wasm_bindgen/js/index.js
- wasm-pack test --node tests/wasm_bindgen
- cargo web test --target wasm32-unknown-emscripten --no-run
- cargo web test --target asmjs-unknown-emscripten --no-run
# wasi tests
- cargo test --target wasm32-wasi
# wasm-bindgen tests
- wasm-pack test --headless --chrome --firefox -- --features=test-in-browser
- wasm-pack test --node -- --features=wasm-bindgen
# wasm-stdweb tests
- cargo web test --target=wasm32-unknown-unknown --features=stdweb
- cargo web test --nodejs --target=wasm32-unknown-unknown --features=stdweb

- name: "Linux, nightly, docs"
rust: nightly
Expand Down
8 changes: 5 additions & 3 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,6 @@ exclude = ["utils/*", ".*", "appveyor.yml"]
travis-ci = { repository = "rust-random/getrandom" }
appveyor = { repository = "rust-random/getrandom" }

[workspace]
members = ["tests/wasm_bindgen"]

[dependencies]
log = { version = "0.4", optional = true }
cfg-if = "0.1"
Expand All @@ -35,9 +32,14 @@ wasi = "0.7"
wasm-bindgen = { version = "0.2.29", optional = true }
stdweb = { version = "0.4.18", optional = true }

[target.wasm32-unknown-unknown.dev-dependencies]
wasm-bindgen-test = "0.2"

[features]
std = []
# Enables dummy implementation for unsupported targets
dummy = []
# Unstable feature to support being a libstd dependency
rustc-dep-of-std = ["compiler_builtins", "core"]
# Usstable feature for testing
Comment thread
josephlr marked this conversation as resolved.
Outdated
test-in-browser = ["wasm-bindgen"]
9 changes: 8 additions & 1 deletion tests/mod.rs → tests/common.rs
Original file line number Diff line number Diff line change
@@ -1,13 +1,19 @@
extern crate getrandom;
#[cfg(feature = "wasm-bindgen")]
use wasm_bindgen_test::*;

use getrandom::getrandom;

#[cfg(feature = "test-in-browser")]
wasm_bindgen_test_configure!(run_in_browser);

#[cfg_attr(feature = "wasm-bindgen", wasm_bindgen_test)]
#[test]
fn test_zero() {
// Test that APIs are happy with zero-length requests
getrandom(&mut [0u8; 0]).unwrap();
}

#[cfg_attr(feature = "wasm-bindgen", wasm_bindgen_test)]
#[test]
fn test_diff() {
let mut v1 = [0u8; 1000];
Expand All @@ -25,6 +31,7 @@ fn test_diff() {
assert!(n_diff_bits >= v1.len() as u32);
}

#[cfg_attr(feature = "wasm-bindgen", wasm_bindgen_test)]
#[test]
fn test_huge() {
let mut huge = [0u8; 100_000];
Expand Down
15 changes: 0 additions & 15 deletions tests/wasm_bindgen/Cargo.toml

This file was deleted.

5 changes: 0 additions & 5 deletions tests/wasm_bindgen/js/index.js

This file was deleted.

55 changes: 0 additions & 55 deletions tests/wasm_bindgen/src/lib.rs

This file was deleted.

15 changes: 0 additions & 15 deletions utils/ci/install_cargo_web.sh

This file was deleted.