Skip to content

Testcifixes - #217

Merged
techomancer merged 4 commits into
mainfrom
testcifixes
Oct 13, 2026
Merged

techomancer merged 4 commits into
mainfrom
testcifixes

Conversation

@techomancer

Copy link
Copy Markdown
Owner

fix memory leaks in testing
add ci for windows and mac to make sure we dont break them too bad

techomancer and others added 4 commits October 12, 2026 18:18
CI's test step was being killed by the runner (exit 143 / "operation was
canceled") because the lib tests peaked at 12 GB on a 16 GB runner. Every
REX3 and GR2 test Box::leak'd its board (~75 MB / ~25 MB). TestBoard owns the
board and stops (joins threads) and frees it on drop: peak is now 1.3 GB.

Stopping boards at the end of every test exposed a GR2 shutdown race: RE3
exits on its sentinel, HQ2 then queues more RE3 work and spins forever in
finish()/read_image. HQ2's waits on RE3 now give up once running is cleared.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
The Rust workflow only ran on Linux, so a macOS- or Windows-only break was
first seen by a release run. `cargo test --workspace` now runs on
ubuntu-24.04, macos-26 and windows-latest, and a second job builds the speed
configuration (lightning,gpujit,jitv2) on all three. fail-fast is off so one
platform's break still reports the others; cargo state is cached per OS.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
…ket test clock

flatten_diff failed on Windows with "Access is denied": libchdman-rs's
ChdCompressor::new passes the reader to C++ via Box::into_raw and never frees
it, so the merged HdImage it owned kept the base and diff open, and Windows
will not rename over an open file. The image now lives in a slot shared with
flatten_diff, which empties it (closing both) before the rename.

a_compare_write_leaves_its_one_shots_ticket_claimable read the stale
cp0_count field (0), putting its "future" Compare at an absolute ~10 ms of
wall clock; a loaded macOS runner overshot the 3 ms sleep past it. Use
count_peek() and a deadline one second ahead.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
continue-on-error on their Run tests step: a failure shows on the run but
does not fail the workflow. Their builds still gate, and Linux gates on both.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
@techomancer
techomancer merged commit d118d5d into main Oct 13, 2026
13 checks passed
@techomancer
techomancer deleted the testcifixes branch October 13, 2026 02:57
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