[Python/Beam] Add MailboxProcessor tests and fix bugs#4360
Merged
Conversation
- Convert Python mailbox_processor.py to PEP 695 type parameter syntax - Add missing standalone post_and_async_reply function for Python - Create dedicated TestMailboxProcessor.fs for Python (13 tests) covering post, postAndAsyncReply, FIFO ordering, state accumulation, start methods, buffering, error handling, cancellation, reply pairing, deep recursion, and stateful replies - Move mailbox test out of TestAsync.fs into its own file - Expand Beam MailboxProcessorTests.fs from 3 to 13 tests (matching Python) - Fix Beam async builder For to handle seq/enumerable (not just lists) - Fix Beam MailboxProcessor to store and check cancellation token - Add Beam loop tests for negative step ranges inside async Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Python Type Checking Results (Pyright)
Excluded files with errors (5 files)These files have known type errors and are excluded from CI. Remove from
|
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.
Summary
mailbox_processor.pyto PEP 695 type parameter syntax and add missingpost_and_async_replystandalone functionTestMailboxProcessor.fswith 13 comprehensive tests (moved out of TestAsync.fs)fable_async_builder:for/2to handle seq/enumerable objects in async for-in loops (not just plain lists)fable_mailbox.erlcancellation — token was accepted but ignored; now stored in state and checked inprocess_eventsLoopTests.fsisolating async for-in with negative step rangesNote: No external changes for Python, everything as before. Only rewriting of fable-library. Fix for Beam, but beam has not been released yet so no need for a ChangeLog entry. Nothing changed.
Test plan
🤖 Generated with Claude Code