Skip to content

Commit 94d6b23

Browse files
committed
ICE UI tests handled
1 parent 3973329 commit 94d6b23

File tree

3 files changed

+97
-61
lines changed

3 files changed

+97
-61
lines changed

.github/workflows/failures.yml

+58-54
Original file line numberDiff line numberDiff line change
@@ -31,76 +31,80 @@ jobs:
3131
env_extra: "TEST_FLAGS='-Cpanic=abort -Zpanic-abort-tests' GCC_EXEC_PREFIX=/usr/lib/gcc/"
3232

3333
steps:
34-
- uses: actions/checkout@v3
34+
- uses: actions/checkout@v3
3535

36-
# `rustup show` installs from rust-toolchain.toml
37-
- name: Setup rust toolchain
38-
run: rustup show
36+
# `rustup show` installs from rust-toolchain.toml
37+
- name: Setup rust toolchain
38+
run: rustup show
3939

40-
- name: Setup rust cache
41-
uses: Swatinem/rust-cache@v2
40+
- name: Setup rust cache
41+
uses: Swatinem/rust-cache@v2
4242

43-
- name: Install packages
44-
run: sudo apt-get install ninja-build ripgrep
43+
- name: Install packages
44+
run: sudo apt-get install ninja-build ripgrep
4545

46-
- name: Install libgccjit12
47-
if: matrix.libgccjit_version.gcc == 'libgccjit12.so'
48-
run: sudo apt-get install libgccjit-12-dev
46+
- name: Install libgccjit12
47+
if: matrix.libgccjit_version.gcc == 'libgccjit12.so'
48+
run: sudo apt-get install libgccjit-12-dev
4949

50-
- name: Setup path to libgccjit
51-
if: matrix.libgccjit_version.gcc == 'libgccjit12.so'
52-
run: |
50+
- name: Setup path to libgccjit
51+
if: matrix.libgccjit_version.gcc == 'libgccjit12.so'
52+
run: |
5353
echo 'gcc-path = "/usr/lib/gcc/x86_64-linux-gnu/12"' > config.toml
5454
echo "LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/12" >> $GITHUB_ENV
5555
echo "LD_LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/12" >> $GITHUB_ENV
5656
57-
- name: Download artifact
58-
if: matrix.libgccjit_version.gcc != 'libgccjit12.so'
59-
run: curl -LO https://github.com/rust-lang/gcc/releases/latest/download/gcc-13.deb
57+
- name: Download artifact
58+
if: matrix.libgccjit_version.gcc != 'libgccjit12.so'
59+
run: curl -LO https://github.com/rust-lang/gcc/releases/latest/download/gcc-13.deb
6060

61-
- name: Setup path to libgccjit
62-
if: matrix.libgccjit_version.gcc != 'libgccjit12.so'
63-
run: |
61+
- name: Setup path to libgccjit
62+
if: matrix.libgccjit_version.gcc != 'libgccjit12.so'
63+
run: |
6464
sudo dpkg --force-overwrite -i gcc-13.deb
6565
echo 'gcc-path = "/usr/lib"' > config.toml
6666
echo "LIBRARY_PATH=/usr/lib" >> $GITHUB_ENV
6767
echo "LD_LIBRARY_PATH=/usr/lib" >> $GITHUB_ENV
6868
69-
- name: Set env
70-
run: |
71-
echo "workspace="$GITHUB_WORKSPACE >> $GITHUB_ENV
69+
- name: Set env
70+
run: |
71+
echo "workspace="$GITHUB_WORKSPACE >> $GITHUB_ENV
7272
73-
#- name: Cache rust repository
73+
#- name: Cache rust repository
7474
#uses: actions/cache@v3
7575
#id: cache-rust-repository
7676
#with:
77-
#path: rust
78-
#key: ${{ runner.os }}-packages-${{ hashFiles('rust/.git/HEAD') }}
79-
80-
- name: Git config
81-
run: |
82-
git config --global user.email "[email protected]"
83-
git config --global user.name "User"
84-
85-
- name: Prepare dependencies
86-
if: matrix.libgccjit_version.gcc == 'libgccjit12.so'
87-
run: ./y.sh prepare --libgccjit12-patches
88-
89-
- name: Prepare dependencies
90-
if: matrix.libgccjit_version.gcc != 'libgccjit12.so'
91-
run: ./y.sh prepare
92-
93-
- name: Add more failing tests because the sysroot is not compiled with LTO
94-
run: cat tests/failing-non-lto-tests.txt >> tests/failing-ui-tests.txt
95-
96-
- name: Run tests
97-
id: tests
98-
run: |
99-
${{ matrix.libgccjit_version.env_extra }} ./y.sh test --release --clean --build-sysroot --test-failing-rustc ${{ matrix.libgccjit_version.extra }} | tee output_log
100-
rg --text "test result" output_log >> $GITHUB_STEP_SUMMARY
101-
102-
- name: Run failing ui pattern tests
103-
id: ui-tests
104-
run: |
105-
${{ matrix.libgccjit_version.env_extra }} ./y.sh test --release --clean --build-sysroot --test-failing-ui-pattern-tests ${{ matrix.libgccjit_version.extra }} | tee output_log
106-
rg --text "test result" output_log >> $GITHUB_STEP_SUMMARY
77+
#path: rust
78+
#key: ${{ runner.os }}-packages-${{ hashFiles('rust/.git/HEAD') }}
79+
80+
- name: Git config
81+
run: |
82+
git config --global user.email "[email protected]"
83+
git config --global user.name "User"
84+
85+
- name: Prepare dependencies
86+
if: matrix.libgccjit_version.gcc == 'libgccjit12.so'
87+
run: ./y.sh prepare --libgccjit12-patches
88+
89+
- name: Prepare dependencies
90+
if: matrix.libgccjit_version.gcc != 'libgccjit12.so'
91+
run: ./y.sh prepare
92+
93+
- name: Add more failing tests because the sysroot is not compiled with LTO
94+
run: cat tests/failing-non-lto-tests.txt >> tests/failing-ui-tests.txt
95+
96+
- name: Run tests
97+
id: tests
98+
run: |
99+
${{ matrix.libgccjit_version.env_extra }} ./y.sh test --release --clean --build-sysroot --test-failing-rustc ${{ matrix.libgccjit_version.extra }} | tee output_log
100+
rg --text "test result" output_log >> $GITHUB_STEP_SUMMARY
101+
102+
- name: Run failing ui pattern tests for ICE
103+
id: ui-tests
104+
run: |
105+
${{ matrix.libgccjit_version.env_extra }} ./y.sh test --release --clean --build-sysroot --test-failing-ui-pattern-tests ${{ matrix.libgccjit_version.extra }} | tee output_log_ui
106+
if grep -q "the compiler unexpectedly panicked" output_log_ui; then
107+
echo "Error: 'the compiler unexpectedly panicked' found in output logs. CI Error!!"
108+
exit 1
109+
fi
110+
rg --text "test result" output_log_ui >> $GITHUB_STEP_SUMMARY

build_system/src/test.rs

+7-7
Original file line numberDiff line numberDiff line change
@@ -1053,15 +1053,15 @@ fn test_failing_rustc(env: &Env, args: &TestArg) -> Result<(), String> {
10531053
let result1 = test_rustc_inner(
10541054
env,
10551055
args,
1056-
prepare_files_callback_failing("tests/failing-run-make-tests.txt", "run-make"),
1056+
prepare_files_callback_retain("tests/failing-run-make-tests.txt", "run-make"),
10571057
None,
10581058
"run-make",
10591059
);
10601060

10611061
let result2 = test_rustc_inner(
10621062
env,
10631063
args,
1064-
prepare_files_callback_failing("tests/failing-ui-tests.txt", "ui"),
1064+
prepare_files_callback_retain("tests/failing-ui-tests.txt", "ui"),
10651065
None,
10661066
"ui",
10671067
);
@@ -1073,14 +1073,14 @@ fn test_successful_rustc(env: &Env, args: &TestArg) -> Result<(), String> {
10731073
test_rustc_inner(
10741074
env,
10751075
args,
1076-
prepare_files_callback_success("tests/failing-ui-tests.txt", "ui"),
1076+
prepare_files_callback_remove("tests/failing-ui-tests.txt", "ui"),
10771077
None,
10781078
"ui",
10791079
)?;
10801080
test_rustc_inner(
10811081
env,
10821082
args,
1083-
prepare_files_callback_success("tests/failing-run-make-tests.txt", "run-make"),
1083+
prepare_files_callback_remove("tests/failing-run-make-tests.txt", "run-make"),
10841084
None,
10851085
"run-make",
10861086
)
@@ -1090,13 +1090,13 @@ fn test_failing_ui_pattern_tests(env: &Env, args: &TestArg) -> Result<(), String
10901090
test_rustc_inner(
10911091
env,
10921092
args,
1093-
|_| Ok(false),
1093+
prepare_files_callback_remove("tests/failing-ice-tests.txt", "ui"),
10941094
Some(Box::new(|path| should_remove_test(path).unwrap_or(false))),
10951095
"ui",
10961096
)
10971097
}
10981098

1099-
fn prepare_files_callback_failing<'a>(
1099+
fn prepare_files_callback_retain<'a>(
11001100
file_path: &'a str,
11011101
test_type: &'a str,
11021102
) -> impl Fn(&Path) -> Result<bool, String> + 'a {
@@ -1159,7 +1159,7 @@ fn prepare_files_callback_failing<'a>(
11591159
}
11601160
}
11611161

1162-
fn prepare_files_callback_success<'a>(
1162+
fn prepare_files_callback_remove<'a>(
11631163
file_path: &'a str,
11641164
test_type: &'a str,
11651165
) -> impl Fn(&Path) -> Result<bool, String> + 'a {

tests/failing-ice-tests.txt

+32
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
tests/ui/treat-err-as-bug/span_delayed_bug.rs
2+
tests/ui/treat-err-as-bug/err.rs
3+
tests/ui/simd/not-out-of-bounds.rs
4+
tests/ui/simd/monomorphize-shuffle-index.rs
5+
tests/ui/simd/masked-load-store-build-fail.rs
6+
tests/ui/simd/intrinsic/generic-shuffle.rs
7+
tests/ui/simd/intrinsic/generic-elements.rs
8+
tests/ui/simd/intrinsic/generic-cast.rs
9+
tests/ui/simd/intrinsic/generic-arithmetic-saturating-2.rs
10+
tests/ui/simd/intrinsic/generic-arithmetic-2.rs
11+
tests/ui/panics/default-backtrace-ice.rs
12+
tests/ui/mir/lint/storage-live.rs
13+
tests/ui/layout/valid_range_oob.rs
14+
tests/ui/higher-ranked/trait-bounds/future.rs
15+
tests/ui/consts/const-eval/const-eval-query-stack.rs
16+
tests/ui/simd/masked-load-store.rs
17+
tests/ui/simd/issue-39720.rs
18+
tests/ui/simd/intrinsic/ptr-cast.rs
19+
tests/ui/sepcomp/sepcomp-statics.rs
20+
tests/ui/sepcomp/sepcomp-fns.rs
21+
tests/ui/sepcomp/sepcomp-fns-backwards.rs
22+
tests/ui/sepcomp/sepcomp-extern.rs
23+
tests/ui/sepcomp/sepcomp-cci.rs
24+
tests/ui/lto/thin-lto-inlines2.rs
25+
tests/ui/lto/weak-works.rs
26+
tests/ui/lto/thin-lto-inlines.rs
27+
tests/ui/lto/thin-lto-global-allocator.rs
28+
tests/ui/lto/msvc-imp-present.rs
29+
tests/ui/lto/dylib-works.rs
30+
tests/ui/lto/all-crates.rs
31+
tests/ui/issues/issue-47364.rs
32+
tests/ui/functions-closures/parallel-codegen-closures.rs

0 commit comments

Comments
 (0)