rust/tests/run-make
Matthias Krüger 5fa914c13a
Rollup merge of #152134 - hoodmane:emscripten-crt-static-allow-dylibs, r=petrochenkov
Set crt_static_allow_dylibs to true for Emscripten target

And add a test. This is followup work to rust-lang/rust#151704. It introduced a regression where cargo is now unwilling to build cdylibs for Emscripten because `crt_static_default` is `true` but `crt_static_allows_dylibs` is `false`. Unfortunately the added test does not fail without the change because the validation logic is in Cargo, not in rustc. But it's good to have some coverage of this anyways.
2026-02-09 18:39:39 +01:00
..
a-b-a-linker-guard Ignore a-b-a-linker-guard during cross-compilation 2025-03-01 22:11:14 +01:00
alloc-no-oom-handling run-make tests: use edition 2024 2025-11-05 14:28:16 +00:00
alloc-no-rc run-make tests: use edition 2024 2025-11-05 14:28:16 +00:00
alloc-no-sync run-make tests: use edition 2024 2025-11-05 14:28:16 +00: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 Adjust some run-make tests on cross-compile 2025-06-19 07:38:01 +08:00
amdgpu-kd tests: {Meta,Pointee}Sized in non-minicore tests 2025-06-16 23:04:33 +00:00
apple-c-available-links Add __isOSVersionAtLeast and __isPlatformVersionAtLeast symbols 2025-09-05 16:18:49 +02:00
apple-deployment-target Use --print target-libdir in run-make tests 2025-12-31 15:15:28 +00:00
apple-sdk-version Enable automatic cross-compilation in run-make tests 2025-06-18 18:39:25 +08:00
archive-duplicate-names Use is_windows_msvc instead of is_msvc in run-make tests 2025-07-10 13:55:04 +08:00
arguments-non-c-like-enum remove unused imports from rmake tests 2024-08-10 18:06:10 +00:00
arm64ec-import-export-static [Arm64EC] Only decorate functions with # 2025-06-23 12:38:35 -07:00
artifact-incr-cache ignore run-make tests that need std on no_std targets 2025-06-12 15:10:12 +02:00
artifact-incr-cache-no-obj ignore run-make tests that need std on no_std targets 2025-06-12 15:10:12 +02:00
atomic-lock-free atomicrmw on pointers: move integer-pointer cast hacks into backend 2025-07-23 08:32:55 +02:00
autodiff Fix some autodiff tests require Clto=fat 2026-02-04 00:58:34 +09:00
avr-rjmp-offset Rename tests/assembly into tests/assembly-llvm 2025-07-22 14:27:48 +02:00
bare-outfile Fix bare-outfile test 2024-06-07 11:12:04 +02:00
bin-emit-no-symbols Support #[alloc_error_handler] without the allocator shim 2025-10-10 13:04:53 +00:00
box-struct-no-segfault ignore run-make tests that need std on no_std targets 2025-06-12 15:10:12 +02:00
branch-protection-check-IBT don't use no_main and no_core to test IBT 2025-12-14 09:18:31 -05:00
broken-pipe-no-ice tests: fix broken-pipe-no-ice to use bare_rustc/rustc 2025-05-09 19:54:43 +08:00
c-dynamic-dylib rewrite c-dynamic-dylib to rmake 2024-07-23 10:31:21 -04:00
c-dynamic-rlib rewrite c-dynamic-dylib to rmake 2024-07-23 10:31:21 -04:00
c-link-to-rust-dylib Use is_windows_msvc instead of is_msvc in run-make tests 2025-07-10 13:55:04 +08:00
c-link-to-rust-staticlib remove unused imports from rmake tests 2024-08-10 18:06:10 +00:00
c-link-to-rust-va-list-fn Rework c_variadic 2025-12-04 10:51:34 +01:00
c-static-dylib rewrite pass-non-c-like-enum-to-c to rmake 2024-07-19 12:27:47 -04:00
c-static-rlib rewrite pass-non-c-like-enum-to-c to rmake 2024-07-19 12:27:47 -04:00
c-unwind-abi-catch-lib-panic Use is_windows_msvc instead of is_msvc in run-make tests 2025-07-10 13:55:04 +08:00
c-unwind-abi-catch-panic Reformat using the new identifier sorting from rustfmt 2024-09-22 19:11:29 -04:00
cdylib Use is_windows_msvc instead of is_msvc in run-make tests 2025-07-10 13:55:04 +08:00
cdylib-dylib-linkage Use --print target-libdir in run-make tests 2025-12-31 15:15:28 +00:00
cdylib-export-c-library-symbols link modifier export-symbols: export all global symbols from selected uptream c static libraries 2026-02-04 09:26:21 +08:00
cdylib-fewer-symbols rewrite symbols-include-type-name to rmake 2024-07-09 14:30:57 -04:00
checksum-freshness checksum-freshness: Add binary file inclusion to integration test 2026-01-14 21:16:54 +01:00
clear-error-blank-output tests: use renamed stdin_buf 2024-09-05 08:43:38 +00:00
codegen-options-parsing Migrate run-make/codegen-options-parsing to rmake.rs 2024-06-14 13:59:44 +02:00
comment-section tests: use renamed stdin_buf 2024-09-05 08:43:38 +00:00
compile-stdin tests: use renamed stdin_buf 2024-09-05 08:43:38 +00:00
compiler-lookup-paths ignore run-make tests that need std on no_std targets 2025-06-12 15:10:12 +02:00
compiler-lookup-paths-2 ignore run-make tests that need std on no_std targets 2025-06-12 15:10:12 +02:00
compiler-rt-works-on-mingw Use is_windows_msvc instead of is_msvc in run-make tests 2025-07-10 13:55:04 +08:00
compiletest-self-test Thread --jobs from bootstrap -> compiletest -> run-make-support 2026-01-06 14:51:51 +08:00
compressed-debuginfo remove unused imports from rmake tests 2024-08-10 18:06:10 +00:00
compressed-debuginfo-zstd stabilize -Clinker-features=-lld on x64 linux 2025-07-08 09:04:21 +00:00
const-prop-lint tests: update for rfs rename 2024-07-17 13:34:18 +00:00
const-trait-stable-toolchain Remove #[const_trait] 2025-11-08 07:37:15 +01:00
const_fn_mir Make -Z unpretty=mir suggest -Z dump-mir as well 2025-02-26 13:07:12 +01:00
core-no-fp-fmt-parse Migrate core to Rust 2024 2025-03-11 09:46:34 -07:00
core-no-oom-handling Remove #![feature(let_chains)] from library and src/librustdoc 2025-05-16 16:14:24 +02:00
cpp-global-destructors Modify some run-make tests to use //@ needs-target-std 2025-06-10 23:31:05 +08:00
crate-circular-deps-link Rollup merge of #140809 - bjorn3:panic_runtime_cleanup, r=petrochenkov 2025-06-27 22:13:01 +02:00
crate-data-smoke tests: produce target artifacts and/or require crate type / ignore cross-compile 2025-04-12 15:09:06 +08:00
crate-hash-rustc-version Reformat use declarations. 2024-07-29 08:26:52 +10:00
crate-loading Add support for trait object types in type_info reflection 2026-01-27 19:49:09 -04:00
crate-loading-crate-depends-on-itself Add a note when a type implements a trait with the same name as the required one 2025-11-11 17:36:43 +01:00
crate-loading-multiple-candidates Test for relative paths in crate path diagnostics 2025-04-16 17:42:39 +00:00
crate-name-priority tests: produce target artifacts and/or require crate type / ignore cross-compile 2025-04-12 15:09:06 +08:00
cross-lang-lto ignore run-make tests that need std on no_std targets 2025-06-12 15:10:12 +02:00
cross-lang-lto-clang Fix linker-plugin-lto only doing thin lto 2025-07-31 10:38:34 +02:00
cross-lang-lto-pgo-smoketest-clang Rename directive needs-profiler-support to needs-profiler-runtime 2024-10-09 20:58:27 +11:00
cross-lang-lto-riscv-abi tests: {Meta,Pointee}Sized in non-minicore tests 2025-06-16 23:04:33 +00:00
cross-lang-lto-upstream-rlibs ignore run-make tests that need std on no_std targets 2025-06-12 15:10:12 +02:00
CURRENT_RUSTC_VERSION ignore run-make tests that need std on no_std targets 2025-06-12 15:10:12 +02:00
debug-assertions rewrite emit-stack-sizes to rmake 2024-06-28 11:18:46 -04:00
debugger-visualizer-dep-info ignore run-make tests that need std on no_std targets 2025-06-12 15:10:12 +02:00
dep-graph Migrate run-make/dep-graph to rmake.rs 2024-06-15 17:34:43 +02:00
dep-info ignore run-make tests that need std on no_std targets 2025-06-12 15:10:12 +02:00
deref-impl-rustdoc-ice About rmake tests 2024-08-15 15:44:29 +02:00
diagnostics-traits-from-duplicate-crates Add new run_make_support::CompletedProcess::assert_ice method 2025-11-05 22:43:25 +01:00
dirty-incr-due-to-hard-link Prepend temp files with a string per invocation of rustc 2025-04-07 20:48:40 +00:00
doctests-compilation-time-info Add regression test for merged doctests compilation time display 2025-09-26 22:04:00 +02:00
doctests-junit rustdoc: Test only in stage2 2025-12-16 21:10:29 +09:00
doctests-keep-binaries ignore tests broken while cross compiling 2025-03-24 11:33:56 +01:00
doctests-keep-binaries-2024 Allow #![doc(test(attr(..)))] doctests to be again merged together 2025-05-22 20:12:50 +02:00
doctests-merge Add regression test for merged doctests compilation time display 2025-09-26 22:04:00 +02:00
doctests-runtool Adjust some run-make tests on cross-compile 2025-06-19 07:38:01 +08:00
dos-device-input Use path instead of Path in some run-make tests 2024-08-29 10:15:17 -04:00
dump-ice-to-disk Disable dump-ice-to-disk on i686-pc-windows-msvc 2026-01-16 09:27:45 +08:00
dump-mono-stats ignore run-make tests that need std on no_std targets 2025-06-12 15:10:12 +02:00
duplicate-dependency Overhaul filename handling for cross-compiler consistency 2025-12-12 07:33:09 +01:00
duplicate-dependency-no-disambiguate Add a test for not resolving ambiguity for multiple --extern with same name 2025-12-11 12:08:20 +01:00
duplicate-output-flavors ignore run-make tests that need std on no_std targets 2025-06-12 15:10:12 +02:00
dylib-chain tests: update for rfs rename 2024-07-17 13:34:18 +00:00
dylib-soname Only add an automatic SONAME for Rust dylibs 2024-09-27 15:53:26 -07:00
embed-metadata Adjust some run-make tests on cross-compile 2025-06-19 07:38:01 +08:00
embed-source-dwarf Adjust some run-make tests on cross-compile 2025-06-19 07:38:01 +08:00
emit Auto merge of #125383 - Oneirical:bundle-them-up, r=jieyouxu 2024-06-03 18:35:54 +00:00
emit-named-files ignore run-make tests that need std on no_std targets 2025-06-12 15:10:12 +02:00
emit-path-unhashed ignore run-make tests that need std on no_std targets 2025-06-12 15:10:12 +02:00
emit-shared-files rustdoc: remove --emit=unversioned-shared-resources 2025-10-27 17:28:51 -07:00
emit-stack-sizes Adjust some run-make tests on cross-compile 2025-06-19 07:38:01 +08:00
emit-to-stdout ignore run-make tests that need std on no_std targets 2025-06-12 15:10:12 +02:00
env-dep-info fix tests 2025-11-27 22:02:47 +01:00
error-found-staticlib-instead-crate ignore run-make tests that need std on no_std targets 2025-06-12 15:10:12 +02:00
error-writing-dependencies rewrite error-writing-dependencies to rmake 2024-06-19 16:43:22 -04:00
exit-code Adjust some run-make tests on cross-compile 2025-06-19 07:38:01 +08:00
export Adjust some run-make tests on cross-compile 2025-06-19 07:38:01 +08:00
export-executable-symbols remove no_gc_sections 2025-07-17 14:54:52 +08:00
extern-diff-internal-name Adjust some run-make tests on cross-compile 2025-06-19 07:38:01 +08:00
extern-flag-disambiguates remove unused imports from rmake tests 2024-08-10 18:06:10 +00:00
extern-flag-fun Adjust some run-make tests on cross-compile 2025-06-19 07:38:01 +08:00
extern-flag-pathless tests: update for rfs rename 2024-07-17 13:34:18 +00:00
extern-flag-rename-transitive ignore run-make tests that need std on no_std targets 2025-06-12 15:10:12 +02:00
extern-fn-explicit-align Reformat using the new identifier sorting from rustfmt 2024-09-22 19:11:29 -04:00
extern-fn-generic rewrite extern-fn-with-union to rmake 2024-07-19 12:27:47 -04:00
extern-fn-mangle rewrite extern-fn-mangle to rmake 2024-07-17 15:33:17 -04:00
extern-fn-reachable tests: port extern-fn-reachable to rmake.rs 2025-01-15 01:05:16 +08:00
extern-fn-slice-no-ice rewrite and rename issue-25581 2024-07-17 15:33:06 -04:00
extern-fn-struct-passing-abi Use field init shorthand where possible 2024-12-17 14:33:10 -08:00
extern-fn-with-extern-types rewrite extern-fn-with-extern-types to rmake 2024-07-17 15:33:05 -04:00
extern-fn-with-packed-struct rewrite extern-fn-with-packed-struct to rmake 2024-07-17 15:33:07 -04:00
extern-fn-with-union rewrite extern-fn-with-union to rmake 2024-07-19 12:27:47 -04:00
extern-multiple-copies Adjust some run-make tests on cross-compile 2025-06-19 07:38:01 +08:00
extern-multiple-copies2 Adjust some run-make tests on cross-compile 2025-06-19 07:38:01 +08: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 tests: produce target artifacts and/or require crate type / ignore cross-compile 2025-04-12 15:09:06 +08:00
fat-then-thin-lto Fix linker-plugin-lto only doing thin lto 2025-07-31 10:38:34 +02: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 rewrite foreign-exceptions to rmake 2024-08-02 10:06:20 -04:00
foreign-exceptions Reformat using the new identifier sorting from rustfmt 2024-09-22 19:11:29 -04:00
foreign-rust-exceptions rewrite export-executable-symbols to rmake 2024-07-26 10:17:39 -04:00
frontmatter-no-trailing-newline Fix ICE when parsing frontmatter without newline 2026-01-31 08:51:40 +00:00
glibc-staticlib-args Improve run-make-support library args API 2024-06-30 12:40:24 +02:00
glibc-symbols-x86_64-unknown-linux-gnu Reword comment slightly 2025-01-22 17:22:39 +01:00
ice-dep-cannot-find-dep Adjust some run-make tests on cross-compile 2025-06-19 07:38:01 +08:00
ice-static-mir ignore run-make tests that need std on no_std targets 2025-06-12 15:10:12 +02:00
import-macro-verbatim fix a few typos in rmake tests' comments 2024-12-23 09:40:38 +00:00
inaccessible-temp-dir tests: update for rfs rename 2024-07-17 13:34:18 +00:00
include-all-symbols-linking Adjust some run-make tests on cross-compile 2025-06-19 07:38:01 +08:00
include-bytes-deps ignore run-make tests that need std on no_std targets 2025-06-12 15:10:12 +02:00
incr-add-rust-src-component tests: migrate incr-add-rust-src-component to rmake.rs 2024-12-23 20:23:57 +08:00
incr-foreign-head-span Modify some run-make tests to use //@ needs-target-std 2025-06-10 23:31:05 +08:00
incr-prev-body-beyond-eof Adjust some run-make tests on cross-compile 2025-06-19 07:38:01 +08:00
incr-test-moved-file Adjust some run-make tests on cross-compile 2025-06-19 07:38:01 +08:00
incremental-debugger-visualizer ignore run-make tests that need std on no_std targets 2025-06-12 15:10:12 +02:00
incremental-session-fail tests: update for rfs rename 2024-07-17 13:34:18 +00:00
inline-always-many-cgu ignore run-make tests that need std on no_std targets 2025-06-12 15:10:12 +02:00
interdependent-c-libraries rewrite incr-foreign-head-span to rmake 2024-07-25 11:08:07 -04:00
intrinsic-unreachable Adjust some run-make tests on cross-compile 2025-06-19 07:38:01 +08:00
invalid-library Reformat use declarations. 2024-07-29 08:26:52 +10:00
invalid-so Adjust some run-make tests on cross-compile 2025-06-19 07:38:01 +08:00
invalid-staticlib ignore run-make tests that need std on no_std targets 2025-06-12 15:10:12 +02:00
invalid-symlink-search-path ignore run-make tests that need std on no_std targets 2025-06-12 15:10:12 +02:00
invalid-tmpdir-no-ice Rename invalid-tmpdir-env-var 2025-12-24 06:41:44 +00:00
issue-84395-lto-embed-bitcode tests/run-make: port issue-84395-lto-embed-bitcode to rmake.rs 2024-10-22 19:43:22 +08:00
issue-107495-archive-permissions ignore run-make tests that need std on no_std targets 2025-06-12 15:10:12 +02:00
issue-125484-used-dependencies Adjust some run-make tests on cross-compile 2025-06-19 07:38:01 +08:00
issue-149402-suggest-unresolve Surpress suggestion from unstable items on stable channel 2026-01-18 20:01:50 +08:00
jobserver-error tests: port jobserver-error.rs to rmake.rs 2025-01-22 12:26:50 +08:00
json-error-no-offset Adjust some run-make tests on cross-compile 2025-06-19 07:38:01 +08:00
lib-trait-for-trait-no-ice ignore run-make tests that need std on no_std targets 2025-06-12 15:10:12 +02:00
libs-through-symlinks tests: add a missing needs-symlink 2025-02-07 01:41:54 +08:00
libstd-no-protected Use --print target-libdir in run-make tests 2025-12-31 15:15:28 +00:00
libtest-json Print thread ID in panic message if thread name is unknown 2025-08-06 23:59:47 +00:00
libtest-junit libtest: Stricter XML validation 2025-12-13 16:30:32 +09:00
libtest-padding rewrite libtest-padding to rmake 2024-06-26 11:44:23 -04:00
libtest-thread-limit remove unused imports from rmake tests 2024-12-23 09:40:25 +00:00
link-arg ignore run-make tests that need std on no_std targets 2025-06-12 15:10:12 +02:00
link-args-order Use is_windows_msvc instead of is_msvc in run-make tests 2025-07-10 13:55:04 +08:00
link-cfg [test][run-make] add needs-llvm-components 2025-07-30 00:39:43 -04:00
link-dedup Use is_windows_msvc instead of is_msvc in run-make tests 2025-07-10 13:55:04 +08:00
link-eh-frame-terminator Ignore tests/run-make/link-eh-frame-terminator/rmake.rs when cross-compiling 2025-07-18 12:02:43 +00:00
link-framework Migrate run-make/link-framework to rmake.rs 2024-07-22 23:21:59 +02:00
link-native-static-lib-to-dylib Rename tests/run-make/issue-15460 into tests/run-make/link-native-static-lib-to-dylib 2024-07-23 11:47:11 +02:00
link-path-order rewrite link-path-order to rmake 2024-07-18 16:27:34 -04:00
link-under-xcode Always attempt to invoke xcrun to get the Apple SDK 2025-08-11 23:31:07 +02:00
linkage-attr-framework port tests/ui/linkage-attr/framework to run-make 2024-10-27 21:23:28 -04:00
linkage-attr-on-static rewrite linkage-attr-on-static to rmake 2024-07-19 12:27:47 -04:00
linker-plugin-lto-fat Fix linker-plugin-lto only doing thin lto 2025-07-31 10:38:34 +02:00
linker-warning re-order normalizations in run-make linker-warning test 2025-09-26 08:14:25 +02:00
llvm-ident Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
llvm-location-discriminator-limit-dummy-span run-make tests: use edition 2024 2025-11-05 14:28:16 +00:00
llvm-outputs ignore run-make tests that need std on no_std targets 2025-06-12 15:10:12 +02:00
long-linker-command-lines rewrite long-linker-command-lines-cmd-exe to rmake 2024-08-06 11:03:18 -04:00
long-linker-command-lines-cmd-exe rewrite long-linker-command-lines-cmd-exe to rmake 2024-08-06 11:03:18 -04:00
longjmp-across-rust Fix longjmp-across-rust test 2024-10-10 15:02:47 +01:00
ls-metadata Reformat use declarations. 2024-07-29 08:26:52 +10:00
lto-avoid-object-duplication ignore run-make tests that need std on no_std targets 2025-06-12 15:10:12 +02:00
lto-dylib-dep rewrite lto-dylib-dep to rmake 2024-06-26 13:32:30 -04:00
lto-empty rewrite lto-empty to rmake 2024-06-25 14:27:43 -04:00
lto-linkage-used-attr rewrite pgo-gen-no-imp-symbols to rmake 2024-07-22 13:25:39 -04:00
lto-long-filenames fix panic when rustc tries to reduce intermediate filenames length with multi byte chars 2025-10-24 16:20:29 +02:00
lto-long-filenames_cn fix panic when rustc tries to reduce intermediate filenames length with multi byte chars 2025-10-24 16:20:29 +02:00
lto-no-link-whole-rlib rewrite lto-no-link-whole-rlib to rmake 2024-07-19 12:27:47 -04:00
lto-readonly-lib remove unused imports from rmake tests 2024-08-10 18:06:10 +00:00
lto-smoke Rewrite simple-rlib to rmake 2024-05-28 11:41:53 -04:00
lto-smoke-c rewrite link-path-order to rmake 2024-07-18 16:27:34 -04:00
macos-fat-archive rewrite macos-fat-archive to rmake 2024-07-18 09:28:30 -04:00
manual-crate-name ignore run-make tests that need std on no_std targets 2025-06-12 15:10:12 +02:00
manual-link rewrite manual-link to rmake 2024-07-18 09:28:30 -04:00
many-crates-but-no-match ignore run-make tests that need std on no_std targets 2025-06-12 15:10:12 +02:00
metadata-dep-info ignore run-make tests that need std on no_std targets 2025-06-12 15:10:12 +02:00
metadata-flag-frobs-symbols rewrite forced-unwind-terminate-pof to rmake 2024-06-19 14:39:09 -04:00
metadata-only-crate-no-ice ignore run-make tests that need std on no_std targets 2025-06-12 15:10:12 +02:00
min-global-align tests: {Meta,Pointee}Sized in non-minicore tests 2025-06-16 23:04:33 +00:00
mingw-export-call-convention rewrite mingw-export-call-convention to rmake 2024-06-25 12:46:58 -04:00
mismatching-target-triples [test][run-make] add needs-llvm-components 2025-07-30 00:39:43 -04:00
missing-crate-dependency ignore run-make tests that need std on no_std targets 2025-06-12 15:10:12 +02:00
missing-unstable-trait-bound Mention the type in the label, to avoid confusion at the cost of redundancy 2026-01-13 19:47:06 +00: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 tests: update for rfs rename 2024-07-17 13:34:18 +00:00
moved-src-dir-fingerprint-ice Adjust some run-make tests on cross-compile 2025-06-19 07:38:01 +08:00
msvc-lld-thinlto-imp-symbols add non-regression test for issue 81408 2024-09-22 11:40:00 +02:00
msvc-wholearchive [win][arm64ec] Fix msvc-wholearchive for Arm64EC 2025-08-04 17:05:20 -07:00
mte-ffi Disable tests/run-make/mte-ffi 2025-07-08 16:40:10 +08:00
multiline-args-value Disallow shebang in --cfg and --check-cfg arguments 2025-09-06 00:21:04 +02:00
multiple-emits ignore run-make tests that need std on no_std targets 2025-06-12 15:10:12 +02:00
musl-default-linking Make mips64el-unknown-linux-muslabi64 link dynamically 2025-09-21 21:13:15 +02:00
naked-symbol-visibility Adjust some run-make tests on cross-compile 2025-06-19 07:38:01 +08:00
native-lib-alt-naming Adjust some run-make tests on cross-compile 2025-06-19 07:38:01 +08:00
native-lib-load-order rewrite and rename issue-28595 to rmake 2024-07-19 12:27:46 -04:00
native-link-modifier-bundle Use is_windows_msvc instead of is_msvc in run-make tests 2025-07-10 13:55:04 +08:00
native-link-modifier-verbatim-linker Adjust some run-make tests on cross-compile 2025-06-19 07:38:01 +08:00
native-link-modifier-verbatim-rustc ignore run-make tests that need std on no_std targets 2025-06-12 15:10:12 +02:00
native-link-modifier-whole-archive Use is_windows_msvc instead of is_msvc in run-make tests 2025-07-10 13:55:04 +08:00
no-alloc-shim Fix function signature for rust_eh_personality 2025-06-24 09:06:49 +00:00
no-builtins-attribute Adjust some run-make tests on cross-compile 2025-06-19 07:38:01 +08:00
no-builtins-linker-plugin-lto test: Add test for 146133 2025-12-08 21:57:17 +08:00
no-builtins-lto Adjust some run-make tests on cross-compile 2025-06-19 07:38:01 +08:00
no-cdylib-as-rdylib port no-cdylib-as-rdylib test 2024-05-14 17:02:20 -04:00
no-duplicate-libs Enable msvc for no-duplicate-libs 2024-08-04 02:57:18 +00:00
no-input-file Avoid a couple of unnecessary EarlyDiagCtxt uses 2024-06-22 17:06:47 +00:00
no-intermediate-extras Reformat use declarations. 2024-07-29 08:26:52 +10:00
non-pie-thread-local Remove all usages of tmp_dir from tests 2024-06-07 11:12:24 +02:00
non-unicode-env ignore run-make tests that need std on no_std targets 2025-06-12 15:10:12 +02:00
non-unicode-in-incremental-dir Adjust some run-make tests on cross-compile 2025-06-19 07:38:01 +08:00
notify-all-emit-artifacts ignore run-make tests that need std on no_std targets 2025-06-12 15:10:12 +02:00
obey-crate-type-flag Reformat use declarations. 2024-07-29 08:26:52 +10:00
optimization-remarks-dir ignore run-make tests that need std on no_std targets 2025-06-12 15:10:12 +02:00
optimization-remarks-dir-pgo Rename directive needs-profiler-support to needs-profiler-runtime 2024-10-09 20:58:27 +11:00
option-output-no-space Emit warning when there is no space between -o and confusing arg 2025-07-16 23:40:49 +08:00
output-filename-conflicts-with-directory tests: update for rfs rename 2024-07-17 13:34:18 +00:00
output-filename-overwrites-input tests: update for rfs rename 2024-07-17 13:34:18 +00:00
output-type-permutations tests: produce target artifacts and/or require crate type / ignore cross-compile 2025-04-12 15:09:06 +08: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 Migrate run-make/override-aliased-flags to rmake.rs 2024-06-29 11:55:30 +02:00
overwrite-input ignore run-make tests that need std on no_std targets 2025-06-12 15:10:12 +02:00
panic-abort-eh_frame run-make tests: use edition 2024 2025-11-05 14:28:16 +00:00
panic-impl-transitive Remove all usages of tmp_dir from tests 2024-06-07 11:12:24 +02:00
parallel-rustc-no-overwrite ignore run-make tests that need std on no_std targets 2025-06-12 15:10:12 +02:00
pass-linker-flags ignore run-make tests that need std on no_std targets 2025-06-12 15:10:12 +02:00
pass-linker-flags-flavor rewrite pass-linker-flags-from-dep to rmake 2024-07-05 12:47:19 -04:00
pass-linker-flags-from-dep ignore run-make tests that need std on no_std targets 2025-06-12 15:10:12 +02:00
pass-non-c-like-enum-to-c rewrite pass-non-c-like-enum-to-c to rmake 2024-07-19 12:27:47 -04:00
pdb-alt-path rewrite mingw-export-call-convention to rmake 2024-06-25 12:46:58 -04:00
pdb-sobjname Add test for S_OBJNAME and update test for LF_BUILDINFO cl and cmd for 2024-09-10 17:23:05 +02:00
pgo-branch-weights Fix pgo tests 2025-08-13 09:42:46 +08:00
pgo-embed-bc-lto The embedded bitcode should always be prepared for LTO/ThinLTO 2025-02-23 21:23:36 +08:00
pgo-gen Rename directive needs-profiler-support to needs-profiler-runtime 2024-10-09 20:58:27 +11:00
pgo-gen-lto Rename directive needs-profiler-support to needs-profiler-runtime 2024-10-09 20:58:27 +11:00
pgo-gen-no-imp-symbols ignore run-make tests that need std on no_std targets 2025-06-12 15:10:12 +02:00
pgo-indirect-call-promotion Fix pgo tests 2025-08-13 09:42:46 +08:00
pgo-use Fix pgo tests 2025-08-13 09:42:46 +08:00
pointer-auth-link-with-c Extends branch protection tests to include GCS 2025-09-22 11:29:54 +01:00
pointer-auth-link-with-c-lto-clang Extends branch protection tests to include GCS 2025-09-22 11:29:54 +01:00
prefer-dylib tests: update for rfs rename 2024-07-17 13:34:18 +00:00
prefer-rlib tests: update for rfs rename 2024-07-17 13:34:18 +00:00
pretty-print-to-file rewrite pretty-print-to-file to rmake 2024-06-26 11:44:11 -04:00
pretty-print-with-dep-file ignore run-make tests that need std on no_std targets 2025-06-12 15:10:12 +02:00
print-cfg tests/run-make: add missing needs-llvm-components 2024-08-26 18:20:32 +08:00
print-check-cfg Make --print=check-cfg output compatible --check-cfg arguments 2026-01-12 23:46:22 +01:00
print-crate-root-lint-levels Add unstable --print=crate-root-lint-levels 2025-04-01 18:29:39 +02:00
print-native-static-libs Use is_windows_msvc instead of is_msvc in run-make tests 2025-07-10 13:55:04 +08:00
print-request-help-stable-unstable Add perma-unstable --print=backend-has-zstd for use by compiletest 2025-12-05 14:27:52 +11:00
print-target-cpus-native Add a run-make test for same-arch --print=target-cpus 2024-11-02 23:39:29 +11:00
print-target-list tests/run-make: add missing needs-llvm-components 2024-08-26 18:20:32 +08:00
print-to-output tests/run-make: add missing needs-llvm-components 2024-08-26 18:20:32 +08:00
proc-macro-init-order Run rustfmt on tests/run-make/. 2024-05-31 21:30:08 +10:00
proc-macro-three-crates Adjust some run-make tests on cross-compile 2025-06-19 07:38:01 +08:00
prune-link-args build_native_static_lib with llvm_ar for run_make_support 2024-07-16 15:34:04 -04:00
raw-dylib-alt-calling-convention Use is_windows_msvc instead of is_msvc in run-make tests 2025-07-10 13:55:04 +08:00
raw-dylib-c rewrite redundant-libs to rmake 2024-08-05 10:11:53 -04:00
raw-dylib-cross-compilation tests: {Meta,Pointee}Sized in non-minicore tests 2025-06-16 23:04:33 +00:00
raw-dylib-custom-dlltool rewrite raw-dylib-custom-dlltool to rmake 2024-07-12 16:41:28 -04:00
raw-dylib-elf Support raw-dylib link kind on ELF 2025-02-26 19:09:51 +01:00
raw-dylib-elf-verbatim Support raw-dylib link kind on ELF 2025-02-26 19:09:51 +01:00
raw-dylib-elf-verbatim-absolute Support raw-dylib link kind on ELF 2025-02-26 19:09:51 +01:00
raw-dylib-import-name-type Use is_windows_msvc instead of is_msvc in run-make tests 2025-07-10 13:55:04 +08:00
raw-dylib-inline-cross-dylib Use is_windows_msvc instead of is_msvc in run-make tests 2025-07-10 13:55:04 +08:00
raw-dylib-link-ordinal [win][arm64ec] Partial fix for raw-dylib-link-ordinal on Arm64EC 2025-08-08 09:17:35 -07:00
raw-dylib-stdcall-ordinal Use is_windows_msvc instead of is_msvc in run-make tests 2025-07-10 13:55:04 +08:00
raw-fn-pointer-opt-undefined-behavior rewrite and rename issue-20626 to rmake 2024-06-25 15:02:19 -04: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 remove unused imports from rmake tests 2024-08-10 18:06:10 +00:00
relocation-model rewrite crate-name-priority to rmake 2024-06-20 16:09:39 -04:00
relro-levels Adjust some run-make tests on cross-compile 2025-06-19 07:38:01 +08:00
remap-path-prefix Add the remapping path documentation scope for rustdoc usage 2026-01-24 15:33:21 +01:00
remap-path-prefix-consts Stabilize -Zremap-path-scope as --remap-path-scope 2025-12-13 21:21:59 +01:00
remap-path-prefix-dwarf Stabilize -Zremap-path-scope as --remap-path-scope 2025-12-13 21:21:59 +01:00
remap-path-prefix-std Remap both absolute and relative paths when building rustc and std 2025-12-22 19:44:13 +01:00
remove-dir-all-race clean up remove-dir-all-race rmake test 2024-12-23 09:40:38 +00:00
repr128-dwarf Adjust some run-make tests on cross-compile 2025-06-19 07:38:01 +08:00
reproducible-build Removed comment on reproducibility issue #89911 2026-01-23 13:10:21 +05:30
reproducible-build-2 Enable reproducible-build-2 for Windows 2025-06-23 14:34:08 -07:00
reset-codegen-1 Use path instead of Path in some run-make tests 2024-08-29 10:15:17 -04:00
resolve-rename ignore run-make tests that need std on no_std targets 2025-06-12 15:10:12 +02:00
return-non-c-like-enum Improve run-make-support library args API 2024-06-30 12:40:24 +02:00
return-non-c-like-enum-from-c rewrite return-non-c-like-enum-from-c to rmake 2024-07-19 12:27:26 -04:00
rlib-chain tests: update for rfs rename 2024-07-17 13:34:18 +00:00
rlib-format-packed-bundled-libs Use is_windows_msvc instead of is_msvc in run-make tests 2025-07-10 13:55:04 +08:00
rlib-format-packed-bundled-libs-2 Adjust some run-make tests on cross-compile 2025-06-19 07:38:01 +08:00
rlib-format-packed-bundled-libs-3 remove unused imports from rmake tests 2024-08-10 18:06:10 +00:00
rmeta-preferred rewrite rmeta-preferred to rmake 2024-07-04 10:05:56 -04:00
run-in-tmpdir-self-test remove unused imports from rmake tests 2024-08-10 18:06:10 +00:00
rust-lld stabilize -Clink-self-contained=-linker on x64 linux 2025-07-08 09:21:35 +00:00
rust-lld-custom-target target: fix destabilising target-spec-json 2026-01-26 12:08:04 +00:00
rust-lld-link-script-provide stabilize -Clinker-features=-lld on x64 linux 2025-07-08 09:04:21 +00:00
rust-lld-x86_64-unknown-linux-gnu stabilize -Clinker-features=-lld on x64 linux 2025-07-08 09:04:21 +00:00
rust-lld-x86_64-unknown-linux-gnu-dist stabilize -Clinker-features=-lld on x64 linux 2025-07-08 09:04:21 +00:00
rustc-help Rollup merge of #147611 - stablize-remap-path-scope, r=davidtwco 2026-01-20 14:36:30 +01:00
rustc-macro-dep-files Adjust some run-make tests on cross-compile 2025-06-19 07:38:01 +08:00
rustdoc-cfgspec-parsing Rewrite and rename issue-26006 to rmake 2024-07-18 11:14:07 -04:00
rustdoc-default-output rustdoc: Add unstable --merge-doctests=yes/no/auto flag 2025-12-03 15:48:05 -05:00
rustdoc-dep-info feat(rustdoc): --emit=depinfo output to stdout via - 2025-10-16 07:47:02 -04:00
rustdoc-determinism rustdoc-search: search backend with partitioned suffix tree 2025-08-15 10:26:03 -07:00
rustdoc-doctest-output-format Add regression test for rustdoc output format 2025-10-05 11:13:05 +02:00
rustdoc-error-lines Adjust some run-make tests on cross-compile 2025-06-19 07:38:01 +08:00
rustdoc-io-error Adjust some run-make tests on cross-compile 2025-06-19 07:38:01 +08:00
rustdoc-json-external-crate-path rustdoc-json: add rlib path to ExternalCrate to enable robust crate resolution 2025-11-21 09:22:59 +00:00
rustdoc-map-file Adjust some run-make tests on cross-compile 2025-06-19 07:38:01 +08:00
rustdoc-merge-directory rustdoc: clean up and further test mergeable CCI 2025-10-28 16:35:12 -07:00
rustdoc-merge-directory-alias rustdoc: test for loading index when user said no 2025-12-05 21:00:14 -07:00
rustdoc-merge-no-input-finalize Rollup merge of #148234 - notriddle:doc-cci, r=GuillaumeGomez 2025-11-24 19:10:43 +01:00
rustdoc-output-path Adjust some run-make tests on cross-compile 2025-06-19 07:38:01 +08:00
rustdoc-output-stdout Adjust some run-make tests on cross-compile 2025-06-19 07:38:01 +08:00
rustdoc-scrape-examples-dep-info Fix test on Windows 2025-10-31 11:16:00 -07:00
rustdoc-scrape-examples-invalid-expr rustdoc: fix --emit=dep-info on scraped examples 2025-10-29 14:54:54 -07:00
rustdoc-scrape-examples-macros run-make tests: use edition 2024 2025-11-05 14:28:16 +00:00
rustdoc-scrape-examples-multiple rustdoc: fix --emit=dep-info on scraped examples 2025-10-29 14:54:54 -07:00
rustdoc-scrape-examples-ordering rustdoc: fix --emit=dep-info on scraped examples 2025-10-29 14:54:54 -07:00
rustdoc-scrape-examples-remap rustdoc: fix --emit=dep-info on scraped examples 2025-10-29 14:54:54 -07:00
rustdoc-scrape-examples-test rustdoc: fix --emit=dep-info on scraped examples 2025-10-29 14:54:54 -07:00
rustdoc-scrape-examples-whitespace rustdoc: fix --emit=dep-info on scraped examples 2025-10-29 14:54:54 -07:00
rustdoc-search-load-itemtype rustdoc-search: add test case for indexing every item type 2025-09-03 09:09:18 -07:00
rustdoc-shared-flags Reformat using the new identifier sorting from rustfmt 2024-09-22 19:11:29 -04:00
rustdoc-target-modifiers rustdoc: Use configured target modifiers when collecting doctests 2025-11-03 11:13:06 +01:00
rustdoc-target-spec-json-path target: fix destabilising target-spec-json 2026-01-26 12:08:04 +00:00
rustdoc-tempdir-removal Make rustdoc-tempdir-removal run-make tests work on other platforms than linux 2025-05-08 15:24:05 +02:00
rustdoc-test-args Adjust some run-make tests on cross-compile 2025-06-19 07:38:01 +08:00
rustdoc-test-builder Disable rustdoc-test-builder test partially for SGX target. 2025-11-13 11:53:58 +01:00
rustdoc-themes Adjust some run-make tests on cross-compile 2025-06-19 07:38:01 +08:00
rustdoc-verify-output-files Adjust some run-make tests on cross-compile 2025-06-19 07:38:01 +08:00
rustdoc-with-out-dir-option Adjust some run-make tests on cross-compile 2025-06-19 07:38:01 +08:00
rustdoc-with-output-option Adjust some run-make tests on cross-compile 2025-06-19 07:38:01 +08:00
rustdoc-with-short-out-dir-option ignore run-make tests that need std on no_std targets 2025-06-12 15:10:12 +02:00
sanitizer-cdylib-link -Zsanitize and -Zsanitizer-cfi-normalize-integers flags are now target modifiers with custom consistency check function 2025-08-21 16:08:00 +07:00
sanitizer-dylib-link -Zsanitize and -Zsanitizer-cfi-normalize-integers flags are now target modifiers with custom consistency check function 2025-08-21 16:08:00 +07:00
sanitizer-staticlib-link -Zsanitize and -Zsanitizer-cfi-normalize-integers flags are now target modifiers with custom consistency check function 2025-08-21 16:08:00 +07:00
separate-link tests: use renamed stdin_buf 2024-09-05 08:43:38 +00:00
separate-link-fail don't uppercase error messages 2025-09-03 15:24:49 +02:00
share-generics-dylib Adjust some run-make tests on cross-compile 2025-06-19 07:38:01 +08:00
share-generics-export-again rewrite issue64319 and rename 2024-05-17 11:49:20 -04:00
short-ice Overhaul tests/run-make/short-ice to make it easier to read 2026-02-04 23:41:48 +11:00
silly-file-names tests: update for rfs rename 2024-07-17 13:34:18 +00:00
simd-ffi Allow vector types for amdgpu 2025-12-14 17:03:51 +01:00
split-debuginfo Stabilize -Zremap-path-scope as --remap-path-scope 2025-12-13 21:21:59 +01:00
stable-symbol-names ignore run-make tests that need std on no_std targets 2025-06-12 15:10:12 +02:00
static-dylib-by-default Use is_windows_msvc instead of is_msvc in run-make tests 2025-07-10 13:55:04 +08:00
static-extern-type rewrite static-extern-type to rmake 2024-07-17 15:33:07 -04:00
static-pie Enable automatic cross-compilation in run-make tests 2025-06-18 18:39:25 +08:00
static-unwinding Run rustfmt on tests/run-make/. 2024-05-31 21:30:08 +10:00
staticlib-blank-lib ignore run-make tests that need std on no_std targets 2025-06-12 15:10:12 +02:00
staticlib-broken-bitcode ignore run-make tests that need std on no_std targets 2025-06-12 15:10:12 +02:00
staticlib-dylib-linkage Use is_windows_msvc instead of is_msvc in run-make tests 2025-07-10 13:55:04 +08:00
staticlib-thin-archive Adjust some run-make tests on cross-compile 2025-06-19 07:38:01 +08:00
std-core-cycle rewrite and rename issue-18943 to rmake 2024-07-08 09:59:08 -04:00
stdin-rustc Adjust some run-make tests on cross-compile 2025-06-19 07:38:01 +08:00
stdin-rustdoc Adjust some run-make tests on cross-compile 2025-06-19 07:38:01 +08:00
strip tests: produce target artifacts and/or require crate type / ignore cross-compile 2025-04-12 15:09:06 +08:00
suspicious-library Reformat use declarations. 2024-07-29 08:26:52 +10:00
symbol-mangling-hashed Bless tests. 2025-11-12 12:48:27 +01:00
symbol-visibility Use is_windows_msvc instead of is_msvc in run-make tests 2025-07-10 13:55:04 +08:00
symbols-all-mangled Revert "Preserve the .debug_gdb_scripts section" 2025-08-06 18:01:07 +00:00
symbols-include-type-name ignore run-make tests that need std on no_std targets 2025-06-12 15:10:12 +02:00
symlinked-extern tests/run-make: update for symlink helper changes 2024-09-16 21:31:41 +08:00
symlinked-libraries tests/run-make: update for symlink helper changes 2024-09-16 21:31:41 +08:00
symlinked-rlib tests/run-make: update for symlink helper changes 2024-09-16 21:31:41 +08:00
sysroot-crates-are-unstable run-make-support: resolve .rmeta companion for .rlib stubs 2026-01-12 10:52:14 +01:00
target-cpu-native ignore tests broken while cross compiling 2025-03-24 11:33:56 +01:00
target-specs target: fix destabilising target-spec-json 2026-01-26 12:08:04 +00:00
target-without-atomic-cas tests/run-make: add missing needs-llvm-components 2024-08-26 18:20:32 +08:00
test-benches rewrite compiler-lookup-paths-2 to rmake 2024-07-19 16:48:21 -04:00
test-harness rewrite test-harness to rmake 2024-07-02 11:37:59 -04:00
textrel-on-minimal-lib Enable textrel-on-minimal-lib for Windows 2025-06-21 13:16:57 -07:00
track-path-dep-info fix tests/run-make/track-path-dep-info attempt 2 2025-11-28 20:47:03 +01:00
track-pgo-dep-info Rename directive needs-profiler-support to needs-profiler-runtime 2024-10-09 20:58:27 +11:00
translation Disable the run-make/translation test for now 2026-02-07 10:30:42 +01:00
type-mismatch-same-crate-name ignore run-make tests that need std on no_std targets 2025-06-12 15:10:12 +02:00
unknown-mod-stdin ignore run-make tests that need std on no_std targets 2025-06-12 15:10:12 +02:00
unstable-feature-usage-metrics Don't match on platform-specific directory not found message 2025-06-17 10:53:11 +08:00
unstable-feature-usage-metrics-incremental Don't match on platform-specific directory not found message 2025-06-17 10:53:11 +08:00
unstable-flag-required rewrite unstable-flag-required to rmake 2024-07-17 16:11:11 -04:00
use-suggestions-rust-2018 ignore run-make tests that need std on no_std targets 2025-06-12 15:10:12 +02:00
used Update run-make tests to use adjusted symbols helpers 2025-07-13 14:28:49 +08:00
used-cdylib-macos rewrite used-cdylib-macos to rmake 2024-06-28 16:28:57 -04:00
used-proc-macro Generate symbols.o for proc-macros too 2025-06-27 10:03:29 +00:00
version-check test: convert version_check ui test to run-make 2025-05-27 11:12:15 +02:00
version-verbose-commit-hash Compile run-make recipes using the stage0 compiler 2025-03-01 22:11:02 +01:00
volatile-intrinsics Reformat use declarations. 2024-07-29 08:26:52 +10:00
wasm-custom-section Reformat use declarations. 2024-07-29 08:26:52 +10:00
wasm-custom-sections-opt Reformat use declarations. 2024-07-29 08:26:52 +10:00
wasm-emscripten-cdylib Set crt_static_allow_dylibs to true for Emscripten target 2026-02-04 10:57:00 -08:00
wasm-exceptions-nostd Remove the "wasm32-bare" alias for wasm32-unknown-unknown 2025-11-17 14:11:07 +11:00
wasm-export-all-symbols Rustfmt 2025-02-08 22:12:13 +00:00
wasm-import-module Reformat use declarations. 2024-07-29 08:26:52 +10:00
wasm-override-linker run cross-lang-lto-pgo-smoketest in CI by renaming it 2024-08-02 11:54:20 -04:00
wasm-panic-small make no_mangle explicit on foreign items 2025-08-12 12:07:14 +02:00
wasm-spurious-import Reformat use declarations. 2024-07-29 08:26:52 +10:00
wasm-stringify-ints-small Fix two new failing tests 2024-07-19 10:27:14 -07:00
wasm-symbols-different-module Reformat use declarations. 2024-07-29 08:26:52 +10:00
wasm-symbols-not-exported Reformat use declarations. 2024-07-29 08:26:52 +10:00
wasm-symbols-not-imported Reformat use declarations. 2024-07-29 08:26:52 +10:00
wasm-unexpected-features fix(tests/rmake/wasm-unexpected-features): change features from WASM1 to MVP 2025-08-15 15:48:46 +03:00
weird-output-filenames Reformat use declarations. 2024-07-29 08:26:52 +10:00
windows-binary-no-external-deps Reformat use declarations. 2024-07-29 08:26:52 +10:00
windows-safeseh update run-make/windows-safeseh compiletest header 2024-06-28 20:32:31 +03:00
windows-spawn Remove all usages of tmp_dir from tests 2024-06-07 11:12:24 +02:00
windows-ws2_32 Reformat use declarations. 2024-07-29 08:26:52 +10:00
zero-extend-abi-param-passing Enable msvc for zero-extend-abi-param-passing 2024-08-04 02:57:17 +00:00
README.md run-make: update test suite README 2025-03-02 05:56:56 +08: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

A run-make test is a test recipe source file rmake.rs accompanied by its parent directory (e.g. tests/run-make/foo/rmake.rs is the foo run-make test).

The implementation for collecting and building the rmake.rs recipes are in src/tools/compiletest/src/runtest.rs, in run_rmake_test.

The setup for the rmake.rs can be summarized as 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.