Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion .github/workflows/build-linux.yml
Original file line number Diff line number Diff line change
Expand Up @@ -484,7 +484,9 @@ jobs:
# release leg is what the release resembles.
# The libfiu fault points (dev/DECISIONS.md, 2026-09-30) are compiled
# in on the same leg, for the same reason: their tests skip elsewhere.
ENABLE_TEST_HOOKS: ${{ matrix.debug && '--enable-tas-test-hooks --enable-fault-injection' || '' }}
# So are the `_http_*` hooks that 20 phpt need: the log sinks,
# reactor_pool/* and telemetry 001-003.
ENABLE_TEST_HOOKS: ${{ matrix.debug && '--enable-tas-test-hooks --enable-fault-injection --enable-http-server-test-hooks' || '' }}
run: |
set -eux
if [ -n "$ENABLE_TEST_HOOKS" ]; then
Expand Down
14 changes: 10 additions & 4 deletions dev/PLAN.md
Original file line number Diff line number Diff line change
Expand Up @@ -260,16 +260,22 @@ an item marked "reproduce" gets its failing run before any code.
here; it also kills the mutant whose refused `start()` on a running server
clears the flag of the run on the stack. The flag's reset on the bailout
exit has no test.
16. #348 — static passthrough on HTTP/1: a file under `on_missing: Next` that
fails the engine's `open()` (mode 0) started the handler twice on one ctx
and crashed, 3 of 3; PR 349 drops the HTTP/1 hook that spawned it.
16. #348 — static passthrough on HTTP/1: done, PR 349 (09ab593). A file under
`on_missing: Next` that fails the engine's `open()` (mode 0) started the
handler twice on one ctx and crashed, 3 of 3; `static/025`.

Added by the health check of 2026-09-30 (`dev/HEALTH.md`), in this order:

17. The HTTP server test hooks run in CI: the debug leg passes
`--enable-http-server-test-hooks`, and the 20 phpt gated on `_http_*`
functions (reactor_pool, telemetry 001-003, eight in core) run and pass.
Run them locally with the flag first: nothing has run them in CI.
Locally, built with the flag: `core/030` crashed 3 of 3 in php-async's
`io_pipe_write_cb`, which cleared `io` on a write request its listener had
freed and reallocated (true-async/php-async#310, fix #311, asynctest case
true-async/php-src#39). With the fix the 20, with the four tas-hooks tests
and the rest of `reactor_pool/`, pass 35 of 35, 3 runs of 3. In CI the
first run of this change crashed `core/030` the same way, 544 others
passing; php-async #311 is merged.
18. A failed `fflush` or `fclose` fails the upload: done (#380). A
`tmp_path_generator` linking to `/dev/full` gives a 16-byte part
`UPLOAD_ERR_OK` and a 64 KiB part CANT_WRITE with its partial temp file
Expand Down
Loading