From f8c93a1836baa87de229debbd437d0644bb598c4 Mon Sep 17 00:00:00 2001 From: Elichai Turkel Date: Fri, 18 Dec 2020 14:08:52 +0200 Subject: [PATCH] Make test.sh test and build secp256k1-sys --- Cargo.toml | 4 ++++ contrib/test.sh | 41 ++++++++++++++++++++++------------------- 2 files changed, 26 insertions(+), 19 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 50bc31248..2669d2990 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -61,3 +61,7 @@ name = "sign_verify" [[example]] name = "generate_keys" required-features = ["rand"] + +[workspace] +members = ["secp256k1-sys"] +exclude = ["no_std_test"] \ No newline at end of file diff --git a/contrib/test.sh b/contrib/test.sh index 0d55b4d1d..671675b34 100755 --- a/contrib/test.sh +++ b/contrib/test.sh @@ -11,30 +11,33 @@ fi cargo --version rustc --version +# Make all cargo invocations verbose +export CARGO_TERM_VERBOSE=true + # Defaults / sanity checks -cargo build --verbose -cargo test --verbose +cargo build --workspace +cargo test --workspace if [ "$DO_FEATURE_MATRIX" = true ]; then - cargo build --verbose --no-default-features + cargo build --workspace --no-default-features #This doesn't work but probably should --andrew - #cargo test --verbose --no-default-features + #cargo test --workspace --no-default-features # All features - cargo build --verbose --no-default-features --features="$FEATURES" - cargo test --verbose --features="$FEATURES" + cargo build --workspace --no-default-features --features="$FEATURES" + cargo test --workspace --features="$FEATURES" # Single features for feature in ${FEATURES} do - cargo build --verbose --no-default-features --features="$feature" - cargo test --verbose --features="$feature" + cargo build --workspace --no-default-features --features="$feature" + cargo test --workspace --features="$feature" done - # Other combos - cargo test --no-run --verbose --features="fuzztarget" - cargo test --no-run --verbose --features="fuzztarget recovery" - cargo test --verbose --features="rand rand-std" - cargo test --verbose --features="rand serde" + # Other combos + cargo test --no-run --workspace --features="fuzztarget" + cargo test --no-run --workspace --features="fuzztarget recovery" + cargo test --workspace --features="rand rand-std" + cargo test --workspace --features="rand serde" # Examples cargo run --example sign_verify @@ -44,13 +47,13 @@ fi # Docs if [ "$DO_DOCS" = true ]; then - cargo doc --verbose --features="$FEATURES" + cargo doc --workspace --features="$FEATURES" fi # Webassembly stuff if [ "$DO_WASM" = true ]; then clang --version && - CARGO_TARGET_DIR=wasm cargo install --verbose --force wasm-pack && + CARGO_TARGET_DIR=wasm cargo install --force wasm-pack && printf '\n[lib]\ncrate-type = ["cdylib", "rlib"]\n' >> Cargo.toml && CC=clang-9 wasm-pack build && CC=clang-9 wasm-pack test --node; @@ -62,16 +65,16 @@ if [ "$DO_ASAN" = true ]; then CC='clang -fsanitize=address -fno-omit-frame-pointer' \ RUSTFLAGS='-Zsanitizer=address -Clinker=clang -Cforce-frame-pointers=yes' \ ASAN_OPTIONS='detect_leaks=1 detect_invalid_pointer_pairs=1 detect_stack_use_after_return=1' \ - cargo test --lib --verbose --features="$FEATURES" -Zbuild-std --target x86_64-unknown-linux-gnu && + cargo test --lib --workspace --features="$FEATURES" -Zbuild-std --target x86_64-unknown-linux-gnu && cargo clean && CC='clang -fsanitize=memory -fno-omit-frame-pointer' \ RUSTFLAGS='-Zsanitizer=memory -Zsanitizer-memory-track-origins -Cforce-frame-pointers=yes' \ - cargo test --lib --verbose --features="$FEATURES" -Zbuild-std --target x86_64-unknown-linux-gnu && - cd no_std_test && cargo run --release | grep -q "Verified Successfully" + cargo test --lib --workspace --features="$FEATURES" -Zbuild-std --target x86_64-unknown-linux-gnu && + cargo run --release --manifest-path=./no_std_test/Cargo.toml | grep -q "Verified Successfully" fi # Bench if [ "$DO_BENCH" = true ]; then - cargo bench --features="unstable" + cargo bench --workspace --features="unstable" fi