@@ -12,6 +12,9 @@ use tracing::*;
1212use crate :: common:: { CodegenBackend , Config , Debugger , FailMode , PassMode , RunFailMode , TestMode } ;
1313use crate :: debuggers:: { extract_cdb_version, extract_gdb_version} ;
1414use crate :: directives:: auxiliary:: { AuxProps , parse_and_update_aux} ;
15+ use crate :: directives:: directive_names:: {
16+ KNOWN_DIRECTIVE_NAMES , KNOWN_HTMLDOCCK_DIRECTIVE_NAMES , KNOWN_JSONDOCCK_DIRECTIVE_NAMES ,
17+ } ;
1518use crate :: directives:: needs:: CachedNeedsConditions ;
1619use crate :: errors:: ErrorKind ;
1720use crate :: executor:: { CollectedTestDesc , ShouldPanic } ;
@@ -20,6 +23,7 @@ use crate::util::static_regex;
2023
2124pub ( crate ) mod auxiliary;
2225mod cfg;
26+ mod directive_names;
2327mod needs;
2428#[ cfg( test) ]
2529mod tests;
@@ -769,296 +773,6 @@ fn line_directive<'line>(
769773 Some ( DirectiveLine { line_number, revision, raw_directive } )
770774}
771775
772- /// This was originally generated by collecting directives from ui tests and then extracting their
773- /// directive names. This is **not** an exhaustive list of all possible directives. Instead, this is
774- /// a best-effort approximation for diagnostics. Add new directives to this list when needed.
775- const KNOWN_DIRECTIVE_NAMES : & [ & str ] = & [
776- // tidy-alphabetical-start
777- "add-core-stubs" ,
778- "assembly-output" ,
779- "aux-bin" ,
780- "aux-build" ,
781- "aux-codegen-backend" ,
782- "aux-crate" ,
783- "build-aux-docs" ,
784- "build-fail" ,
785- "build-pass" ,
786- "check-fail" ,
787- "check-pass" ,
788- "check-run-results" ,
789- "check-stdout" ,
790- "check-test-line-numbers-match" ,
791- "compile-flags" ,
792- "doc-flags" ,
793- "dont-check-compiler-stderr" ,
794- "dont-check-compiler-stdout" ,
795- "dont-check-failure-status" ,
796- "dont-require-annotations" ,
797- "edition" ,
798- "error-pattern" ,
799- "exact-llvm-major-version" ,
800- "exec-env" ,
801- "failure-status" ,
802- "filecheck-flags" ,
803- "forbid-output" ,
804- "force-host" ,
805- "ignore-16bit" ,
806- "ignore-32bit" ,
807- "ignore-64bit" ,
808- "ignore-aarch64" ,
809- "ignore-aarch64-pc-windows-msvc" ,
810- "ignore-aarch64-unknown-linux-gnu" ,
811- "ignore-aix" ,
812- "ignore-android" ,
813- "ignore-apple" ,
814- "ignore-arm" ,
815- "ignore-arm-unknown-linux-gnueabi" ,
816- "ignore-arm-unknown-linux-gnueabihf" ,
817- "ignore-arm-unknown-linux-musleabi" ,
818- "ignore-arm-unknown-linux-musleabihf" ,
819- "ignore-auxiliary" ,
820- "ignore-avr" ,
821- "ignore-backends" ,
822- "ignore-beta" ,
823- "ignore-cdb" ,
824- "ignore-compare-mode-next-solver" ,
825- "ignore-compare-mode-polonius" ,
826- "ignore-coverage-map" ,
827- "ignore-coverage-run" ,
828- "ignore-cross-compile" ,
829- "ignore-eabi" ,
830- "ignore-elf" ,
831- "ignore-emscripten" ,
832- "ignore-endian-big" ,
833- "ignore-enzyme" ,
834- "ignore-freebsd" ,
835- "ignore-fuchsia" ,
836- "ignore-gdb" ,
837- "ignore-gdb-version" ,
838- "ignore-gnu" ,
839- "ignore-haiku" ,
840- "ignore-horizon" ,
841- "ignore-i686-pc-windows-gnu" ,
842- "ignore-i686-pc-windows-msvc" ,
843- "ignore-illumos" ,
844- "ignore-ios" ,
845- "ignore-linux" ,
846- "ignore-lldb" ,
847- "ignore-llvm-version" ,
848- "ignore-loongarch32" ,
849- "ignore-loongarch64" ,
850- "ignore-macabi" ,
851- "ignore-macos" ,
852- "ignore-msp430" ,
853- "ignore-msvc" ,
854- "ignore-musl" ,
855- "ignore-netbsd" ,
856- "ignore-nightly" ,
857- "ignore-none" ,
858- "ignore-nto" ,
859- "ignore-nvptx64" ,
860- "ignore-nvptx64-nvidia-cuda" ,
861- "ignore-openbsd" ,
862- "ignore-pass" ,
863- "ignore-powerpc" ,
864- "ignore-powerpc64" ,
865- "ignore-remote" ,
866- "ignore-riscv64" ,
867- "ignore-rustc-debug-assertions" ,
868- "ignore-rustc_abi-x86-sse2" ,
869- "ignore-s390x" ,
870- "ignore-sgx" ,
871- "ignore-sparc64" ,
872- "ignore-spirv" ,
873- "ignore-stable" ,
874- "ignore-stage1" ,
875- "ignore-stage2" ,
876- "ignore-std-debug-assertions" ,
877- "ignore-test" ,
878- "ignore-thumb" ,
879- "ignore-thumbv8m.base-none-eabi" ,
880- "ignore-thumbv8m.main-none-eabi" ,
881- "ignore-tvos" ,
882- "ignore-unix" ,
883- "ignore-unknown" ,
884- "ignore-uwp" ,
885- "ignore-visionos" ,
886- "ignore-vxworks" ,
887- "ignore-wasi" ,
888- "ignore-wasm" ,
889- "ignore-wasm32" ,
890- "ignore-wasm32-bare" ,
891- "ignore-wasm64" ,
892- "ignore-watchos" ,
893- "ignore-windows" ,
894- "ignore-windows-gnu" ,
895- "ignore-windows-msvc" ,
896- "ignore-x32" ,
897- "ignore-x86" ,
898- "ignore-x86_64" ,
899- "ignore-x86_64-apple-darwin" ,
900- "ignore-x86_64-pc-windows-gnu" ,
901- "ignore-x86_64-unknown-linux-gnu" ,
902- "incremental" ,
903- "known-bug" ,
904- "llvm-cov-flags" ,
905- "max-llvm-major-version" ,
906- "min-cdb-version" ,
907- "min-gdb-version" ,
908- "min-lldb-version" ,
909- "min-llvm-version" ,
910- "min-system-llvm-version" ,
911- "needs-asm-support" ,
912- "needs-backends" ,
913- "needs-crate-type" ,
914- "needs-deterministic-layouts" ,
915- "needs-dlltool" ,
916- "needs-dynamic-linking" ,
917- "needs-enzyme" ,
918- "needs-force-clang-based-tests" ,
919- "needs-git-hash" ,
920- "needs-llvm-components" ,
921- "needs-llvm-zstd" ,
922- "needs-profiler-runtime" ,
923- "needs-relocation-model-pic" ,
924- "needs-run-enabled" ,
925- "needs-rust-lld" ,
926- "needs-rustc-debug-assertions" ,
927- "needs-sanitizer-address" ,
928- "needs-sanitizer-cfi" ,
929- "needs-sanitizer-dataflow" ,
930- "needs-sanitizer-hwaddress" ,
931- "needs-sanitizer-kcfi" ,
932- "needs-sanitizer-leak" ,
933- "needs-sanitizer-memory" ,
934- "needs-sanitizer-memtag" ,
935- "needs-sanitizer-safestack" ,
936- "needs-sanitizer-shadow-call-stack" ,
937- "needs-sanitizer-support" ,
938- "needs-sanitizer-thread" ,
939- "needs-std-debug-assertions" ,
940- "needs-subprocess" ,
941- "needs-symlink" ,
942- "needs-target-has-atomic" ,
943- "needs-target-std" ,
944- "needs-threads" ,
945- "needs-unwind" ,
946- "needs-wasmtime" ,
947- "needs-xray" ,
948- "no-auto-check-cfg" ,
949- "no-prefer-dynamic" ,
950- "normalize-stderr" ,
951- "normalize-stderr-32bit" ,
952- "normalize-stderr-64bit" ,
953- "normalize-stdout" ,
954- "only-16bit" ,
955- "only-32bit" ,
956- "only-64bit" ,
957- "only-aarch64" ,
958- "only-aarch64-apple-darwin" ,
959- "only-aarch64-unknown-linux-gnu" ,
960- "only-apple" ,
961- "only-arm" ,
962- "only-avr" ,
963- "only-beta" ,
964- "only-bpf" ,
965- "only-cdb" ,
966- "only-dist" ,
967- "only-elf" ,
968- "only-emscripten" ,
969- "only-gnu" ,
970- "only-i686-pc-windows-gnu" ,
971- "only-i686-pc-windows-msvc" ,
972- "only-i686-unknown-linux-gnu" ,
973- "only-ios" ,
974- "only-linux" ,
975- "only-loongarch32" ,
976- "only-loongarch64" ,
977- "only-loongarch64-unknown-linux-gnu" ,
978- "only-macos" ,
979- "only-mips" ,
980- "only-mips64" ,
981- "only-msp430" ,
982- "only-msvc" ,
983- "only-musl" ,
984- "only-nightly" ,
985- "only-nvptx64" ,
986- "only-powerpc" ,
987- "only-riscv64" ,
988- "only-rustc_abi-x86-sse2" ,
989- "only-s390x" ,
990- "only-sparc" ,
991- "only-sparc64" ,
992- "only-stable" ,
993- "only-thumb" ,
994- "only-tvos" ,
995- "only-uefi" ,
996- "only-unix" ,
997- "only-visionos" ,
998- "only-wasm32" ,
999- "only-wasm32-bare" ,
1000- "only-wasm32-wasip1" ,
1001- "only-watchos" ,
1002- "only-windows" ,
1003- "only-windows-gnu" ,
1004- "only-windows-msvc" ,
1005- "only-x86" ,
1006- "only-x86_64" ,
1007- "only-x86_64-apple-darwin" ,
1008- "only-x86_64-fortanix-unknown-sgx" ,
1009- "only-x86_64-pc-windows-gnu" ,
1010- "only-x86_64-pc-windows-msvc" ,
1011- "only-x86_64-unknown-linux-gnu" ,
1012- "pp-exact" ,
1013- "pretty-compare-only" ,
1014- "pretty-mode" ,
1015- "proc-macro" ,
1016- "reference" ,
1017- "regex-error-pattern" ,
1018- "remap-src-base" ,
1019- "revisions" ,
1020- "run-crash" ,
1021- "run-fail" ,
1022- "run-fail-or-crash" ,
1023- "run-flags" ,
1024- "run-pass" ,
1025- "run-rustfix" ,
1026- "rustc-env" ,
1027- "rustfix-only-machine-applicable" ,
1028- "should-fail" ,
1029- "should-ice" ,
1030- "stderr-per-bitwidth" ,
1031- "test-mir-pass" ,
1032- "unique-doc-out-dir" ,
1033- "unset-exec-env" ,
1034- "unset-rustc-env" ,
1035- // Used by the tidy check `unknown_revision`.
1036- "unused-revision-names" ,
1037- // tidy-alphabetical-end
1038- ] ;
1039-
1040- const KNOWN_HTMLDOCCK_DIRECTIVE_NAMES : & [ & str ] = & [
1041- "count" ,
1042- "!count" ,
1043- "files" ,
1044- "!files" ,
1045- "has" ,
1046- "!has" ,
1047- "has-dir" ,
1048- "!has-dir" ,
1049- "hasraw" ,
1050- "!hasraw" ,
1051- "matches" ,
1052- "!matches" ,
1053- "matchesraw" ,
1054- "!matchesraw" ,
1055- "snapshot" ,
1056- "!snapshot" ,
1057- ] ;
1058-
1059- const KNOWN_JSONDOCCK_DIRECTIVE_NAMES : & [ & str ] =
1060- & [ "count" , "!count" , "has" , "!has" , "is" , "!is" , "ismany" , "!ismany" , "set" , "!set" ] ;
1061-
1062776/// The (partly) broken-down contents of a line containing a test directive,
1063777/// which [`iter_directives`] passes to its callback function.
1064778///
0 commit comments