Skip to content

tests: record sweep timeout SIGTERM delivery directly - #3461

Closed
adilalperenciftci wants to merge 1 commit into
aether-lang-dev:mainfrom
adilalperenciftci:fix/sweep-timeout-signal-wait
Closed

adilalperenciftci wants to merge 1 commit into
aether-lang-dev:mainfrom
adilalperenciftci:fix/sweep-timeout-signal-wait

Conversation

@adilalperenciftci

Copy link
Copy Markdown
Contributor

Summary

I traced the macOS-only integration_sweep_timeout failure to the test depending on when Bash emits its SIGTERM trap output. The bound had already returned 124 and removed both helper processes, but the platform-specific trap diagnostic was not a stable delivery witness.

This change records SIGTERM directly in the native foreground and background helpers. The test still verifies the 124 timeout status, process-group cleanup, sweep-shell survival, and the Windows no-signal invariant.

Validation

  • make test - 634 passed, 0 failed
  • make check-tests
  • make check-changelog
  • bash tests/integration/sweep_timeout/test_sweep_timeout.sh with GCC
  • CC=clang bash tests/integration/sweep_timeout/test_sweep_timeout.sh
  • 12 concurrent runs with GCC and 12 concurrent runs with Clang, 0 failures

Copilot AI balanced review requested due to automatic review settings October 29, 2026 11:16

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has insufficient remaining quota.

An organization owner can choose the repository organization as the billing source for reviews requested by members with a paid Copilot license. Learn about Copilot code review billing.

@adilalperenciftci

Copy link
Copy Markdown
Contributor Author

The fork workflows are waiting for approval before the jobs can start. Could a maintainer approve the run when convenient?

@adilalperenciftci

Copy link
Copy Markdown
Contributor Author

The failed macOS / Clang (ARM64) job passed integration_sweep_timeout_test_sweep_timeout. The only failures were unrelated HTTP proxy cases:

  • integration_http_proxy_dial_failure_dial_failure: 504, expected 502.
  • integration_http_proxy_loop_no_lookup_no_lookup: 504, expected 502.

I attempted to rerun job 123489759801, but GitHub requires repository admin rights for that action. The latest successful main run (40867437938, ARM64 job 123425649865, head 9364d6ba) passed both proxy cases and the sweep-timeout case, with 1,958 passed and 0 failed. There are no changes in the two proxy test directories or std/http between this PR's base 8936ac68 and that main head; this PR changes only the sweep-timeout test and its changelog fragment.

A maintainer rerun of the failed ARM64 job is required. If either 504 result repeats, I will compare the rerun timing and resolver output against the successful main job.

Record termination in the native foreground and background helpers instead of depending on when the shell emits trap output. Keep the timeout status, process-group cleanup, and Windows no-signal assertions unchanged.

Signed-off-by: Adil Alperen Ciftci <adilalperenciftci@users.noreply.github.com>
@paul-hammant

Copy link
Copy Markdown
Collaborator

Thanks @adilalperenciftci! This landed in #3474, which batched nine of your PRs and merged on 2026-10-30 (ca1dae7d). Your commit went in unchanged with your authorship, so this PR is superseded, and I'm closing it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants