Skip to content

test(cli): stop parallel launcher tests from holding the copied forwarder busy - #1339

Merged
kvlonge merged 1 commit into
mainfrom
fix/forwarder-test-copy
Nov 7, 2026
Merged

kvlonge merged 1 commit into
mainfrom
fix/forwarder-test-copy

Conversation

@kvlonge

@kvlonge kvlonge commented Nov 7, 2026

Copy link
Copy Markdown
Contributor

Why

The sqlbuild forwarder tests fail on Linux about one run in nine with Text file busy (ETXTBSY), which blocks unrelated pull requests in Native workspace checks. Each test copies the forwarder into a temporary directory with std::fs::copy, which holds a write handle in the test process. A child forked by a parallel test inherits that handle until it execs, and running the copy in that window fails.

Changes

  • On Unix, the launcher test helper copies the forwarder with cp, so the write handle lives in a short-lived child that exits before the copy runs and parallel forks never inherit it.
  • Windows has no ETXTBSY and keeps std::fs::copy.

DuckShop: not applicable. This changes a test helper only; no project shape, data value or lifecycle sequence is involved.

Verification

  • Stress run of the launcher test binary with 8 test threads: 34 of 300 runs failed with Text file busy before the change and 0 of 300 after, alternating base and fixed binaries.
  • make check-ci and the public-repository scan.

@kvlonge
kvlonge enabled auto-merge (squash) November 7, 2026 07:52
@kvlonge
kvlonge merged commit ca9a17a into main Nov 7, 2026
49 checks passed
@kvlonge
kvlonge deleted the fix/forwarder-test-copy branch November 7, 2026 08:39
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.

1 participant