diff --git a/scripts/check.sh b/scripts/check.sh index 9cdccfce..44ae113e 100755 --- a/scripts/check.sh +++ b/scripts/check.sh @@ -110,7 +110,8 @@ run() { run fmt cargo fmt --all -- --check run clippy cargo clippy $pflags --all-targets -- -D warnings -run test env BENILLA_SKIP_LOG="$skips" cargo test $pflags +# --no-fail-fast: one red test binary does not hide the failures in the ones after it. +run test env BENILLA_SKIP_LOG="$skips" cargo test --no-fail-fast $pflags # Data-gated tests skip without the install or the addon corpus and libtest swallows their line, # so each skip is also logged to $BENILLA_SKIP_LOG and counted here. if [ -s "$skips" ]; then diff --git a/scripts/gates.sh b/scripts/gates.sh index b3cb45b4..ed3fbc50 100755 --- a/scripts/gates.sh +++ b/scripts/gates.sh @@ -120,12 +120,12 @@ else "corpus=$([ -d "$root/wow-addons-vanilla" ] && echo yes || echo no)):" \ "data-gated tests skip silently on this machine" fi -run test env ${require_data:+BENILLA_REQUIRE_DATA=1} BENILLA_SKIP_LOG="$skips" cargo test --workspace +run test env ${require_data:+BENILLA_REQUIRE_DATA=1} BENILLA_SKIP_LOG="$skips" cargo test --no-fail-fast --workspace report_skips test # test-no-install: refuses a test that reads the install without `wow_data_or_skip!`. `WOW_DATA=` # (set, empty) is the resolver's "no install"; no build reads it, so the test binaries are reused. -run test-no-install env -u BENILLA_REQUIRE_DATA WOW_DATA= cargo test --workspace +run test-no-install env -u BENILLA_REQUIRE_DATA WOW_DATA= cargo test --no-fail-fast --workspace # doc-links: refuses a doc link to a `crate::`, `super::`, `self::` or `Self::` path whose leaf is # declared nowhere in the workspace. Narrow on purpose: every other unresolved link is a convention.