@@ -12,6 +12,9 @@ use tracing::*;
12
12
use crate :: common:: { CodegenBackend , Config , Debugger , FailMode , PassMode , RunFailMode , TestMode } ;
13
13
use crate :: debuggers:: { extract_cdb_version, extract_gdb_version} ;
14
14
use 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
+ } ;
15
18
use crate :: directives:: needs:: CachedNeedsConditions ;
16
19
use crate :: errors:: ErrorKind ;
17
20
use crate :: executor:: { CollectedTestDesc , ShouldPanic } ;
@@ -20,6 +23,7 @@ use crate::util::static_regex;
20
23
21
24
pub ( crate ) mod auxiliary;
22
25
mod cfg;
26
+ mod directive_names;
23
27
mod needs;
24
28
#[ cfg( test) ]
25
29
mod tests;
@@ -769,296 +773,6 @@ fn line_directive<'line>(
769
773
Some ( DirectiveLine { line_number, revision, raw_directive } )
770
774
}
771
775
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
-
1062
776
/// The (partly) broken-down contents of a line containing a test directive,
1063
777
/// which [`iter_directives`] passes to its callback function.
1064
778
///
0 commit comments