Expand description
Which of an attempt’s changed test files the run actually collected: a test that never ran is evidence of nothing.
Each test file the attempt added or changed — a test path by
convention that defines tests by its toolchain’s markers — is decided,
in order, by the toolchain’s static rule (it alone can prove a file is
never collected), the check’s fresh JUnit report, and the runner’s own
listing (or the check’s list command). What none of them decides is
unknown: it never passes.
Modules§
- junit_
map - Test ids (a JUnit report’s
classname::name, a listing’s lines) mapped back to the file they come from, per toolchain. - listing
- The runners’ own listings: which tests they would run, asked only when the static rule and the JUnit report leave a file undecided. Each runs like a check — sandboxed, scrubbed environment, the check’s deadline.
- runner
- The listing a check’s own run implies: built from the argv of a fast check that runs the toolchain — its selectors, filters and packages kept — so a test counts only if a check the verdict rests on would run it. No check runs the toolchain: there is no listing, and the file is unknown.
- static_
cfg - The collection rules as the project configures them, read from static
files only: Cargo manifests, pytest’s ini/toml sections,
package.jsonand JSON runner configs,go.mod. A configuration that is code (avitest.config.ts) is not evaluated: the rule is unknown there and the runner’s listing decides.
Structs§
- Input
- What the judge hands the collection check.
Functions§
- judge
- Decides every judged file of the attempt;
Nonewhen it changed none. - judged_
files - The attempt’s changed files that are judged: test paths by convention that define tests, not deleted, not build output or dependencies, not benchmarks or examples.
- statically_
refused - Why the runner would never collect a new file at
pathwithcontent, by the static rule alone (None: it may be collected, or the rule is not known statically). For placing new test files.