test: accept empty skip reasons
This commit is contained in:
16
docs/spec.md
16
docs/spec.md
@@ -930,6 +930,22 @@ 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.
|
||||
|
||||
Calling `test.skip(reason)` from an active test records a successful skip and
|
||||
stops that test body. The empty string is a valid reason: `test.skip("")` is
|
||||
not a malformed harness result. Its ordinary result line is exactly the
|
||||
qualified test name, ` ... SKIP: `, and a newline, with no reason bytes after
|
||||
the space. It increments skipped accounting once, increments neither failed nor
|
||||
harness-error accounting, and permits later selected tests to run. The same
|
||||
classification applies to raw single-file, same-package, external-package, and
|
||||
honest test-only descriptors; an active-test call reached through production
|
||||
package code; filtered execution; a coordinator-run retained binary; and later
|
||||
direct execution of a retained binary. Production files do not acquire a test
|
||||
descriptor. A nonempty reason keeps the same presentation with its bytes after
|
||||
`SKIP: `. An oversized reason remains an invalid control result, and
|
||||
`test.skip` outside an active test still aborts. This result rule does not
|
||||
change the current per-test process boundary, list mode, filtering language,
|
||||
package initialization, or package/import/action identity.
|
||||
|
||||
After those ordered results, an ordinary explicit `ww test` request that records
|
||||
an attributable setup, build, or execution failure emits exactly one standalone
|
||||
`FAIL\n` on standard output. The line is command-owned: it follows even a later
|
||||
|
||||
Reference in New Issue
Block a user