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Β§
- Check
Directive πResult - Directive
Line π - The (partly) broken-down contents of a line containing a test directive,
which
iter_header
passes to its callback function. - Early
Props - Properties which must be known very early, before actually running the test.
- Headers
Cache - Normalize
Rule π - Test
Props
EnumsΒ§
- Ignore
Decision π - Normalize
Kind π
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 strictsemver
syntax (as inmajor.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: