ww test: report no tests to run

This commit is contained in:
2026-08-21 16:15:12 +09:00
parent 2387d3e2d2
commit 17b2879c3e
6 changed files with 443 additions and 24 deletions

View File

@@ -222,12 +222,18 @@ run loop exactly. Measured on the 31-package `lib/...` walk:
List mode uses that same product process and initialization boundary but starts
no per-test child. The shared language harness emits only selected qualified
test names, one per line in descriptor order. A valid filter selecting no tests
therefore produces no harness list bytes, no `[no matches]` marker, and no
accounting while the process returns success; the coordinator continues with
the package's normal `ok` result. Ordinary non-list zero-selection execution
retains its `[no matches]` marker and accounting. Concurrent products keep
independent empty or nonempty captures, and persistent work never caches a test
result.
therefore produces no harness list bytes, warning, or accounting while the
process returns success; the coordinator continues with the package's normal
unsuffixed `ok` result. Ordinary non-list zero-selection execution instead
writes the exact line `testing: warning: no tests to run` through harness
stderr, retains its accounting and successful status, and gives the successful
package `ok` result the suffix ` [no tests to run]`. Marker recognition is
line-delimited, at capture byte zero or after a newline; an arbitrary substring
in user output does not annotate the result. Concurrent products keep
independent empty or nonempty captures, markers, and suffixes, and persistent
work never caches a test result. A directly invoked retained binary exposes the
warning on stderr and accounting on stdout because no coordinator combines its
descriptors or emits a package result.
Directory test binaries are always linked under the coordinator's temporary
product root. `-c` independently requests a caller-visible executable copy and