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
compressed-debuginfo Migrate run-make/compressed-debuginfo to rmake.rs 2024-06-18 21:32:24 +02:00
const_fn_mir Add missing test annotation 2024-06-17 11:15:59 +02:00
const-prop-lint Implement fs wrapper for run_make_support 2024-06-11 09:53:31 -04: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
crate-name-priority rewrite crate-name-priority to rmake 2024-06-20 16:09:39 -04:00
cross-lang-lto
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
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
dump-mono-stats
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
emit-shared-files
emit-stack-sizes Make more of the test suite run on Mac Catalyst 2024-05-28 12:31:33 +02:00
emit-to-stdout
env-dep-info
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
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
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
extern-fn-mangle
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
extern-fn-with-packed-struct
extern-fn-with-union
extern-multiple-copies Run rustfmt on tests/run-make/. 2024-05-31 21:30:08 +10:00
extern-multiple-copies2
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
fmt-write-bloat
forced-unwind-terminate-pof Rollup merge of #126644 - Oneirical:testla-coil, r=jieyouxu 2024-06-20 18:20:12 +02:00
foreign-double-unwind
foreign-exceptions
foreign-rust-exceptions
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
incr-add-rust-src-component
incr-foreign-head-span
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
invalid-so
invalid-staticlib rewrite invalid-staticlib to rmake 2024-06-14 10:02:39 -04:00
issue-14698
issue-15460
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
issue-26006 Run rustfmt on tests/run-make/. 2024-05-31 21:30:08 +10:00
issue-28595
issue-33329
issue-35164
issue-36710
issue-37839 Run rustfmt on tests/run-make/. 2024-05-31 21:30:08 +10:00
issue-40535
issue-47384
issue-47551 Pass target to run-make issue-47551 2024-06-14 08:08:42 -07:00
issue-68794-textrel-on-minimal-lib
issue-69368 Run rustfmt on tests/run-make/. 2024-05-31 21:30:08 +10:00
issue-83045
issue-83112-incr-test-moved-file
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
issue-85401-static-mir
issue-88756-default-output rustdoc: Add support for --remap-path-prefix 2024-06-09 10:34:54 -07:00
issue-97463-abi-param-passing
issue-107094
issue-107495-archive-permissions Implement fs wrapper for run_make_support 2024-06-11 09:53:31 -04:00
issue-109934-lto-debuginfo
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
libtest-json
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
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
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
llvm-ident
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
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
lto-empty
lto-linkage-used-attr
lto-no-link-whole-rlib
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
macos-deployment-target
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
many-crates-but-no-match Run rustfmt on tests/run-make/. 2024-05-31 21:30:08 +10:00
metadata-dep-info
metadata-flag-frobs-symbols rewrite forced-unwind-terminate-pof to rmake 2024-06-19 14:39:09 -04:00
min-global-align
mingw-export-call-convention
mismatching-target-triples
missing-crate-dependency
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
multiple-emits Migrate run-make/multiple-emits to rmake.rs 2024-06-11 14:09:38 +02:00
native-link-modifier-bundle
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
no-builtins-attribute
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
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
optimization-remarks-dir
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
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
overwrite-input
panic-abort-eh_frame
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
pass-linker-flags-flavor
pass-linker-flags-from-dep
pass-non-c-like-enum-to-c Run rustfmt on tests/run-make/. 2024-05-31 21:30:08 +10:00
pdb-alt-path
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
print-calling-conventions
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
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
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
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
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
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
rlib-format-packed-bundled-libs-2
rlib-format-packed-bundled-libs-3
rmeta-preferred
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
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
sanitizer-dylib-link
sanitizer-staticlib-link
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
sepcomp-inlining
sepcomp-separate
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
simd-ffi
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
static-extern-type
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
staticlib-dylib-linkage
std-core-cycle
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
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
target-cpu-native Run rustfmt on tests/run-make/. 2024-05-31 21:30:08 +10:00
target-specs
target-without-atomic-cas
test-benches
test-harness Run rustfmt on tests/run-make/. 2024-05-31 21:30:08 +10:00
thumb-none-cortex-m
thumb-none-qemu
track-path-dep-info
track-pgo-dep-info Remove //@ ignore-windows-gnu from tests that need the profiler 2024-06-14 13:31:46 +10:00
translation
type-mismatch-same-crate-name Run rustfmt on tests/run-make/. 2024-05-31 21:30:08 +10:00
unknown-mod-stdin
unstable-flag-required
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
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
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
README.md run-make: add some basic docs about the test suite's setup 2024-06-08 18:16:49 +00:00
tools.mk

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.