Module header

Source

ModulesΒ§

auxiliary πŸ”’
Code for dealing with test directives that request an β€œauxiliary” crate to be built and made available to the test in some way.
cfg πŸ”’
directives πŸ”’
needs πŸ”’

StructsΒ§

CheckDirectiveResult πŸ”’
DirectiveLine πŸ”’
The (partly) broken-down contents of a line containing a test directive, which iter_header passes to its callback function.
EarlyProps
Properties which must be known very early, before actually running the test.
HeadersCache
NormalizeRule πŸ”’
TestProps

EnumsΒ§

IgnoreDecision πŸ”’
NormalizeKind πŸ”’

ConstantsΒ§

COMPILETEST_DIRECTIVE_PREFIX πŸ”’
KNOWN_DIRECTIVE_NAMES πŸ”’
This was originally generated by collecting directives from ui tests and then extracting their directive names. This is not an exhaustive list of all possible directives. Instead, this is a best-effort approximation for diagnostics. Add new headers to this list when needed.
KNOWN_HTMLDOCCK_DIRECTIVE_NAMES πŸ”’
KNOWN_JSONDOCCK_DIRECTIVE_NAMES πŸ”’

FunctionsΒ§

check_directive πŸ”’
expand_variables πŸ”’
extract_llvm_version
Given an llvm version string that looks like 1.2.3-rc1, extract as semver. Note that this accepts more than just strict semver syntax (as in major.minor.patch); this permits omitting minor and patch version components so users can write e.g. //@ min-llvm-version: 19 instead of having to write //@ min-llvm-version: 19.0.0.
extract_llvm_version_from_binary
extract_version_range πŸ”’
Takes a directive of the form "<version1> [- <version2>]", returns the numeric representation of <version1> and <version2> as tuple: (<version1>, <version2>).
ignore_cdb πŸ”’
ignore_gdb πŸ”’
ignore_lldb πŸ”’
ignore_llvm πŸ”’
iter_header πŸ”’
line_directive πŸ”’
If the given line begins with the appropriate comment prefix for a directive, returns a struct containing various parts of the directive.
llvm_has_libzstd
For tests using the needs-llvm-zstd directive:
make_test_description
parse_normalize_rule πŸ”’
Parses the regex and replacement values of a //@ normalize-* header, in the format: