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

@@ -828,12 +828,18 @@ List mode starts the same directory-owned product and therefore performs its
ordinary package initialization, but it does not start any selected test child.
The harness emits exactly one newline-terminated qualified name for each test
selected by the command's filters, in descriptor order. If the selected set is
empty, the harness emits no list payload, no `[no matches]` sentinel, and no
accounting, and returns success; the coordinator still emits the ordinary
successful package result. This does not alter non-list execution: a valid
filter selecting no tests continues to emit `[no matches]` and the
discovered/selected/started/completed accounting. A retained binary invoked
directly has no coordinator package result.
empty, the harness emits no list payload, warning, or accounting and returns
success; the coordinator still emits the ordinary successful package result
without a no-tests suffix. Ordinary non-list execution is distinct: a valid
filter selecting no tests writes exactly
`testing: warning: no tests to run\n` through the harness's standard error,
preserves the discovered/selected/started/completed accounting and successful
exit, and causes a successful directory package result to end in
` [no tests to run]`. The coordinator recognizes that exact warning only at
capture byte zero or after a newline. Directory execution combines the warning
and accounting in its product-local capture; a retained binary invoked directly
keeps the warning on standard error, its accounting on standard output, and has
no coordinator package result.
After those ordered results, an ordinary explicit `ww test` request that records
an attributable setup, build, or execution failure emits exactly one standalone