Build all tests when cross-compiling
This commit is contained in:
parent
1122f42e28
commit
d23b12fa62
2 changed files with 40 additions and 14 deletions
7
build.sh
7
build.sh
|
@ -55,6 +55,7 @@ ln target/$CHANNEL/*rustc_codegen_cranelift* "$target_dir"/lib
|
||||||
ln rust-toolchain scripts/config.sh scripts/cargo.sh "$target_dir"
|
ln rust-toolchain scripts/config.sh scripts/cargo.sh "$target_dir"
|
||||||
|
|
||||||
mkdir -p "$target_dir/lib/rustlib/$TARGET_TRIPLE/lib/"
|
mkdir -p "$target_dir/lib/rustlib/$TARGET_TRIPLE/lib/"
|
||||||
|
mkdir -p "$target_dir/lib/rustlib/$HOST_TRIPLE/lib/"
|
||||||
if [[ "$TARGET_TRIPLE" == "x86_64-pc-windows-gnu" ]]; then
|
if [[ "$TARGET_TRIPLE" == "x86_64-pc-windows-gnu" ]]; then
|
||||||
cp $(rustc --print sysroot)/lib/rustlib/$TARGET_TRIPLE/lib/*.o "$target_dir/lib/rustlib/$TARGET_TRIPLE/lib/"
|
cp $(rustc --print sysroot)/lib/rustlib/$TARGET_TRIPLE/lib/*.o "$target_dir/lib/rustlib/$TARGET_TRIPLE/lib/"
|
||||||
fi
|
fi
|
||||||
|
@ -64,12 +65,18 @@ case "$build_sysroot" in
|
||||||
;;
|
;;
|
||||||
"llvm")
|
"llvm")
|
||||||
cp -r $(rustc --print sysroot)/lib/rustlib/$TARGET_TRIPLE/lib "$target_dir/lib/rustlib/$TARGET_TRIPLE/"
|
cp -r $(rustc --print sysroot)/lib/rustlib/$TARGET_TRIPLE/lib "$target_dir/lib/rustlib/$TARGET_TRIPLE/"
|
||||||
|
if [[ "$HOST_TRIPLE" != "$TARGET_TRIPLE" ]]; then
|
||||||
|
cp -r $(rustc --print sysroot)/lib/rustlib/$HOST_TRIPLE/lib "$target_dir/lib/rustlib/$HOST_TRIPLE/"
|
||||||
|
fi
|
||||||
;;
|
;;
|
||||||
"clif")
|
"clif")
|
||||||
echo "[BUILD] sysroot"
|
echo "[BUILD] sysroot"
|
||||||
dir=$(pwd)
|
dir=$(pwd)
|
||||||
cd "$target_dir"
|
cd "$target_dir"
|
||||||
time "$dir/build_sysroot/build_sysroot.sh"
|
time "$dir/build_sysroot/build_sysroot.sh"
|
||||||
|
if [[ "$HOST_TRIPLE" != "$TARGET_TRIPLE" ]]; then
|
||||||
|
time TARGET_TRIPLE="$HOST_TRIPLE" "$dir/build_sysroot/build_sysroot.sh"
|
||||||
|
fi
|
||||||
cp lib/rustlib/*/lib/libstd-* lib/
|
cp lib/rustlib/*/lib/libstd-* lib/
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
|
|
|
@ -71,14 +71,20 @@ function base_sysroot_tests() {
|
||||||
echo "[AOT] mod_bench"
|
echo "[AOT] mod_bench"
|
||||||
$MY_RUSTC example/mod_bench.rs --crate-type bin --target "$TARGET_TRIPLE"
|
$MY_RUSTC example/mod_bench.rs --crate-type bin --target "$TARGET_TRIPLE"
|
||||||
$RUN_WRAPPER ./target/out/mod_bench
|
$RUN_WRAPPER ./target/out/mod_bench
|
||||||
|
|
||||||
pushd rand
|
|
||||||
rm -r ./target || true
|
|
||||||
../build/cargo.sh test --workspace
|
|
||||||
popd
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function extended_sysroot_tests() {
|
function extended_sysroot_tests() {
|
||||||
|
pushd rand
|
||||||
|
cargo clean
|
||||||
|
if [[ "$HOST_TRIPLE" = "$TARGET_TRIPLE" ]]; then
|
||||||
|
echo "[TEST] rust-random/rand"
|
||||||
|
../build/cargo.sh test --workspace
|
||||||
|
else
|
||||||
|
echo "[AOT] rust-random/rand"
|
||||||
|
../build/cargo.sh build --workspace --target $TARGET_TRIPLE --tests
|
||||||
|
fi
|
||||||
|
popd
|
||||||
|
|
||||||
pushd simple-raytracer
|
pushd simple-raytracer
|
||||||
if [[ "$HOST_TRIPLE" = "$TARGET_TRIPLE" ]]; then
|
if [[ "$HOST_TRIPLE" = "$TARGET_TRIPLE" ]]; then
|
||||||
echo "[BENCH COMPILE] ebobby/simple-raytracer"
|
echo "[BENCH COMPILE] ebobby/simple-raytracer"
|
||||||
|
@ -92,27 +98,40 @@ function extended_sysroot_tests() {
|
||||||
else
|
else
|
||||||
echo "[BENCH COMPILE] ebobby/simple-raytracer (skipped)"
|
echo "[BENCH COMPILE] ebobby/simple-raytracer (skipped)"
|
||||||
echo "[COMPILE] ebobby/simple-raytracer"
|
echo "[COMPILE] ebobby/simple-raytracer"
|
||||||
../cargo.sh build
|
../build/cargo.sh build --target $TARGET_TRIPLE
|
||||||
echo "[BENCH RUN] ebobby/simple-raytracer (skipped)"
|
echo "[BENCH RUN] ebobby/simple-raytracer (skipped)"
|
||||||
fi
|
fi
|
||||||
popd
|
popd
|
||||||
|
|
||||||
pushd build_sysroot/sysroot_src/library/core/tests
|
pushd build_sysroot/sysroot_src/library/core/tests
|
||||||
echo "[TEST] libcore"
|
echo "[TEST] libcore"
|
||||||
rm -r ./target || true
|
cargo clean
|
||||||
|
if [[ "$HOST_TRIPLE" = "$TARGET_TRIPLE" ]]; then
|
||||||
../../../../../build/cargo.sh test
|
../../../../../build/cargo.sh test
|
||||||
|
else
|
||||||
|
../../../../../build/cargo.sh build --target $TARGET_TRIPLE --tests
|
||||||
|
fi
|
||||||
popd
|
popd
|
||||||
|
|
||||||
pushd regex
|
pushd regex
|
||||||
echo "[TEST] rust-lang/regex example shootout-regex-dna"
|
echo "[TEST] rust-lang/regex example shootout-regex-dna"
|
||||||
../build/cargo.sh clean
|
cargo clean
|
||||||
# Make sure `[codegen mono items] start` doesn't poison the diff
|
# Make sure `[codegen mono items] start` doesn't poison the diff
|
||||||
../build/cargo.sh build --example shootout-regex-dna
|
../build/cargo.sh build --example shootout-regex-dna --target $TARGET_TRIPLE
|
||||||
cat examples/regexdna-input.txt | ../build/cargo.sh run --example shootout-regex-dna | grep -v "Spawned thread" > res.txt
|
if [[ "$HOST_TRIPLE" = "$TARGET_TRIPLE" ]]; then
|
||||||
|
cat examples/regexdna-input.txt \
|
||||||
|
| ../build/cargo.sh run --example shootout-regex-dna --target $TARGET_TRIPLE \
|
||||||
|
| grep -v "Spawned thread" > res.txt
|
||||||
diff -u res.txt examples/regexdna-output.txt
|
diff -u res.txt examples/regexdna-output.txt
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ "$HOST_TRIPLE" = "$TARGET_TRIPLE" ]]; then
|
||||||
echo "[TEST] rust-lang/regex tests"
|
echo "[TEST] rust-lang/regex tests"
|
||||||
../build/cargo.sh test --tests -- --exclude-should-panic --test-threads 1 -Zunstable-options -q
|
../build/cargo.sh test --tests -- --exclude-should-panic --test-threads 1 -Zunstable-options -q
|
||||||
|
else
|
||||||
|
echo "[AOT] rust-lang/regex tests"
|
||||||
|
../build/cargo.sh build --tests --target $TARGET_TRIPLE
|
||||||
|
fi
|
||||||
popd
|
popd
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue