os-rust/tests/run-make
bors c2d2bb38c9 Auto merge of #126834 - bjorn3:interface_refactor, r=michaelwoerister
Various refactorings to rustc_interface

This should make it easier to move the driver interface away from queries in the future. Many custom drivers call queries like `queries.global_ctxt()` before they are supposed to be called, breaking some things like certain `--print` and `-Zunpretty` options, `-Zparse-only` and emitting the dep info at the wrong point in time. They are also not actually necessary at all. Passing around the query output manually would avoid recomputation too and would be just as easy. Removing driver queries would also reduce the amount of global mutable state of the compiler. I'm not removing driver queries in this PR to avoid breaking the aforementioned custom drivers.
2024-06-25 09:35:53 +00:00
..
a-b-a-linker-guard Run rustfmt on tests/run-make/. 2024-05-31 21:30:08 +10:00
alloc-no-oom-handling Do not use relative paths to Rust source root in run-make tests 2024-06-06 19:16:53 +02:00
alloc-no-rc Do not use relative paths to Rust source root in run-make tests 2024-06-06 19:16:53 +02:00
alloc-no-sync Do not use relative paths to Rust source root in run-make tests 2024-06-06 19:16:53 +02:00
allocator-shim-circular-deps rewrite allocator-shim-circular-deps to ui test 2024-06-18 14:25:59 -04:00
allow-warnings-cmdline-stability Migrate runmake tests away from custom commands and command_output 2024-06-08 19:36:31 +02:00
archive-duplicate-names correct comments 2024-05-08 21:44:57 -04:00
arguments-non-c-like-enum Remove unnecessary functions and the last mention of TMPDIR from run-make-support 2024-06-08 13:10:55 +02:00
artifact-incr-cache Remove all usages of tmp_dir from tests 2024-06-07 11:12:24 +02:00
artifact-incr-cache-no-obj Remove all usages of tmp_dir from tests 2024-06-07 11:12:24 +02:00
atomic-lock-free Run rustfmt on tests/run-make/. 2024-05-31 21:30:08 +10:00
bare-outfile Fix bare-outfile test 2024-06-07 11:12:04 +02:00
bin-emit-no-symbols use llvm_readobj in run-make test instead of nm 2024-06-18 14:57:00 -04:00
box-struct-no-segfault Remove all usages of tmp_dir from tests 2024-06-07 11:12:24 +02:00
branch-protection-check-IBT (wip) Migrate branch-protection-check-IBT to rmake 2024-06-22 20:18:02 -04:00
c-dynamic-dylib Make more of the test suite run on Mac Catalyst 2024-05-28 12:31:33 +02:00
c-dynamic-rlib Make more of the test suite run on Mac Catalyst 2024-05-28 12:31:33 +02:00
c-link-to-rust-dylib Implement fs wrapper for run_make_support 2024-06-11 09:53:31 -04:00
c-link-to-rust-staticlib Implement fs wrapper for run_make_support 2024-06-11 09:53:31 -04:00
c-link-to-rust-va-list-fn Remove unnecessary functions and the last mention of TMPDIR from run-make-support 2024-06-08 13:10:55 +02:00
c-static-dylib correct comments 2024-05-08 21:44:57 -04:00
c-static-rlib correct comments 2024-05-08 21:44:57 -04:00
c-unwind-abi-catch-lib-panic Update Makefiles with explanatory comments 2024-05-07 22:12:36 -04:00
c-unwind-abi-catch-panic Update Makefiles with explanatory comments 2024-05-07 22:12:36 -04:00
cat-and-grep-sanity-check add FIXME 2024-05-09 13:29:46 -04:00
cdylib Implement fs wrapper for run_make_support 2024-06-11 09:53:31 -04:00
cdylib-dylib-linkage correct comments 2024-05-08 21:44:57 -04:00
cdylib-fewer-symbols Update Makefiles with explanatory comments 2024-05-07 22:12:36 -04:00
clear-error-blank-output Rewrite and rename issue-26092 to rmake 2024-06-17 13:51:52 -04:00
codegen-options-parsing Migrate run-make/codegen-options-parsing to rmake.rs 2024-06-14 13:59:44 +02:00
comment-section Migrate run-make/comment-section to rmake.rs 2024-06-19 15:55:57 -04:00
compile-stdin Migrate run-make/compile-stdin to rmake.rs 2024-05-27 11:37:27 +02:00
compiler-builtins Implement fs wrapper for run_make_support 2024-06-11 09:53:31 -04:00
compiler-lookup-paths Update Makefiles with explanatory comments 2024-05-07 22:12:36 -04:00
compiler-lookup-paths-2 Run rustfmt on tests/run-make/. 2024-05-31 21:30:08 +10:00
compiler-rt-works-on-mingw Move almost all run-make-fulldeps to run-make 2023-03-30 07:34:55 -05:00
compressed-debuginfo Migrate run-make/compressed-debuginfo to rmake.rs 2024-06-18 21:32:24 +02:00
const-prop-lint Implement fs wrapper for run_make_support 2024-06-11 09:53:31 -04:00
const_fn_mir Add missing test annotation 2024-06-17 11:15:59 +02:00
core-no-fp-fmt-parse Do not use relative paths to Rust source root in run-make tests 2024-06-06 19:16:53 +02:00
core-no-oom-handling Remove all usages of tmp_dir from tests 2024-06-07 11:12:24 +02:00
crate-data-smoke Migrate runmake tests away from custom commands and command_output 2024-06-08 19:36:31 +02:00
crate-hash-rustc-version Remove support for alias -Z symbol-mangling-version 2023-11-02 18:41:33 +11:00
crate-name-priority rewrite crate-name-priority to rmake 2024-06-20 16:09:39 -04:00
cross-lang-lto Move almost all run-make-fulldeps to run-make 2023-03-30 07:34:55 -05:00
cross-lang-lto-clang Rename needs-matching-clang to needs-force-clang-based-tests 2024-06-11 16:45:51 +10:00
cross-lang-lto-pgo-smoketest Rename needs-matching-clang to needs-force-clang-based-tests 2024-06-11 16:45:51 +10:00
cross-lang-lto-riscv-abi Rename needs-matching-clang to needs-force-clang-based-tests 2024-06-11 16:45:51 +10:00
cross-lang-lto-upstream-rlibs Run rustfmt on tests/run-make/. 2024-05-31 21:30:08 +10:00
CURRENT_RUSTC_VERSION Rewrite and rename issue-26092 to rmake 2024-06-17 13:51:52 -04:00
debug-assertions Run rustfmt on tests/run-make/. 2024-05-31 21:30:08 +10:00
debugger-visualizer-dep-info rewrite debugger-visualizer-dep-info to rmake 2024-06-18 16:05:56 -04:00
dep-graph Migrate run-make/dep-graph to rmake.rs 2024-06-15 17:34:43 +02:00
dep-info Run rustfmt on tests/run-make/. 2024-05-31 21:30:08 +10:00
dep-info-doesnt-run-much Move almost all run-make-fulldeps to run-make 2023-03-30 07:34:55 -05:00
dep-info-spaces Run rustfmt on tests/run-make/. 2024-05-31 21:30:08 +10:00
deref-impl-rustdoc-ice Remove all usages of tmp_dir from tests 2024-06-07 11:12:24 +02:00
doctests-keep-binaries Implement fs wrapper for run_make_support 2024-06-11 09:53:31 -04:00
doctests-runtool Implement fs wrapper for run_make_support 2024-06-11 09:53:31 -04:00
dump-ice-to-disk Use YYYY-MM-DDTHH_MM_SS as datetime format for ICE dump files 2023-10-17 17:31:47 +00:00
dump-mono-stats move tools.mk to run-make 2023-03-30 07:58:50 -05:00
duplicate-output-flavors Migrate run-make/duplicate-output-flavors to rmake.rs 2024-06-16 11:46:02 +02:00
dylib-chain Run rustfmt on tests/run-make/. 2024-05-31 21:30:08 +10:00
emit Auto merge of #125383 - Oneirical:bundle-them-up, r=jieyouxu 2024-06-03 18:35:54 +00:00
emit-named-files Implement fs wrapper for run_make_support 2024-06-11 09:53:31 -04:00
emit-path-unhashed Fix tests 2023-09-10 15:50:48 +00:00
emit-shared-files move tools.mk to run-make 2023-03-30 07:58:50 -05:00
emit-stack-sizes Make more of the test suite run on Mac Catalyst 2024-05-28 12:31:33 +02:00
emit-to-stdout Bless run-make tests 2023-11-24 19:15:52 +01:00
env-dep-info move tools.mk to run-make 2023-03-30 07:58:50 -05:00
error-found-staticlib-instead-crate rewrite error-found-staticlib-instead-crate to rmake 2024-06-14 15:50:33 -04:00
error-writing-dependencies rewrite error-writing-dependencies to rmake 2024-06-19 16:43:22 -04:00
exit-code Migrate runmake tests away from custom commands and command_output 2024-06-08 19:36:31 +02:00
export-executable-symbols [AUTO_GENERATED] Migrate compiletest to use ui_test-style //@ directives 2024-02-22 16:04:04 +00:00
extern-diff-internal-name Run rustfmt on tests/run-make/. 2024-05-31 21:30:08 +10:00
extern-flag-disambiguates Run rustfmt on tests/run-make/. 2024-05-31 21:30:08 +10:00
extern-flag-fun rewrite incremental-session-fail to rmake 2024-06-17 13:01:15 -04:00
extern-flag-pathless Verify that all crate sources are in sync 2023-07-19 14:47:05 +00:00
extern-flag-rename-transitive rewrite extern-flag-rename-transitive to rmake 2024-06-18 15:59:33 -04:00
extern-fn-explicit-align Run rustfmt on tests/run-make/. 2024-05-31 21:30:08 +10:00
extern-fn-generic ignore failing cross-compiled run-make tests 2023-03-30 08:46:31 -05:00
extern-fn-mangle ignore failing cross-compiled run-make tests 2023-03-30 08:46:31 -05:00
extern-fn-reachable Run rustfmt on tests/run-make/. 2024-05-31 21:30:08 +10:00
extern-fn-struct-passing-abi Run rustfmt on tests/run-make/. 2024-05-31 21:30:08 +10:00
extern-fn-with-extern-types ignore failing cross-compiled run-make tests 2023-03-30 08:46:31 -05:00
extern-fn-with-packed-struct ignore failing cross-compiled run-make tests 2023-03-30 08:46:31 -05:00
extern-fn-with-union ignore failing cross-compiled run-make tests 2023-03-30 08:46:31 -05:00
extern-multiple-copies Run rustfmt on tests/run-make/. 2024-05-31 21:30:08 +10:00
extern-multiple-copies2 ignore failing cross-compiled run-make tests 2023-03-30 08:46:31 -05:00
extern-overrides-distribution rewrite extern-overrides-distribution to rmake 2024-06-18 16:30:26 -04:00
external-crate-panic-handle-no-lint Remove all usages of tmp_dir from tests 2024-06-07 11:12:24 +02:00
extra-filename-with-temp-outputs ignore failing cross-compiled run-make tests 2023-03-30 08:46:31 -05:00
fmt-write-bloat Auto merge of #109770 - jyn514:run-make-fulldeps, r=Mark-Simulacrum 2023-04-03 01:34:05 +00:00
forced-unwind-terminate-pof Rollup merge of #126644 - Oneirical:testla-coil, r=jieyouxu 2024-06-20 18:20:12 +02:00
foreign-double-unwind Add needs-unwind annotations to tests that need stack unwinding 2023-05-02 12:07:55 +00:00
foreign-exceptions Add needs-unwind annotations to tests that need stack unwinding 2023-05-02 12:07:55 +00:00
foreign-rust-exceptions Add needs-unwind annotations to tests that need stack unwinding 2023-05-02 12:07:55 +00:00
glibc-staticlib-args Migrate run-make/glibc-staticlib-args to rmake.rs 2024-06-19 13:57:55 +02:00
inaccessible-temp-dir Specify target for inaccessible-temp-dir rmake test 2024-06-20 06:44:47 -07:00
include_bytes_deps Move almost all run-make-fulldeps to run-make 2023-03-30 07:34:55 -05:00
incr-add-rust-src-component ignore failing cross-compiled run-make tests 2023-03-30 08:46:31 -05:00
incr-foreign-head-span Validate crate name in CLI option --extern 2023-09-20 18:50:40 +02:00
incr-prev-body-beyond-eof Implement fs wrapper for run_make_support 2024-06-11 09:53:31 -04:00
incremental-debugger-visualizer rewrite incremental-session-fail to rmake 2024-06-17 13:01:15 -04:00
incremental-session-fail rewrite incremental-session-fail to rmake 2024-06-17 13:01:15 -04:00
inline-always-many-cgu Migrate run-make/inline-always-many-cgu to rmake.rs 2024-06-22 12:35:58 +02:00
interdependent-c-libraries Run rustfmt on tests/run-make/. 2024-05-31 21:30:08 +10:00
intrinsic-unreachable Run rustfmt on tests/run-make/. 2024-05-31 21:30:08 +10:00
invalid-library Move almost all run-make-fulldeps to run-make 2023-03-30 07:34:55 -05:00
invalid-so move tools.mk to run-make 2023-03-30 07:58:50 -05:00
invalid-staticlib rewrite invalid-staticlib to rmake 2024-06-14 10:02:39 -04:00
issue-14698 Move almost all run-make-fulldeps to run-make 2023-03-30 07:34:55 -05:00
issue-15460 ignore failing cross-compiled run-make tests 2023-03-30 08:46:31 -05:00
issue-18943 Run rustfmt on tests/run-make/. 2024-05-31 21:30:08 +10:00
issue-20626 Run rustfmt on tests/run-make/. 2024-05-31 21:30:08 +10:00
issue-22131 Run rustfmt on tests/run-make/. 2024-05-31 21:30:08 +10:00
issue-25581 ignore failing cross-compiled run-make tests 2023-03-30 08:46:31 -05:00
issue-26006 Run rustfmt on tests/run-make/. 2024-05-31 21:30:08 +10:00
issue-28595 ignore failing cross-compiled run-make tests 2023-03-30 08:46:31 -05:00
issue-33329 Move almost all run-make-fulldeps to run-make 2023-03-30 07:34:55 -05:00
issue-35164 Move almost all run-make-fulldeps to run-make 2023-03-30 07:34:55 -05:00
issue-36710 ignore failing cross-compiled run-make tests 2023-03-30 08:46:31 -05:00
issue-37839 Run rustfmt on tests/run-make/. 2024-05-31 21:30:08 +10:00
issue-40535 Move almost all run-make-fulldeps to run-make 2023-03-30 07:34:55 -05:00
issue-47384 move tools.mk to run-make 2023-03-30 07:58:50 -05:00
issue-47551 Pass target to run-make issue-47551 2024-06-14 08:08:42 -07:00
issue-68794-textrel-on-minimal-lib ignore failing cross-compiled run-make tests 2023-03-30 08:46:31 -05:00
issue-69368 Run rustfmt on tests/run-make/. 2024-05-31 21:30:08 +10:00
issue-83045 Fix symbol conflict diagnostic mistakenly being shown instead of missing crate diagnostic 2023-05-23 07:37:16 +00:00
issue-83112-incr-test-moved-file move tools.mk to run-make 2023-03-30 07:58:50 -05:00
issue-84395-lto-embed-bitcode Rename needs-matching-clang to needs-force-clang-based-tests 2024-06-11 16:45:51 +10:00
issue-85019-moved-src-dir move tools.mk to run-make 2023-03-30 07:58:50 -05:00
issue-85401-static-mir move tools.mk to run-make 2023-03-30 07:58:50 -05:00
issue-88756-default-output rustdoc: Add support for --remap-path-prefix 2024-06-09 10:34:54 -07:00
issue-97463-abi-param-passing ignore failing cross-compiled run-make tests 2023-03-30 08:46:31 -05:00
issue-107094 Make commit-date pattern more specific in test for issue 107094 2023-04-17 18:53:52 +02:00
issue-107495-archive-permissions Implement fs wrapper for run_make_support 2024-06-11 09:53:31 -04:00
issue-109934-lto-debuginfo debuginfo: split method declaration and definition 2023-05-03 15:52:31 -07:00
issue-125484-used-dependencies Remove all usages of tmp_dir from tests 2024-06-07 11:12:24 +02:00
jobserver-error Avoid a couple of unnecessary EarlyDiagCtxt uses 2024-06-22 17:06:47 +00:00
libs-through-symlinks ignore failing cross-compiled run-make tests 2023-03-30 08:46:31 -05:00
libtest-json Change default panic handler message format. 2023-07-29 11:42:50 +02:00
libtest-junit Add needs-unwind annotations to a couple of tests 2024-03-25 14:19:07 +00:00
libtest-padding Stabilize the runtime of libtest-padding 2024-05-24 21:23:12 -04:00
libtest-thread-limit Auto merge of #109770 - jyn514:run-make-fulldeps, r=Mark-Simulacrum 2023-04-03 01:34:05 +00:00
link-arg Rewrite and rename issue-26092 to rmake 2024-06-17 13:51:52 -04:00
link-args-order make assert_stderr_contains print its contents on panic 2024-06-19 11:50:22 -04:00
link-cfg ignore failing cross-compiled run-make tests 2023-03-30 08:46:31 -05:00
link-dedup Rewrite and rename issue-26092 to rmake 2024-06-17 13:51:52 -04:00
link-framework Make more of the test suite run on Mac Catalyst 2024-05-28 12:31:33 +02:00
link-path-order Fix up a few more tests 2024-05-20 11:13:10 -04:00
linkage-attr-on-static ignore failing cross-compiled run-make tests 2023-03-30 08:46:31 -05:00
llvm-ident Support .comment section like GCC/Clang (!llvm.ident) 2023-07-21 22:01:50 +02:00
llvm-outputs migrate tests/run-make/llvm-outputs to use rmake.rs 2024-06-10 05:30:58 -04:00
long-linker-command-lines Run rustfmt on tests/run-make/. 2024-05-31 21:30:08 +10:00
long-linker-command-lines-cmd-exe Run rustfmt on tests/run-make/. 2024-05-31 21:30:08 +10:00
longjmp-across-rust ignore failing cross-compiled run-make tests 2023-03-30 08:46:31 -05:00
ls-metadata Rewrite lto-readonly-lib to rmake 2024-06-18 12:55:44 -04:00
lto-avoid-object-duplication rewrite no-builtins-lto to rmake 2024-06-17 15:18:23 -04:00
lto-dylib-dep ignore failing cross-compiled run-make tests 2023-03-30 08:46:31 -05:00
lto-empty ignore failing cross-compiled run-make tests 2023-03-30 08:46:31 -05:00
lto-linkage-used-attr Update the minimum external LLVM to 17 2024-03-17 10:11:04 -07:00
lto-no-link-whole-rlib ignore failing cross-compiled run-make tests 2023-03-30 08:46:31 -05:00
lto-readonly-lib make assert_stderr_contains print its contents on panic 2024-06-19 11:50:22 -04:00
lto-smoke Rewrite simple-rlib to rmake 2024-05-28 11:41:53 -04:00
lto-smoke-c ignore failing cross-compiled run-make tests 2023-03-30 08:46:31 -05:00
macos-deployment-target Raise minimum supported macOS to 10.12 2023-09-23 19:14:25 -05:00
macos-fat-archive Make more of the test suite run on Mac Catalyst 2024-05-28 12:31:33 +02:00
manual-crate-name Remove all usages of tmp_dir from tests 2024-06-07 11:12:24 +02:00
manual-link ignore failing cross-compiled run-make tests 2023-03-30 08:46:31 -05:00
many-crates-but-no-match Run rustfmt on tests/run-make/. 2024-05-31 21:30:08 +10:00
metadata-dep-info tests/run-make: Move RUSTC_TEST_OP to tools.mk 2023-10-07 08:30:40 +02:00
metadata-flag-frobs-symbols rewrite forced-unwind-terminate-pof to rmake 2024-06-19 14:39:09 -04:00
min-global-align Forbid implementing Freeze even if the trait is stabilized 2024-02-29 14:10:29 +00:00
mingw-export-call-convention Move almost all run-make-fulldeps to run-make 2023-03-30 07:34:55 -05:00
mismatching-target-triples Move almost all run-make-fulldeps to run-make 2023-03-30 07:34:55 -05:00
missing-crate-dependency Move almost all run-make-fulldeps to run-make 2023-03-30 07:34:55 -05:00
mixing-deps Run rustfmt on tests/run-make/. 2024-05-31 21:30:08 +10:00
mixing-formats Implement fs wrapper for run_make_support 2024-06-11 09:53:31 -04:00
mixing-libs Run rustfmt on tests/run-make/. 2024-05-31 21:30:08 +10:00
msvc-opt-minsize ignore failing cross-compiled run-make tests 2023-03-30 08:46:31 -05:00
multiple-emits Migrate run-make/multiple-emits to rmake.rs 2024-06-11 14:09:38 +02:00
native-link-modifier-bundle move tools.mk to run-make 2023-03-30 07:58:50 -05:00
native-link-modifier-verbatim-linker rewrite native-link-modifier-linker to rmake 2024-06-17 14:45:19 -04:00
native-link-modifier-verbatim-rustc rewrite native-link-modifier-linker to rmake 2024-06-17 14:45:19 -04:00
native-link-modifier-whole-archive Run rustfmt on tests/run-make/. 2024-05-31 21:30:08 +10:00
no-alloc-shim Ignore test on MSVC for now 2023-05-11 14:47:56 +00:00
no-builtins-attribute Add the no-builtins attribute to functions when no_builtins is applied at the crate level. 2023-07-18 22:15:47 +08:00
no-builtins-lto rewrite no-builtins-lto to rmake 2024-06-17 15:18:23 -04:00
no-cdylib-as-rdylib port no-cdylib-as-rdylib test 2024-05-14 17:02:20 -04:00
no-duplicate-libs ignore failing cross-compiled run-make tests 2023-03-30 08:46:31 -05:00
no-input-file Avoid a couple of unnecessary EarlyDiagCtxt uses 2024-06-22 17:06:47 +00:00
no-intermediate-extras Remove all usages of tmp_dir from tests 2024-06-07 11:12:24 +02:00
non-pie-thread-local Remove all usages of tmp_dir from tests 2024-06-07 11:12:24 +02:00
non-unicode-env Implement fs wrapper for run_make_support 2024-06-11 09:53:31 -04:00
non-unicode-in-incremental-dir Implement fs wrapper for run_make_support 2024-06-11 09:53:31 -04:00
notify-all-emit-artifacts Migrate runmake tests away from custom commands and command_output 2024-06-08 19:36:31 +02:00
obey-crate-type-flag ignore failing cross-compiled run-make tests 2023-03-30 08:46:31 -05:00
optimization-remarks-dir Add rustc option to output LLVM optimization remarks to YAML files 2023-07-02 13:41:36 +02:00
optimization-remarks-dir-pgo Remove //@ ignore-windows-gnu from tests that need the profiler 2024-06-14 13:31:46 +10:00
output-filename-conflicts-with-directory rewrite native-link-modifier-linker to rmake 2024-06-17 14:45:19 -04:00
output-filename-overwrites-input rewrite output-filename-overwrites-input to rmake 2024-06-14 16:21:55 -04:00
output-type-permutations ignore failing cross-compiled run-make tests 2023-03-30 08:46:31 -05:00
output-with-hyphens Add new test_while_readonly helper function to run-make-support 2024-06-17 14:37:49 -04:00
override-aliased-flags ignore failing cross-compiled run-make tests 2023-03-30 08:46:31 -05:00
overwrite-input Bless run-make tests 2023-11-24 19:15:52 +01:00
panic-abort-eh_frame Run AbortUnwindingCalls after generator transform 2023-08-18 13:51:42 +01:00
panic-impl-transitive Remove all usages of tmp_dir from tests 2024-06-07 11:12:24 +02:00
parallel-rustc-no-overwrite Add new test_while_readonly helper function to run-make-support 2024-06-17 14:37:49 -04:00
pass-linker-flags Enable link-arg link kind inside of #[link] attribute 2023-11-30 08:26:13 -08:00
pass-linker-flags-flavor Enable link-arg link kind inside of #[link] attribute 2023-11-30 08:26:13 -08:00
pass-linker-flags-from-dep Enable link-arg link kind inside of #[link] attribute 2023-11-30 08:26:13 -08:00
pass-non-c-like-enum-to-c Run rustfmt on tests/run-make/. 2024-05-31 21:30:08 +10:00
pdb-alt-path Make pdb-alt-path test more unwind-friendly for i686-pc-windows-msvc 2024-03-14 11:03:15 +01:00
pdb-buildinfo-cl-cmd Run rustfmt on tests/run-make/. 2024-05-31 21:30:08 +10:00
pgo-branch-weights Remove //@ ignore-windows-gnu from tests that need the profiler 2024-06-14 13:31:46 +10:00
pgo-gen Remove //@ ignore-windows-gnu from tests that need the profiler 2024-06-14 13:31:46 +10:00
pgo-gen-lto Remove //@ ignore-windows-gnu from tests that need the profiler 2024-06-14 13:31:46 +10:00
pgo-gen-no-imp-symbols Use -Zno-profiler-runtime instead of //@ needs-profiler-support 2024-06-14 13:31:46 +10:00
pgo-indirect-call-promotion Remove //@ ignore-windows-gnu from tests that need the profiler 2024-06-14 13:31:46 +10:00
pgo-use Remove //@ ignore-windows-gnu from tests that need the profiler 2024-06-14 13:31:46 +10:00
pointer-auth-link-with-c Run rustfmt on tests/run-make/. 2024-05-31 21:30:08 +10:00
prefer-dylib Use fs_wrapper in run-make/prefer-dylib 2024-06-12 11:46:05 +02:00
prefer-rlib Remove unused import in run-make/prefer-dylib/rmake.rs 2024-06-12 11:44:33 +02:00
pretty-print-to-file Run rustfmt on tests/run-make/. 2024-05-31 21:30:08 +10:00
pretty-print-with-dep-file Fix missing dependency file with -Zunpretty 2023-08-04 20:13:40 +02:00
print-calling-conventions move tools.mk to run-make 2023-03-30 07:58:50 -05:00
print-cfg Implement fs wrapper for run_make_support 2024-06-11 09:53:31 -04:00
print-check-cfg Migrate runmake tests away from custom commands and command_output 2024-06-08 19:36:31 +02:00
print-native-static-libs Migrate runmake tests away from custom commands and command_output 2024-06-08 19:36:31 +02:00
print-target-list Move almost all run-make-fulldeps to run-make 2023-03-30 07:34:55 -05:00
print-to-output Implement fs wrapper for run_make_support 2024-06-11 09:53:31 -04:00
proc-macro-init-order Run rustfmt on tests/run-make/. 2024-05-31 21:30:08 +10:00
profile ignore-cross-compile remaining tests that run binaries 2023-08-30 13:45:57 +02:00
prune-link-args Run rustfmt on tests/run-make/. 2024-05-31 21:30:08 +10:00
raw-dylib-alt-calling-convention Run rustfmt on tests/run-make/. 2024-05-31 21:30:08 +10:00
raw-dylib-c Run rustfmt on tests/run-make/. 2024-05-31 21:30:08 +10:00
raw-dylib-cross-compilation Run rustfmt on tests/run-make/. 2024-05-31 21:30:08 +10:00
raw-dylib-custom-dlltool Run rustfmt on tests/run-make/. 2024-05-31 21:30:08 +10:00
raw-dylib-import-name-type Run rustfmt on tests/run-make/. 2024-05-31 21:30:08 +10:00
raw-dylib-inline-cross-dylib Run rustfmt on tests/run-make/. 2024-05-31 21:30:08 +10:00
raw-dylib-link-ordinal Run rustfmt on tests/run-make/. 2024-05-31 21:30:08 +10:00
raw-dylib-stdcall-ordinal tests/run-make: Use RUSTC_TEST_OP in more places 2023-10-07 08:30:40 +02:00
reachable-extern-fn-available-lto Remove unnecessary functions and the last mention of TMPDIR from run-make-support 2024-06-08 13:10:55 +02:00
redundant-libs ignore failing cross-compiled run-make tests 2023-03-30 08:46:31 -05:00
relocation-model rewrite crate-name-priority to rmake 2024-06-20 16:09:39 -04:00
relro-levels Enable cross compilation on run-make/relro-levels 2024-06-22 19:44:51 -04:00
remap-path-prefix Replace RemapFileNameExt::for_codegen with explicit calls 2024-03-28 18:47:26 +01:00
remap-path-prefix-dwarf Adjust tests for MacOS having different -Csplit-debuginfo default 2023-10-17 10:11:31 +02:00
repr128-dwarf Implement fs wrapper for run_make_support 2024-06-11 09:53:31 -04:00
reproducible-build Run rustfmt on tests/run-make/. 2024-05-31 21:30:08 +10:00
reproducible-build-2 Run rustfmt on tests/run-make/. 2024-05-31 21:30:08 +10:00
reset-codegen-1 Implement fs wrapper for run_make_support 2024-06-11 09:53:31 -04:00
resolve-rename Implement fs wrapper for run_make_support 2024-06-11 09:53:31 -04:00
return-non-c-like-enum Run rustfmt on tests/run-make/. 2024-05-31 21:30:08 +10:00
return-non-c-like-enum-from-c Run rustfmt on tests/run-make/. 2024-05-31 21:30:08 +10:00
rlib-chain Run rustfmt on tests/run-make/. 2024-05-31 21:30:08 +10:00
rlib-format-packed-bundled-libs move tools.mk to run-make 2023-03-30 07:58:50 -05:00
rlib-format-packed-bundled-libs-2 move tools.mk to run-make 2023-03-30 07:58:50 -05:00
rlib-format-packed-bundled-libs-3 stabilize combining +bundle and +whole-archive link modifiers 2023-08-15 15:51:18 -05:00
rmeta-preferred Rewrite rmeta-rpass test to work with the new check for all crate sources being in sync 2023-07-19 14:47:06 +00:00
run-in-tmpdir-self-test run-make: add run_in_tmpdir self-test 2024-06-10 10:46:36 +00:00
rust-lld Migrate runmake tests away from custom commands and command_output 2024-06-08 19:36:31 +02:00
rust-lld-by-default Migrate runmake tests away from custom commands and command_output 2024-06-08 19:36:31 +02:00
rust-lld-custom-target Migrate runmake tests away from custom commands and command_output 2024-06-08 19:36:31 +02:00
rustc-macro-dep-files Improve print_tts by changing tokenstream::Spacing. 2023-12-11 09:19:09 +11:00
rustdoc-determinism Remove all usages of tmp_dir from tests 2024-06-07 11:12:24 +02:00
rustdoc-error-lines Migrate runmake tests away from custom commands and command_output 2024-06-08 19:36:31 +02:00
rustdoc-io-error Ignore arm targets as well for run-make/rustdoc-io-error tests 2024-06-20 14:06:37 +02:00
rustdoc-map-file tests/run-make: update tests to use new API 2024-06-11 09:14:28 +00:00
rustdoc-output-path Remove all usages of tmp_dir from tests 2024-06-07 11:12:24 +02:00
rustdoc-scrape-examples-invalid-expr Run rustfmt on tests/run-make/. 2024-05-31 21:30:08 +10:00
rustdoc-scrape-examples-macros tests/run-make: update tests to use new API 2024-06-11 09:14:28 +00:00
rustdoc-scrape-examples-multiple Migrate run-make/rustdoc-scrape-examples-multiple to rmake.rs 2024-05-21 12:11:17 +02:00
rustdoc-scrape-examples-ordering Migrate run-make/rustdoc-scrape-examples-test to new rmake.rs 2024-05-19 15:02:30 +02:00
rustdoc-scrape-examples-remap Implement fs wrapper for run_make_support 2024-06-11 09:53:31 -04:00
rustdoc-scrape-examples-test Run rustfmt on tests/run-make/. 2024-05-31 21:30:08 +10:00
rustdoc-scrape-examples-whitespace Run rustfmt on tests/run-make/. 2024-05-31 21:30:08 +10:00
rustdoc-shared-flags Migrate runmake tests away from custom commands and command_output 2024-06-08 19:36:31 +02:00
rustdoc-target-spec-json-path Remove all usages of tmp_dir from tests 2024-06-07 11:12:24 +02:00
rustdoc-test-args Implement fs wrapper for run_make_support 2024-06-11 09:53:31 -04:00
rustdoc-themes Implement fs wrapper for run_make_support 2024-06-11 09:53:31 -04:00
rustdoc-verify-output-files Implement fs wrapper for run_make_support 2024-06-11 09:53:31 -04:00
rustdoc-with-out-dir-option tests/run-make: update tests to use new API 2024-06-11 09:14:28 +00:00
rustdoc-with-output-option tests/run-make: update tests to use new API 2024-06-11 09:14:28 +00:00
rustdoc-with-short-out-dir-option tests/run-make: update tests to use new API 2024-06-11 09:14:28 +00:00
sanitizer-cdylib-link Enable address sanitizer for MSVC targets using INFERASANLIBS linker flag 2024-01-03 10:00:15 -08:00
sanitizer-dylib-link Enable address sanitizer for MSVC targets using INFERASANLIBS linker flag 2024-01-03 10:00:15 -08:00
sanitizer-staticlib-link Enable address sanitizer for MSVC targets using INFERASANLIBS linker flag 2024-01-03 10:00:15 -08:00
separate-link rewrite allocator-shim-circular-deps to ui test 2024-06-18 14:25:59 -04:00
separate-link-fail rewrite separate-link-fail to rmake.rs 2024-06-17 15:59:39 -04:00
sepcomp-cci-copies Move almost all run-make-fulldeps to run-make 2023-03-30 07:34:55 -05:00
sepcomp-inlining Move almost all run-make-fulldeps to run-make 2023-03-30 07:34:55 -05:00
sepcomp-separate Move almost all run-make-fulldeps to run-make 2023-03-30 07:34:55 -05:00
share-generics-dylib Run rustfmt on tests/run-make/. 2024-05-31 21:30:08 +10:00
share-generics-export-again rewrite issue64319 and rename 2024-05-17 11:49:20 -04:00
short-ice Add set_backtrace_level helper function to run_make_support 2024-06-11 15:39:54 -04:00
silly-file-names tests/run-make: Move RUSTC_TEST_OP to tools.mk 2023-10-07 08:30:40 +02:00
simd-ffi Move almost all run-make-fulldeps to run-make 2023-03-30 07:34:55 -05:00
split-debuginfo Run rustfmt on tests/run-make/. 2024-05-31 21:30:08 +10:00
stable-symbol-names Run rustfmt on tests/run-make/. 2024-05-31 21:30:08 +10:00
static-dylib-by-default ignore failing cross-compiled run-make tests 2023-03-30 08:46:31 -05:00
static-extern-type ignore failing cross-compiled run-make tests 2023-03-30 08:46:31 -05:00
static-pie Migrate static-pie scripts to rmake 2024-06-22 14:15:23 -04:00
static-unwinding Run rustfmt on tests/run-make/. 2024-05-31 21:30:08 +10:00
staticlib-blank-lib Move almost all run-make-fulldeps to run-make 2023-03-30 07:34:55 -05:00
staticlib-dylib-linkage Ignore test when cross compiling 2023-04-27 18:22:06 +00:00
std-core-cycle ignore failing cross-compiled run-make tests 2023-03-30 08:46:31 -05:00
stdin-rustc Migrate runmake tests away from custom commands and command_output 2024-06-08 19:36:31 +02:00
stdin-rustdoc Remove all usages of tmp_dir from tests 2024-06-07 11:12:24 +02:00
suspicious-library Remove unnecessary functions and the last mention of TMPDIR from run-make-support 2024-06-08 13:10:55 +02:00
symbol-mangling-hashed Run rustfmt on tests/run-make/. 2024-05-31 21:30:08 +10:00
symbol-visibility Run rustfmt on tests/run-make/. 2024-05-31 21:30:08 +10:00
symbols-include-type-name Move almost all run-make-fulldeps to run-make 2023-03-30 07:34:55 -05:00
symlinked-extern Add need-symlink directive to compiletest 2024-06-23 13:42:52 +00:00
symlinked-libraries Add need-symlink directive to compiletest 2024-06-23 13:42:52 +00:00
symlinked-rlib Add need-symlink directive to compiletest 2024-06-23 13:42:52 +00:00
sysroot-crates-are-unstable Apply changes to fix python linting errors 2023-06-16 20:56:01 -04:00
target-cpu-native Run rustfmt on tests/run-make/. 2024-05-31 21:30:08 +10:00
target-specs Update data layouts in custom target tests for LLVM 18 2024-01-31 15:15:59 +01:00
target-without-atomic-cas Move almost all run-make-fulldeps to run-make 2023-03-30 07:34:55 -05:00
test-benches Add needs-unwind annotations to tests that need stack unwinding 2023-05-02 12:07:55 +00:00
test-harness Run rustfmt on tests/run-make/. 2024-05-31 21:30:08 +10:00
thumb-none-cortex-m move tools.mk to run-make 2023-03-30 07:58:50 -05:00
thumb-none-qemu move tools.mk to run-make 2023-03-30 07:58:50 -05:00
track-path-dep-info move tools.mk to run-make 2023-03-30 07:58:50 -05:00
track-pgo-dep-info Remove //@ ignore-windows-gnu from tests that need the profiler 2024-06-14 13:31:46 +10:00
translation Fix tests/run-make-translation when download-rustc is enabled 2023-04-19 00:39:20 -05:00
type-mismatch-same-crate-name Run rustfmt on tests/run-make/. 2024-05-31 21:30:08 +10:00
unknown-mod-stdin Bless run-make tests 2023-11-24 19:15:52 +01:00
unstable-flag-required move tools.mk to run-make 2023-03-30 07:58:50 -05:00
use-suggestions-rust-2018 Run rustfmt on tests/run-make/. 2024-05-31 21:30:08 +10:00
used Migrate run-make/used to rmake.rs 2024-06-17 00:23:28 +02:00
used-cdylib-macos Make more of the test suite run on Mac Catalyst 2024-05-28 12:31:33 +02:00
volatile-intrinsics ignore failing cross-compiled run-make tests 2023-03-30 08:46:31 -05:00
wasm-abi Remove unnecessary functions and the last mention of TMPDIR from run-make-support 2024-06-08 13:10:55 +02:00
wasm-custom-section Implement fs wrapper for run_make_support 2024-06-11 09:53:31 -04:00
wasm-custom-sections-opt Implement fs wrapper for run_make_support 2024-06-11 09:53:31 -04:00
wasm-exceptions-nostd Run rustfmt on tests/run-make/. 2024-05-31 21:30:08 +10:00
wasm-export-all-symbols Implement fs wrapper for run_make_support 2024-06-11 09:53:31 -04:00
wasm-import-module Implement fs wrapper for run_make_support 2024-06-11 09:53:31 -04:00
wasm-override-linker Rename needs-matching-clang to needs-force-clang-based-tests 2024-06-11 16:45:51 +10:00
wasm-panic-small Implement fs wrapper for run_make_support 2024-06-11 09:53:31 -04:00
wasm-spurious-import Implement fs wrapper for run_make_support 2024-06-11 09:53:31 -04:00
wasm-stringify-ints-small Implement fs wrapper for run_make_support 2024-06-11 09:53:31 -04:00
wasm-symbols-different-module Implement fs wrapper for run_make_support 2024-06-11 09:53:31 -04:00
wasm-symbols-not-exported Implement fs wrapper for run_make_support 2024-06-11 09:53:31 -04:00
wasm-symbols-not-imported Implement fs wrapper for run_make_support 2024-06-11 09:53:31 -04:00
weird-output-filenames Move almost all run-make-fulldeps to run-make 2023-03-30 07:34:55 -05:00
windows-binary-no-external-deps Fix windows test 2024-06-08 15:40:43 +02:00
windows-safeseh Convert run-make/windows-safeseh to rmake 2024-05-29 13:14:19 +00:00
windows-spawn Remove all usages of tmp_dir from tests 2024-06-07 11:12:24 +02:00
windows-ws2_32 Implement fs wrapper for run_make_support 2024-06-11 09:53:31 -04:00
x86_64-fortanix-unknown-sgx-lvi Run rustfmt on tests/run-make/. 2024-05-31 21:30:08 +10:00
git_clone_sha1.sh Move /src/test to /tests 2023-01-11 09:32:08 +00:00
README.md run-make: add some basic docs about the test suite's setup 2024-06-08 18:16:49 +00:00
tools.mk Add synchronization library to run-make flags 2024-02-25 22:28:30 -03:00

The run-make test suite

The run-make test suite contains tests which are the most flexible out of all the rust-lang/rust test suites. run-make tests can basically contain arbitrary code, and are supported by the run_make_support library.

Infrastructure

There are two kinds of run-make tests:

  1. The new rmake.rs version: this allows run-make tests to be written in Rust (with rmake.rs as the main test file).
  2. The legacy Makefile version: this is what run-make tests were written with before support for rmake.rs was introduced.

The implementation for collecting and building the rmake.rs recipes (or Makefiles) are in src/tools/compiletest/src/runtest.rs, in run_rmake_v2_test and run_rmake_legacy_test.

Rust-based run-make tests: rmake.rs

The setup for the rmake.rs version is a 3-stage process:

  1. First, we build the run_make_support library in bootstrap as a tool lib.

  2. Then, we compile the rmake.rs "recipe" linking the support library and its dependencies in, and provide a bunch of env vars. We setup a directory structure within build/<target>/test/run-make/

    <test-name>/
        rmake.exe              # recipe binary
        rmake_out/             # sources from test sources copied over
    

    and copy non-rmake.rs input support files over to rmake_out/. The support library is made available as an extern prelude.

  3. Finally, we run the recipe binary and set rmake_out/ as the working directory.