Files
ww/test/package/runtime/README.md
Hojun-Cho 90af21e132 test/package: wire the runtime fixture set into package_test
test/package/runtime/ was a manual README-driven corpus with no
target. Its unique surface — the driver's single-file ww test leg,
the unmet-expected-abort outcome, and the published -c binary's own
CLI (repeated globs, -list, -timeout-ms, direct-binary timeout and
descendant handling) — is now asserted by three new @test fns in
package_test.ww; the README drops its manual-run instructions.
2026-08-08 00:39:53 +09:00

24 lines
1.1 KiB
Markdown

# Package-runtime fixtures
Single-file `@test` sources driven by `test/package/package_test.ww`
(the `make test-package` binary): `singlefile_runtime_outcomes`,
`published_binary_cli`, and `direct_binary_timeout_and_descendants`.
They exercise the driver's single-file `ww test` leg and the published
`-c` binary's own command surface (repeated globs, `-list`,
`-timeout-ms`); the directory-package legs of the same outcome classes
are owned by `test/package/cases/*`.
Fixture notes:
- The runtime recognizes `expectabort(); os.exit(nonzero)` as an
expected abort because WW's abort primitive itself terminates with a
normal exit status; the ABI cannot distinguish those two paths
without a future abort hook.
- The lingering-descendant fixture blocks SIGTERM in its descendant, so
the runner exercises its grace period and SIGKILL escalation before
draining the record.
- The escaped-descendant fixture moves its inherited pipe writer into
another process group for one second; the framed nonblocking protocol
must return after the test leader and owned group complete, never
waiting for pipe EOF.