Skip to content

Commit 70390a9

Browse files
authored
Merge pull request #1221 from bjorn3/run_more_rustc_tests
Run more rustc tests
2 parents 9a8da8c + afd5946 commit 70390a9

File tree

4 files changed

+82
-47
lines changed

4 files changed

+82
-47
lines changed

scripts/setup_rust_fork.sh

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,9 +53,28 @@ index 887d27fd6dca4..2c2239f2b83d1 100644
5353
5454
let rustc_has_profiler_support = env::var_os("RUSTC_PROFILER_SUPPORT").is_some();
5555
56+
diff --git a/src/tools/compiletest/src/runtest.rs b/src/tools/compiletest/src/runtest.rs
57+
index 8431aa7b818..a3ff7e68ce5 100644
58+
--- a/src/tools/compiletest/src/runtest.rs
59+
+++ b/src/tools/compiletest/src/runtest.rs
60+
@@ -3489,11 +3489,7 @@ fn normalize_output(&self, output: &str, custom_rules: &[(String, String)]) -> S
61+
.join("library");
62+
normalize_path(&src_dir, "$(echo '$SRC_DIR')");
63+
64+
- if let Some(virtual_rust_source_base_dir) =
65+
- option_env!("CFG_VIRTUAL_RUST_SOURCE_BASE_DIR").map(PathBuf::from)
66+
- {
67+
- normalize_path(&virtual_rust_source_base_dir.join("library"), "$(echo '$SRC_DIR')");
68+
- }
69+
+ normalize_path(&Path::new("$(cd ../build_sysroot/sysroot_src/library; pwd)"), "$(echo '$SRC_DIR')");
70+
71+
// Paths into the build directory
72+
let test_build_dir = &self.config.build_base;
5673
EOF
5774

5875
cat > config.toml <<EOF
76+
changelog-seen = 2
77+
5978
[llvm]
6079
ninja = false
6180

scripts/test_rustc_tests.sh

Lines changed: 56 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -15,13 +15,16 @@ for test in $(rg --files-with-matches "asm!|catch_unwind|should_panic|lto|// nee
1515
rm $test
1616
done
1717

18-
for test in $(rg -i --files-with-matches "//(\[\w+\])?~|// error-pattern:|// build-fail|// run-fail|-Cllvm-args" src/test/ui); do
18+
for test in $(rg -i --files-with-matches "//(\[\w+\])?~[^\|]*\s*ERR|// error-pattern:|// build-fail|// run-fail|-Cllvm-args" src/test/ui); do
1919
rm $test
2020
done
2121

2222
git checkout -- src/test/ui/issues/auxiliary/issue-3136-a.rs # contains //~ERROR, but shouldn't be removed
2323

24-
# these all depend on unwinding support
24+
# missing features
25+
# ================
26+
27+
# requires stack unwinding
2528
rm src/test/ui/backtrace.rs
2629
rm src/test/ui/array-slice-vec/box-of-array-of-drop-*.rs
2730
rm src/test/ui/array-slice-vec/slice-panic-*.rs
@@ -42,72 +45,80 @@ rm src/test/ui/runtime/rt-explody-panic-payloads.rs
4245
rm src/test/incremental/change_crate_dep_kind.rs
4346
rm src/test/ui/threads-sendsync/unwind-resource.rs
4447

45-
rm src/test/ui/issues/issue-28950.rs # depends on stack size optimizations
46-
rm src/test/ui/codegen/init-large-type.rs # same
48+
# requires compiling with -Cpanic=unwind
49+
rm src/test/ui/cfg/cfg-panic.rs
50+
rm src/test/ui/test-attrs/test-fn-signature-verification-for-explicit-return-type.rs # "Cannot run dynamic test fn out-of-process"
51+
rm src/test/ui/async-await/async-fn-size-moved-locals.rs # -Cpanic=abort shrinks some generator by one byte
52+
rm src/test/ui/async-await/async-fn-size-uninit-locals.rs # same
53+
rm src/test/ui/generator/size-moved-locals.rs # same
54+
55+
# vendor intrinsics
4756
rm src/test/ui/sse2.rs # cpuid not supported, so sse2 not detected
57+
rm src/test/ui/intrinsics/const-eval-select-x86_64.rs # requires x86_64 vendor intrinsics
58+
59+
# inline asm
60+
rm src/test/incremental/hashes/inline_asm.rs # inline asm
61+
rm src/test/incremental/issue-72386.rs # same
62+
63+
# exotic linkages
4864
rm src/test/ui/issues/issue-33992.rs # unsupported linkages
49-
rm src/test/ui/issues/issue-51947.rs # same
5065
rm src/test/incremental/hashes/function_interfaces.rs # same
5166
rm src/test/incremental/hashes/statics.rs # same
67+
68+
# LTO
69+
rm src/test/incremental/lto.rs # requires lt
70+
71+
# variadic arguments
72+
rm src/test/ui/abi/mir/mir_codegen_calls_variadic.rs # requires float varargs
73+
rm src/test/ui/abi/variadic-ffi.rs # requires callee side vararg support
74+
75+
# unsized locals
76+
rm -r src/test/run-pass-valgrind/unsized-locals
77+
78+
# misc unimplemented things
79+
rm src/test/ui/intrinsics/intrinsic-nearby.rs # unimplemented nearbyintf32 and nearbyintf64 intrinsics
80+
rm src/test/ui/target-feature/missing-plusminus.rs # error not implemented
81+
rm src/test/ui/fn/dyn-fn-alignment.rs # wants a 256 byte alignment
82+
rm -r src/test/run-make/emit-named-files # requires full --emit support
83+
84+
# optimization tests
85+
# ==================
86+
rm src/test/ui/issues/issue-28950.rs # depends on stack size optimizations
87+
rm src/test/ui/codegen/init-large-type.rs # same
88+
rm -r src/test/run-make/fmt-write-bloat/ # tests an optimization
89+
90+
# backend specific tests
91+
# ======================
92+
rm src/test/incremental/thinlto/cgu_invalidated_when_import_{added,removed}.rs # requires LLVM
93+
rm src/test/ui/abi/stack-protector.rs # requires stack protector support
94+
95+
# giving different but possibly correct results
96+
# =============================================
5297
rm src/test/ui/numbers-arithmetic/saturating-float-casts.rs # intrinsic gives different but valid result
5398
rm src/test/ui/mir/mir_misc_casts.rs # depends on deduplication of constants
5499
rm src/test/ui/mir/mir_raw_fat_ptr.rs # same
55100
rm src/test/ui/consts/issue-33537.rs # same
56-
rm src/test/ui/async-await/async-fn-size-moved-locals.rs # -Cpanic=abort shrinks some generator by one byte
57-
rm src/test/ui/async-await/async-fn-size-uninit-locals.rs # same
58-
rm src/test/ui/generator/size-moved-locals.rs # same
59-
rm src/test/ui/fn/dyn-fn-alignment.rs # wants a 256 byte alignment
60-
rm src/test/ui/test-attrs/test-fn-signature-verification-for-explicit-return-type.rs # "Cannot run dynamic test fn out-of-process"
61-
rm src/test/ui/intrinsics/intrinsic-nearby.rs # unimplemented nearbyintf32 and nearbyintf64 intrinsics
62-
63-
rm src/test/incremental/hashes/inline_asm.rs # inline asm
64-
rm src/test/incremental/issue-72386.rs # same
65-
rm src/test/incremental/lto.rs # requires lto
66-
rm src/test/incremental/dirty_clean.rs # TODO
67101

68102
rm -r src/test/run-make/emit-shared-files # requires the rustdoc executable in build/bin/
69103
rm -r src/test/run-make/unstable-flag-required # same
70104
rm -r src/test/run-make/rustdoc-* # same
71-
rm -r src/test/run-make/emit-named-files # requires full --emit support
72-
73-
rm -r src/test/run-pass-valgrind/unsized-locals
74-
75-
rm src/test/ui/json-bom-plus-crlf-multifile.rs # differing warning
76-
rm src/test/ui/json-bom-plus-crlf.rs # same
77-
rm src/test/ui/intrinsics/const-eval-select-x86_64.rs # same
78-
rm src/test/ui/match/issue-82392.rs # differing error
79-
rm src/test/ui/consts/min_const_fn/address_of_const.rs # same
80-
rm src/test/ui/consts/issue-miri-1910.rs # same
81-
rm src/test/ui/generic-associated-types/bugs/issue-80626.rs # same
82-
rm src/test/ui/generic-associated-types/bugs/issue-89008.rs # same
83-
rm src/test/ui/chalkify/bugs/async.rs # same
84-
rm src/test/ui/type-alias-impl-trait/cross_crate_ice*.rs # requires removed aux dep
85105

106+
# genuine bugs
107+
# ============
86108
rm src/test/ui/allocator/no_std-alloc-error-handler-default.rs # missing rust_oom definition
87-
rm src/test/ui/cfg/cfg-panic.rs
88-
rm -r src/test/ui/hygiene/
89-
90-
rm src/test/ui/mir/ssa-analysis-regression-50041.rs # uses old definition of Box
91-
92-
rm src/test/ui/target-feature/missing-plusminus.rs # error not implemented
93109

94110
rm -r src/test/ui/polymorphization/ # polymorphization not yet supported
95111
rm src/test/codegen-units/polymorphization/unused_type_parameters.rs # same
96112

97-
rm -r src/test/run-make/fmt-write-bloat/ # tests an optimization
98-
rm src/test/ui/abi/mir/mir_codegen_calls_variadic.rs # requires float varargs
99-
rm src/test/ui/abi/variadic-ffi.rs # requires callee side vararg support
100-
101-
rm src/test/ui/command/command-current-dir.rs # can't find libstd.so
102-
103-
rm src/test/ui/abi/stack-protector.rs # requires stack protector support
104-
105113
rm src/test/incremental/issue-80691-bad-eval-cache.rs # wrong exit code
106114
rm src/test/incremental/spike-neg1.rs # errors out for some reason
107115
rm src/test/incremental/spike-neg2.rs # same
108116
rm src/test/ui/issues/issue-74564-if-expr-stack-overflow.rs # gives a stackoverflow before the backend runs
117+
rm src/test/ui/mir/ssa-analysis-regression-50041.rs # produces ICE
109118

110-
rm src/test/incremental/thinlto/cgu_invalidated_when_import_{added,removed}.rs # requires LLVM
119+
# bugs in the test suite
120+
# ======================
121+
rm src/test/ui/unsafe/union.rs # has UB caught by cg_clif. see rust-lang/rust#95075
111122

112123
echo "[TEST] rustc test suite"
113124
RUST_TEST_NOCAPTURE=1 COMPILETEST_FORCE_STAGE0=1 ./x.py test --stage 0 src/test/{codegen-units,run-make,run-pass-valgrind,ui,incremental}

src/base.rs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ use rustc_ast::InlineAsmOptions;
44
use rustc_index::vec::IndexVec;
55
use rustc_middle::ty::adjustment::PointerCast;
66
use rustc_middle::ty::layout::FnAbiOf;
7+
use rustc_middle::ty::print::with_no_trimmed_paths;
78

89
use indexmap::IndexSet;
910

@@ -258,7 +259,9 @@ fn codegen_fn_content(fx: &mut FunctionCx<'_, '_, '_>) {
258259

259260
if fx.clif_comments.enabled() {
260261
let mut terminator_head = "\n".to_string();
261-
bb_data.terminator().kind.fmt_head(&mut terminator_head).unwrap();
262+
with_no_trimmed_paths!({
263+
bb_data.terminator().kind.fmt_head(&mut terminator_head).unwrap();
264+
});
262265
let inst = fx.bcx.func.layout.last_inst(block).unwrap();
263266
fx.add_comment(inst, terminator_head);
264267
}

src/bin/cg_clif.rs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ use std::panic;
1313

1414
use rustc_data_structures::profiling::{get_resident_set_size, print_time_passes_entry};
1515
use rustc_interface::interface;
16-
use rustc_session::config::ErrorOutputType;
16+
use rustc_session::config::{ErrorOutputType, TrimmedDefPaths};
1717
use rustc_session::early_error;
1818
use rustc_target::spec::PanicStrategy;
1919

@@ -55,6 +55,8 @@ impl rustc_driver::Callbacks for CraneliftPassesCallbacks {
5555
config.opts.maybe_sysroot = Some(config.opts.maybe_sysroot.clone().unwrap_or_else(|| {
5656
std::env::current_exe().unwrap().parent().unwrap().parent().unwrap().to_owned()
5757
}));
58+
59+
config.opts.trimmed_def_paths = TrimmedDefPaths::GoodPath;
5860
}
5961
}
6062

0 commit comments

Comments
 (0)