rust/tests/run-make
Noratrieb f157ce994e Add --print target-spec-json-schema
This schema is helpful for people writing custom target spec JSON. It
can provide autocomplete in the editor, and also serves as documentation
when there are documentation comments on the structs, as `schemars` will
put them in the schema.
2025-09-12 20:53:28 +02: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
alloc-no-rc
alloc-no-sync
allocator-shim-circular-deps
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 Enable automatic cross-compilation in run-make tests 2025-06-18 18:39:25 +08: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
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/type-trees/type-analysis test: Add UI tests for testing type analysis autodiff 2025-07-15 04:17:29 +00:00
avr-rjmp-offset Rename tests/assembly into tests/assembly-llvm 2025-07-22 14:27:48 +02:00
bare-outfile
bin-emit-no-symbols Fix function signature for rust_eh_personality 2025-06-24 09:06:49 +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 tests: migrate branch-protection-check-IBT to rmake.rs 2024-12-28 11:58:32 +08: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
c-dynamic-rlib
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
c-link-to-rust-va-list-fn test rust calling a C C-variadic function 2025-07-04 17:27:24 +02:00
c-static-dylib
c-static-rlib
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 is_windows_msvc instead of is_msvc in run-make tests 2025-07-10 13:55:04 +08:00
cdylib-fewer-symbols
checksum-freshness ignore run-make tests that need std on no_std targets 2025-06-12 15:10:12 +02:00
clear-error-blank-output
codegen-options-parsing
comment-section
compile-stdin
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/symbols-helpers Adjust run_make_support::symbols helpers 2025-07-13 14:28:41 +08:00
compressed-debuginfo
compressed-debuginfo-zstd stabilize -Clinker-features=-lld on x64 linux 2025-07-08 09:04:21 +00:00
const-prop-lint
const-trait-stable-toolchain tidy 2025-08-06 16:55:50 +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
crate-loading Avoid extra path trimming in method not found error 2025-05-24 23:31:07 +02:00
crate-loading-crate-depends-on-itself feat: Right align line numbers 2025-07-28 16:32:11 -06: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
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
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
diagnostics-traits-from-duplicate-crates ignore run-make tests that need std on no_std targets 2025-06-12 15:10:12 +02: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-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 Adjust some run-make tests on cross-compile 2025-06-19 07:38:01 +08:00
doctests-runtool Adjust some run-make tests on cross-compile 2025-06-19 07:38:01 +08:00
dos-device-input
dump-ice-to-disk Refine run-make test ignores due to unpredictable i686-pc-windows-gnu unwind mechanism 2025-06-17 10:49:28 +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-output-flavors ignore run-make tests that need std on no_std targets 2025-06-12 15:10:12 +02:00
dylib-chain
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
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-search: search backend with partitioned suffix tree 2025-08-15 10:26:03 -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 Adjust some run-make tests on cross-compile 2025-06-19 07:38:01 +08: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
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
extern-flag-fun Adjust some run-make tests on cross-compile 2025-06-19 07:38:01 +08:00
extern-flag-pathless
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
extern-fn-mangle
extern-fn-reachable tests: port extern-fn-reachable to rmake.rs 2025-01-15 01:05:16 +08:00
extern-fn-slice-no-ice
extern-fn-struct-passing-abi Use field init shorthand where possible 2024-12-17 14:33:10 -08:00
extern-fn-with-extern-types
extern-fn-with-packed-struct
extern-fn-with-union
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
external-crate-panic-handle-no-lint
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
fmt-write-bloat Rollup merge of #143837 - jieyouxu:symbol-apis, r=ChrisDenton 2025-07-15 12:52:39 +02:00
forced-unwind-terminate-pof
foreign-double-unwind
foreign-exceptions Reformat using the new identifier sorting from rustfmt 2024-09-22 19:11:29 -04:00
foreign-rust-exceptions
glibc-staticlib-args
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
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
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
intrinsic-unreachable Adjust some run-make tests on cross-compile 2025-06-19 07:38:01 +08:00
invalid-library
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-env-var ignore run-make tests that need std on no_std targets 2025-06-12 15:10:12 +02: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
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 remove unused imports from rmake tests 2024-12-23 09:40:25 +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 Print thread ID in panic message if thread name is unknown 2025-08-06 23:59:47 +00:00
libtest-padding
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
link-native-static-lib-to-dylib
link-path-order
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
linker-plugin-lto-fat Fix linker-plugin-lto only doing thin lto 2025-07-31 10:38:34 +02:00
linker-warning Fix up library crate order in linker test 2025-08-17 15:45:05 -07:00
llvm-ident Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
llvm-location-discriminator-limit-dummy-span [win][arm64] Remove 'Arm64 Hazard' undocumented MSVC option and instead disable problematic test 2025-05-15 11:33:28 -07: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
long-linker-command-lines-cmd-exe
longjmp-across-rust Fix longjmp-across-rust test 2024-10-10 15:02:47 +01:00
ls-metadata
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
lto-empty
lto-linkage-used-attr
lto-long-filenames strip prefix of temporary file names when it exceeds filesystem name length limit 2025-08-10 15:50:40 +02:00
lto-no-link-whole-rlib
lto-readonly-lib
lto-smoke
lto-smoke-c
macos-fat-archive
manual-crate-name ignore run-make tests that need std on no_std targets 2025-06-12 15:10:12 +02:00
manual-link
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
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
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 remove unused imports from rmake tests 2024-12-23 09:40:25 +00:00
mixing-deps
mixing-formats
mixing-libs
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 [test][run-make] add needs-llvm-components 2025-07-30 00:39:43 -04: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
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-lto Adjust some run-make tests on cross-compile 2025-06-19 07:38:01 +08:00
no-cdylib-as-rdylib
no-duplicate-libs
no-input-file
no-intermediate-extras
non-pie-thread-local
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
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
output-filename-overwrites-input
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
override-aliased-flags
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
panic-impl-transitive
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
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
pdb-alt-path
pdb-buildinfo-cl-cmd
pdb-sobjname
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 Use is_windows_msvc instead of is_msvc in run-make tests 2025-07-10 13:55:04 +08:00
pointer-auth-link-with-c-lto-clang tests: Test pac-ret flag merging on clang with LTO 2024-11-15 14:13:38 +00:00
prefer-dylib
prefer-rlib
pretty-print-to-file
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
print-check-cfg
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 --print target-spec-json-schema 2025-09-12 20:53:28 +02: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
print-to-output
proc-macro-init-order
proc-macro-three-crates Adjust some run-make tests on cross-compile 2025-06-19 07:38:01 +08:00
prune-link-args
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
raw-dylib-cross-compilation tests: {Meta,Pointee}Sized in non-minicore tests 2025-06-16 23:04:33 +00:00
raw-dylib-custom-dlltool
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
reachable-extern-fn-available-lto
redundant-libs
relocation-model
relro-levels Adjust some run-make tests on cross-compile 2025-06-19 07:38:01 +08:00
remap-path-prefix ignore run-make tests that need std on no_std targets 2025-06-12 15:10:12 +02:00
remap-path-prefix-dwarf ignore run-make tests that need std on no_std targets 2025-06-12 15:10:12 +02: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 tests: produce target artifacts and/or require crate type / ignore cross-compile 2025-04-12 15:09:06 +08:00
reproducible-build-2 Enable reproducible-build-2 for Windows 2025-06-23 14:34:08 -07:00
reset-codegen-1
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
return-non-c-like-enum-from-c
rlib-chain
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
rmeta-preferred
run-in-tmpdir-self-test
rust-lld stabilize -Clink-self-contained=-linker on x64 linux 2025-07-08 09:21:35 +00:00
rust-lld-custom-target turn pointer width into an integer in target.json 2025-08-27 23:44:49 +02: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 Add --print target-spec-json-schema 2025-09-12 20:53:28 +02:00
rustc-macro-dep-files Adjust some run-make tests on cross-compile 2025-06-19 07:38:01 +08:00
rustdoc-cfgspec-parsing
rustdoc-default-output Update tests/run-make/rustdoc-default-output/ output 2025-08-23 12:15:37 +02:00
rustdoc-dep-info fix(rustdoc): match rustc --emit precedence 2025-09-03 00:06:44 -07:00
rustdoc-determinism rustdoc-search: search backend with partitioned suffix tree 2025-08-15 10:26:03 -07: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-map-file Adjust some run-make tests on cross-compile 2025-06-19 07:38:01 +08: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-invalid-expr ignore run-make tests that need std on no_std targets 2025-06-12 15:10:12 +02:00
rustdoc-scrape-examples-macros Fix test directives that were accidentally ignored 2025-02-27 13:22:16 +00:00
rustdoc-scrape-examples-multiple ignore run-make tests that need std on no_std targets 2025-06-12 15:10:12 +02:00
rustdoc-scrape-examples-ordering ignore run-make tests that need std on no_std targets 2025-06-12 15:10:12 +02:00
rustdoc-scrape-examples-remap ignore run-make tests that need std on no_std targets 2025-06-12 15:10:12 +02:00
rustdoc-scrape-examples-test ignore run-make tests that need std on no_std targets 2025-06-12 15:10:12 +02:00
rustdoc-scrape-examples-whitespace ignore run-make tests that need std on no_std targets 2025-06-12 15:10:12 +02: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: save target modifiers 2025-07-27 05:21:47 +02:00
rustdoc-target-spec-json-path turn pointer width into an integer in target.json 2025-08-27 23:44:49 +02: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-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
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
short-ice Re-disable tests/run-make/short-ice on Windows MSVC again 2025-06-29 22:29:12 +08:00
silly-file-names
simd-ffi tests: {Meta,Pointee}Sized in non-minicore tests 2025-06-16 23:04:33 +00:00
split-debuginfo Use is_windows_msvc instead of is_msvc in run-make tests 2025-07-10 13:55:04 +08: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
static-pie Enable automatic cross-compilation in run-make tests 2025-06-18 18:39:25 +08:00
static-unwinding
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
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
symbol-mangling-hashed tests: port symbol-mangling-hashed to rmake.rs 2025-01-31 04:30:51 +00: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 Enable automatic cross-compilation in run-make tests 2025-06-18 18:39:25 +08:00
target-cpu-native ignore tests broken while cross compiling 2025-03-24 11:33:56 +01:00
target-specs turn pointer width into an integer in target.json 2025-08-27 23:44:49 +02:00
target-without-atomic-cas
test-benches
test-harness
textrel-on-minimal-lib Enable textrel-on-minimal-lib for Windows 2025-06-21 13:16:57 -07:00
track-path-dep-info Adjust some run-make tests on cross-compile 2025-06-19 07:38:01 +08:00
track-pgo-dep-info Rename directive needs-profiler-support to needs-profiler-runtime 2024-10-09 20:58:27 +11:00
translation tests: port translation to rmake.rs 2025-01-29 08:11:01 +00: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
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
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
wasm-custom-section
wasm-custom-sections-opt
wasm-exceptions-nostd
wasm-export-all-symbols Rustfmt 2025-02-08 22:12:13 +00:00
wasm-import-module
wasm-override-linker
wasm-panic-small make no_mangle explicit on foreign items 2025-08-12 12:07:14 +02:00
wasm-spurious-import
wasm-stringify-ints-small
wasm-symbols-different-module
wasm-symbols-not-exported
wasm-symbols-not-imported
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
windows-binary-no-external-deps
windows-safeseh
windows-spawn
windows-ws2_32
zero-extend-abi-param-passing
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.