Repository navigation
TEST: avoid cancelling scenario resume for slow database reads - #3138
Open
Richard Lundeen (richlundeen) wants to merge 1 commit into
Open
Richard Lundeen (richlundeen) wants to merge 1 commit into
Richard Lundeen (richlundeen) wants to merge 1 commit into
Conversation
Use a whole-test watchdog instead of ten-second per-run cancellation limits. Preserve concurrent partial failure, persisted state, and duplicate-free resume checks. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 50e6571a-68d7-4399-a2f0-a2dfc6cc6ff9
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Fix a test timeout from #3122's macOS Python 3.11 dev_all job.
The first run completed all three mock attacks and raised the two expected partial failures. The persisted FAILED state and first attempt checks passed. On the second run, the test's 10-second
asyncio.wait_forcancelled the completed-objective database read before resumed attacks started. The traceback ends in aiosqlite rollback during read-session close, not in the mock attack's intentional TimeoutError or its event barriers. The logs do not identify why the database operation took this long.Replace both per-run cancellation limits with direct awaits and one 60-second pytest watchdog. The watchdog still bounds deadlocks and gives thread stacks on expiry. Keep every concurrency barrier, partial-failure check, persisted state transition, attempt count, unfinished-objective batch, and unique-result assertion. No production behavior changes. This PR does not change #3122's branch or the SQLite timing tests covered by #3121.