From: Bennet Bleßmann Date: Fri, 16 Feb 2024 22:18:21 +0000 (+0100) Subject: fix compilation of wasm32 test and skip to run wasm32 tests X-Git-Tag: v0.9.4~3^2~3 X-Git-Url: https://git.sagredo.dev/?a=commitdiff_plain;h=e5ad70c093ea0150bc06303ba99dfaa73bed310d;p=scryer-prolog.git fix compilation of wasm32 test and skip to run wasm32 tests --- diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 20defe86..44aad834 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -44,7 +44,8 @@ jobs: # architectures - { os: ubuntu-22.04, rust-version: stable, target: 'x86_64-unknown-linux-gnu', publish: true } - { os: ubuntu-22.04, rust-version: stable, target: 'i686-unknown-linux-gnu', publish: true } - - { os: ubuntu-22.04, rust-version: nightly, target: 'wasm32-unknown-unknown', publish: true, args: '--no-default-features' } + # FIXME(issue #2138): run wasm tests, failing to run since https://github.com/mthom/scryer-prolog/pull/2137 removed wasm-pack + - { os: ubuntu-22.04, rust-version: nightly, target: 'wasm32-unknown-unknown', publish: true, args: '--no-default-features' , test-args: '--no-run --no-default-features' } # rust versions - { os: ubuntu-22.04, rust-version: "1.70", target: 'x86_64-unknown-linux-gnu'} - { os: ubuntu-22.04, rust-version: beta, target: 'x86_64-unknown-linux-gnu'} @@ -65,7 +66,7 @@ jobs: - name: Build library run: cargo build --all-targets --target ${{ matrix.target }} ${{ matrix.args }} --verbose - name: Test - run: cargo test --target ${{ matrix.target }} ${{ matrix.args }} --all + run: cargo test --target ${{ matrix.target }} ${{ matrix.test-args }} --all # On stable rust builds, build a binary and publish as a github actions # artifact. These binaries could be useful for testing the pipeline but diff --git a/Cargo.toml b/Cargo.toml index 62fab35f..461cba64 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -37,55 +37,55 @@ to-syn-value_derive = "0.1.1" walkdir = "2" [dependencies] +base64 = "0.12.3" bit-set = "0.5.3" bitvec = "1" +blake2 = "0.8.1" +bytes = "1" +chrono = "0.4.11" cpu-time = "1.0.0" +crrl = "0.6.0" +dashu = "0.4.0" +derive_deref = "1.1.1" dirs-next = "2.0.0" divrem = "0.1.0" +futures = "0.3" fxhash = "0.2.1" git-version = "0.3.4" indexmap = "1.0.2" lazy_static = "1.4.0" lexical = "5.2.2" libc = "0.2.62" +libloading = "0.7" modular-bitfield = "0.11.2" +num-order = { version = "1.2.0" } ordered-float = "2.6.0" phf = { version = "0.9", features = ["macros"] } +rand = "0.8.5" ref_thread_local = "0.0.0" +regex = "1.9.1" +ring = { version = "0.17.5", features = ["wasm32_unknown_unknown_js"] } ripemd160 = "0.8.0" -sha3 = "0.8.2" -blake2 = "0.8.1" -crrl = "0.6.0" -chrono = "0.4.11" -select = "0.6.0" roxmltree = "0.11.0" -base64 = "0.12.3" +ryu = "1.0.9" +select = "0.6.0" +sha3 = "0.8.2" smallvec = "1.8.0" static_assertions = "1.1.0" -ryu = "1.0.9" -futures = "0.3" -regex = "1.9.1" -libloading = "0.7" -derive_deref = "1.1.1" -bytes = "1" -dashu = "0.4.0" -num-order = { version = "1.2.0" } -rand = "0.8.5" -ring = { version = "0.17.5", features = ["wasm32_unknown_unknown_js"] } serde_json = "1.0.95" serde = "1.0.159" [target.'cfg(not(target_arch = "wasm32"))'.dependencies] -libffi = { version = "3.2.0", optional = true } -hostname = { version = "0.3.1", optional = true } crossterm = { version = "0.20.0", optional = true } ctrlc = { version = "3.2.2", optional = true } -rustyline = { version = "12.0.0", optional = true } +hostname = { version = "0.3.1", optional = true } +libffi = { version = "3.2.0", optional = true } native-tls = { version = "0.2.4", optional = true } -warp = { version = "=0.3.5", features = ["tls"], optional = true } reqwest = { version = "0.11.18", optional = true } +rustyline = { version = "12.0.0", optional = true } tokio = { version = "1.28.2", features = ["full"] } +warp = { version = "=0.3.5", features = ["tls"], optional = true } [target.'cfg(target_arch = "wasm32")'.dependencies] getrandom = { version = "0.2.10", features = ["js"] } @@ -102,19 +102,26 @@ console_error_panic_hook = "0.1" wasm-bindgen = "0.2.87" wasm-bindgen-futures = "0.4" serde-wasm-bindgen = "0.5" -web-sys = { version = "0.3", features = ["Document", "Window", "Element", "Performance"] } +web-sys = { version = "0.3", features = [ + "Document", + "Window", + "Element", + "Performance", +] } js-sys = "0.3" [dev-dependencies] -assert_cmd = "1.0.3" -predicates-core = "1.0.2" maplit = "1.0.2" +predicates-core = "1.0.2" serial_test = "2.0.0" -iai-callgrind = { git = "https://github.com/iai-callgrind/iai-callgrind.git", rev = "c77bc3c83d7f4e976cc42d4597236a8db259e772" } + +[target.'cfg(not(all(target_arch = "wasm32", target_os = "unknown")))'.dev-dependencies] +assert_cmd = "1.0.3" criterion = "0.5.1" +iai-callgrind = { git = "https://github.com/iai-callgrind/iai-callgrind.git", rev = "c77bc3c83d7f4e976cc42d4597236a8db259e772" } trycmd = "0.14.19" -[target.'cfg(not(target_os = "windows"))'.dev-dependencies] +[target.'cfg(not(any(target_os = "windows", all(target_arch = "wasm32", target_os = "unknown"))))'.dev-dependencies] pprof = { version = "0.13.0", features = ["criterion", "flamegraph"] } [patch.crates-io] diff --git a/src/bin/scryer-prolog.rs b/src/bin/scryer-prolog.rs index 9ae80773..b1af916d 100644 --- a/src/bin/scryer-prolog.rs +++ b/src/bin/scryer-prolog.rs @@ -1,11 +1,10 @@ fn main() -> std::process::ExitCode { use scryer_prolog::atom_table::Atom; use scryer_prolog::*; - use std::sync::atomic::Ordering; #[cfg(feature = "repl")] ctrlc::set_handler(move || { - scryer_prolog::machine::INTERRUPT.store(true, Ordering::Relaxed); + scryer_prolog::machine::INTERRUPT.store(true, std::sync::atomic::Ordering::Relaxed); }) .unwrap(); diff --git a/tests/scryer/main.rs b/tests/scryer/main.rs index d1e826f0..878f0d90 100644 --- a/tests/scryer/main.rs +++ b/tests/scryer/main.rs @@ -13,6 +13,7 @@ mod src_tests; /// to re-generate all reference output files run `TRYCMD=overwrite cargo test -- cli_test` /// then check that the changes are as expected e.g. by looking at the `git diff` #[test] +#[cfg(not(all(target_arch = "wasm32", target_os = "unknown")))] #[cfg_attr(miri, ignore = "blocked on crossbeam UB")] fn cli_tests() { trycmd::TestCases::new()