Skip to content

Commit c59a0cf

Browse files
committed
redo ./run-test.sh based on MIRI_REPLACE_LIBRS_IF_NOT_TEST
1 parent a0937b2 commit c59a0cf

File tree

23 files changed

+29
-203
lines changed

23 files changed

+29
-203
lines changed

Cargo.toml

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,22 @@
1+
# We set up our own workspace that contains the library crates.
2+
# `./run-test.sh` makes the `library` folder a symlink to the right place.
3+
# (Somehow, directly building things from `rustlib/src` does not work...)
14
[workspace]
25
members = [
3-
"core_miri_test",
4-
"alloc_miri_test",
5-
"std_miri_test",
6+
"library/std",
7+
"library/sysroot",
68
]
79

810
exclude = [
911
# stdarch has its own Cargo workspace
1012
"library/stdarch",
11-
"rust-src-patched/library/stdarch",
13+
# this is just a staging ground for CI
14+
"rust-src-patched",
1215
]
16+
17+
[patch.crates-io]
18+
# See comments in `library/rustc-std-workspace-core/README.md` for what's going on
19+
# here
20+
rustc-std-workspace-core = { path = 'library/rustc-std-workspace-core' }
21+
rustc-std-workspace-alloc = { path = 'library/rustc-std-workspace-alloc' }
22+
rustc-std-workspace-std = { path = 'library/rustc-std-workspace-std' }

alloc_miri_test/Cargo.toml

Lines changed: 0 additions & 29 deletions
This file was deleted.

ci-test.sh

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,9 +85,10 @@ std)
8585
echo "::endgroup::"
8686
;;
8787
simd)
88-
cd $MIRI_LIB_SRC/portable-simd
88+
export CARGO_TARGET_DIR=$(pwd)/target
8989
export RUSTFLAGS="-Ainternal_features ${RUSTFLAGS:-}"
9090
export RUSTDOCFLAGS="-Ainternal_features ${RUSTDOCFLAGS:-}"
91+
cd $MIRI_LIB_SRC/portable-simd
9192

9293
echo "::group::Testing portable-simd"
9394
MIRIFLAGS="$DEFAULTFLAGS" \

core_miri_test/Cargo.toml

Lines changed: 0 additions & 31 deletions
This file was deleted.

fake/README.md

Lines changed: 0 additions & 2 deletions
This file was deleted.

fake/alloc/Cargo.toml

Lines changed: 0 additions & 7 deletions
This file was deleted.

fake/alloc/lib.rs

Lines changed: 0 additions & 9 deletions
This file was deleted.

fake/cfg-if/Cargo.toml

Lines changed: 0 additions & 7 deletions
This file was deleted.

fake/cfg-if/lib.rs

Lines changed: 0 additions & 3 deletions
This file was deleted.

fake/core/Cargo.toml

Lines changed: 0 additions & 7 deletions
This file was deleted.

fake/core/lib.rs

Lines changed: 0 additions & 5 deletions
This file was deleted.

fake/hashbrown/Cargo.toml

Lines changed: 0 additions & 7 deletions
This file was deleted.

fake/hashbrown/lib.rs

Lines changed: 0 additions & 3 deletions
This file was deleted.

fake/libc/Cargo.toml

Lines changed: 0 additions & 7 deletions
This file was deleted.

fake/libc/lib.rs

Lines changed: 0 additions & 3 deletions
This file was deleted.

fake/rustc-demangle/Cargo.toml

Lines changed: 0 additions & 7 deletions
This file was deleted.

fake/rustc-demangle/lib.rs

Lines changed: 0 additions & 3 deletions
This file was deleted.

fake/std_detect/Cargo.toml

Lines changed: 0 additions & 7 deletions
This file was deleted.

fake/std_detect/lib.rs

Lines changed: 0 additions & 4 deletions
This file was deleted.

run-stdarch-test.sh

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ set -euo pipefail
66
## Usage:
77
## ./run-test.sh TARGET
88
## Environment variables:
9-
## MIRI_LIB_SRC: The path to the Rust library directory (`library`).
9+
## MIRI_LIB_SRC: The path to the Rust `library`` directory (optional).
1010
## RUSTFLAGS: rustc flags (optional)
1111
## MIRIFLAGS: Miri flags (optional)
1212

@@ -40,8 +40,11 @@ export STDARCH_TEST_EVERYTHING=1
4040
# Needed to pass the STDARCH_TEST_EVERYTHING environment variable
4141
export MIRIFLAGS="${MIRIFLAGS:-} -Zmiri-disable-isolation"
4242

43-
cd $MIRI_LIB_SRC/stdarch
43+
# Set library source dir
44+
export MIRI_LIB_SRC=${MIRI_LIB_SRC:-$(rustc --print sysroot)/lib/rustlib/src/rust/library}
45+
46+
export CARGO_TARGET_DIR=$(pwd)/target
4447
cargo miri test \
48+
--manifest-path=$MIRI_LIB_SRC/stdarch/crates/core_arch/Cargo.toml \
4549
--target "$TARGET" \
46-
--manifest-path=crates/core_arch/Cargo.toml \
4750
-- "${TEST_ARGS[@]}"

run-test.sh

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,10 @@ ln -s "$MIRI_LIB_SRC" library
3535
# use the rust-src lockfile
3636
cp "$MIRI_LIB_SRC/../Cargo.lock" Cargo.lock
3737

38+
# This ensures that the "core" crate being built as part of `cargo miri test`
39+
# is just a re-export of the sysroot crate, so we don't get duplicate lang items.
40+
export MIRI_REPLACE_LIBRS_IF_NOT_TEST=1
41+
3842
# run test
39-
cd ./${CRATE}_miri_test
40-
cargo miri test "$@"
43+
export CARGO_TARGET_DIR=$(pwd)/target
44+
cargo miri test --manifest-path "library/$CRATE/Cargo.toml" "$@"

rust-version

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
nightly-2024-04-01
1+
nightly-2024-04-06

std_miri_test/Cargo.toml

Lines changed: 0 additions & 51 deletions
This file was deleted.

0 commit comments

Comments
 (0)