-
Notifications
You must be signed in to change notification settings - Fork 105
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #1149 from bjorn3/test_rustc_testsuite
Run the rustc test suite on CI
- Loading branch information
Showing
3 changed files
with
168 additions
and
44 deletions.
There are no files selected for viewing
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,82 @@ | ||
name: Various rustc tests | ||
|
||
on: | ||
- push | ||
|
||
jobs: | ||
bootstrap_rustc: | ||
runs-on: ubuntu-latest | ||
|
||
steps: | ||
- uses: actions/checkout@v2 | ||
|
||
- name: Cache cargo installed crates | ||
uses: actions/cache@v2 | ||
with: | ||
path: ~/.cargo/bin | ||
key: ${{ runner.os }}-cargo-installed-crates | ||
|
||
- name: Cache cargo registry and index | ||
uses: actions/cache@v2 | ||
with: | ||
path: | | ||
~/.cargo/registry | ||
~/.cargo/git | ||
key: ${{ runner.os }}-cargo-registry-and-index-${{ hashFiles('**/Cargo.lock') }} | ||
|
||
- name: Cache cargo target dir | ||
uses: actions/cache@v2 | ||
with: | ||
path: target | ||
key: ${{ runner.os }}-cargo-build-target-${{ hashFiles('rust-toolchain', '**/Cargo.lock') }} | ||
|
||
- name: Prepare dependencies | ||
run: | | ||
git config --global user.email "user@example.com" | ||
git config --global user.name "User" | ||
./prepare.sh | ||
- name: Test | ||
run: | | ||
# Enable backtraces for easier debugging | ||
export RUST_BACKTRACE=1 | ||
./scripts/test_bootstrap.sh | ||
rustc_test_suite: | ||
runs-on: ubuntu-latest | ||
|
||
steps: | ||
- uses: actions/checkout@v2 | ||
|
||
- name: Cache cargo installed crates | ||
uses: actions/cache@v2 | ||
with: | ||
path: ~/.cargo/bin | ||
key: ${{ runner.os }}-cargo-installed-crates | ||
|
||
- name: Cache cargo registry and index | ||
uses: actions/cache@v2 | ||
with: | ||
path: | | ||
~/.cargo/registry | ||
~/.cargo/git | ||
key: ${{ runner.os }}-cargo-registry-and-index-${{ hashFiles('**/Cargo.lock') }} | ||
|
||
- name: Cache cargo target dir | ||
uses: actions/cache@v2 | ||
with: | ||
path: target | ||
key: ${{ runner.os }}-cargo-build-target-${{ hashFiles('rust-toolchain', '**/Cargo.lock') }} | ||
|
||
- name: Prepare dependencies | ||
run: | | ||
git config --global user.email "user@example.com" | ||
git config --global user.name "User" | ||
./prepare.sh | ||
- name: Test | ||
run: | | ||
# Enable backtraces for easier debugging | ||
export RUST_BACKTRACE=1 | ||
./scripts/test_rustc_tests.sh |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,86 @@ | ||
#!/bin/bash | ||
set -e | ||
|
||
cd $(dirname "$0")/../ | ||
|
||
source ./scripts/setup_rust_fork.sh | ||
|
||
echo "[TEST] Test suite of rustc" | ||
pushd rust | ||
|
||
cargo install ripgrep | ||
|
||
rm -r src/test/ui/{extern/,panics/,unsized-locals/,thinlto/,simd*,*lto*.rs,linkage*,unwind-*.rs} || true | ||
for test in $(rg --files-with-matches "asm!|catch_unwind|should_panic|lto" src/test/ui); do | ||
rm $test | ||
done | ||
|
||
for test in $(rg -i --files-with-matches "//(\[\w+\])?~|// error-pattern:|// build-fail|// run-fail|-Cllvm-args" src/test/ui); do | ||
rm $test | ||
done | ||
|
||
git checkout -- src/test/ui/issues/auxiliary/issue-3136-a.rs # contains //~ERROR, but shouldn't be removed | ||
|
||
# these all depend on unwinding support | ||
rm src/test/ui/backtrace.rs | ||
rm src/test/ui/array-slice-vec/box-of-array-of-drop-*.rs | ||
rm src/test/ui/array-slice-vec/slice-panic-*.rs | ||
rm src/test/ui/array-slice-vec/nested-vec-3.rs | ||
rm src/test/ui/cleanup-rvalue-temp-during-incomplete-alloc.rs | ||
rm src/test/ui/issues/issue-26655.rs | ||
rm src/test/ui/issues/issue-29485.rs | ||
rm src/test/ui/issues/issue-30018-panic.rs | ||
rm src/test/ui/multi-panic.rs | ||
rm src/test/ui/sepcomp/sepcomp-unwind.rs | ||
rm src/test/ui/structs-enums/unit-like-struct-drop-run.rs | ||
rm src/test/ui/terminate-in-initializer.rs | ||
rm src/test/ui/threads-sendsync/task-stderr.rs | ||
rm src/test/ui/numbers-arithmetic/int-abs-overflow.rs | ||
rm src/test/ui/drop/drop-trait-enum.rs | ||
rm src/test/ui/numbers-arithmetic/issue-8460.rs | ||
|
||
rm src/test/ui/issues/issue-28950.rs # depends on stack size optimizations | ||
rm src/test/ui/init-large-type.rs # same | ||
rm src/test/ui/sse2.rs # cpuid not supported, so sse2 not detected | ||
rm src/test/ui/issues/issue-33992.rs # unsupported linkages | ||
rm src/test/ui/issues/issue-51947.rs # same | ||
rm src/test/ui/numbers-arithmetic/saturating-float-casts.rs # intrinsic gives different but valid result | ||
rm src/test/ui/mir/mir_misc_casts.rs # depends on deduplication of constants | ||
rm src/test/ui/mir/mir_raw_fat_ptr.rs # same | ||
rm src/test/ui/async-await/async-fn-size-moved-locals.rs # -Cpanic=abort shrinks some generator by one byte | ||
rm src/test/ui/async-await/async-fn-size-uninit-locals.rs # same | ||
rm src/test/ui/generator/size-moved-locals.rs # same | ||
rm src/test/ui/fn/dyn-fn-alignment.rs # wants a 256 byte alignment | ||
rm src/test/ui/test-attrs/test-fn-signature-verification-for-explicit-return-type.rs # "Cannot run dynamic test fn out-of-process" | ||
rm src/test/ui/intrinsics/intrinsic-nearby.rs # unimplemented nearbyintf32 and nearbyintf64 intrinsics | ||
|
||
rm src/test/incremental/hashes/inline_asm.rs # inline asm | ||
rm src/test/incremental/issue-72386.rs # same | ||
rm src/test/incremental/change_crate_dep_kind.rs # requires -Cpanic=unwind | ||
rm src/test/incremental/issue-49482.rs # same | ||
rm src/test/incremental/issue-54059.rs # same | ||
rm src/test/incremental/lto.rs # requires lto | ||
|
||
rm src/test/pretty/asm.rs # inline asm | ||
rm src/test/pretty/raw-str-nonexpr.rs # same | ||
|
||
rm -r src/test/run-pass-valgrind/unsized-locals | ||
|
||
rm src/test/ui/json-bom-plus-crlf-multifile.rs # differing warning | ||
rm src/test/ui/json-bom-plus-crlf.rs # same | ||
|
||
rm src/test/ui/allocator/no_std-alloc-error-handler-default.rs # missing rust_oom definition | ||
rm src/test/ui/cfg/cfg-panic.rs | ||
rm src/test/ui/default-alloc-error-hook.rs | ||
rm -r src/test/ui/hygiene/ | ||
|
||
rm -r src/test/ui/polymorphization/ # polymorphization not yet supported | ||
rm src/test/codegen-units/polymorphization/unused_type_parameters.rs # same | ||
|
||
rm -r src/test/run-make/fmt-write-bloat/ # tests an optimization | ||
rm src/test/ui/abi/mir/mir_codegen_calls_variadic.rs # requires float varargs | ||
rm src/test/ui/abi/variadic-ffi.rs # requires callee side vararg support | ||
|
||
echo "[TEST] rustc test suite" | ||
RUST_TEST_NOCAPTURE=1 COMPILETEST_FORCE_STAGE0=1 ./x.py test --stage 0 src/test/{codegen-units,run-make,run-pass-valgrind,ui} | ||
popd |