Module directives

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 πŸ”’
directive_names πŸ”’
directives πŸ”’
needs πŸ”’

StructsΒ§

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

EnumsΒ§

IgnoreDecision πŸ”’
NormalizeKind πŸ”’

ConstantsΒ§

COMPILETEST_DIRECTIVE_PREFIX πŸ”’

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_backends πŸ”’
ignore_cdb πŸ”’
ignore_gdb πŸ”’
ignore_lldb πŸ”’
ignore_llvm πŸ”’
iter_directives πŸ”’
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 πŸ”’
needs_backends πŸ”’
parse_normalize_rule πŸ”’
Parses the regex and replacement values of a //@ normalize-* directive, in the format: