blob: 14cf63b94d481d6d822be4cac12f1671bfeec91b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
#!/bin/sh
# ignore-tidy-linelength
set -eu
set -x # so one can see where we are in the script
X_PY="$1"
# Try to test the toolstate-tracked tools and store the build/test success in the TOOLSTATE_FILE.
# Pre-build the compiler and the library first to output a better error message when the build
# itself fails (see https://github.com/rust-lang/rust/issues/127869 for context).
python3 "$X_PY" build --stage 2 compiler rustdoc
set +e
python3 "$X_PY" test --stage 2 --no-fail-fast \
src/doc/book \
src/doc/nomicon \
src/doc/reference \
src/doc/rust-by-example \
src/doc/embedded-book \
src/doc/edition-guide \
set -e
# debugging: print out the saved toolstates
cat /tmp/toolstate/toolstates.json
# Test remaining tools that must pass.
python3 "$X_PY" test --stage 2 check-tools
python3 "$X_PY" test --stage 2 src/tools/clippy
python3 "$X_PY" test --stage 2 src/tools/rustfmt
# The below is a regression test for https://github.com/rust-lang/rust/pull/146501#issuecomment-3292608398.
# The bug caused 0 tests to run. By grepping on that 1 test is run we prevent regressing.
# Any test can be used. We arbitrarily chose `tests/ui/lint/unused/unused-result.rs`.
python3 "$X_PY" test tests/ui --test-args tests/ui/lint/unused/unused-result.rs --force-rerun |
grep --fixed-strings 'test result: ok. 1 passed; 0 failed; 0 ignored;' ||
( echo "ERROR: --test-args functionality is broken" && exit 1 )
|