Module directives

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 πŸ”’
file πŸ”’
line πŸ”’
needs πŸ”’

StructsΒ§

CheckDirectiveResult πŸ”’
DirectivesCache
EarlyProps πŸ”’
Properties which must be known very early, before actually running the test.
NormalizeRule πŸ”’
TestProps

EnumsΒ§

EditionRange πŸ”’
IgnoreDecision πŸ”’
NormalizeKind πŸ”’

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 πŸ”’
llvm_has_libzstd
For tests using the needs-llvm-zstd directive:
make_test_description πŸ”’
maybe_parse_edition πŸ”’
needs_backends πŸ”’
parse_edition_range πŸ”’
parse_normalize_rule πŸ”’
Parses the regex and replacement values of a //@ normalize-* directive, in the format: