Skip to content

WIP - Remove all mocks from tests - #30

Closed
johnnyshields wants to merge 12 commits into
mainfrom
wip-mock-removal
Closed

WIP - Remove all mocks from tests#30
johnnyshields wants to merge 12 commits into
mainfrom
wip-mock-removal

Conversation

@johnnyshields

@johnnyshields johnnyshields commented Nov 4, 2025

Copy link
Copy Markdown
Contributor

Also need to remove instance_variable_get/set

johnnyshields and others added 12 commits November 4, 2025 02:36
When IPC fork stages received EndOfStage, they never propagated it to
the output queue, causing downstream IPC stages to wait indefinitely.

This commit propagates EndOfStage immediately after sending :end_of_stage
to workers, preventing the deadlock. However, this creates a race condition
where EndOfStage may be signaled before all worker results are collected.

Works for:
- IPC processor -> IPC consumer (examples 92, reroute cases)
- COW fork stages (examples 93, 94)
- Mixed executors

Known issues:
- IPC processor -> IPC processor has race conditions (examples 74-76, 71, 88)
- EndOfStage bypasses workers instead of flowing through them
- Proper fix requires architectural changes to IPC completion detection

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <[email protected]>
● I see the issue. The jepsen tests are failing because they use real stages, and those stages don't have
  a task. Let me check that test file:

● Search(pattern: "let\(:stage\)|let\(:mock_pipeline\)|ConsumerStage\.new", path:
        "spec/unit/execution/fork_executors_jepsen_spec.rb", output_mode: "content")
  ⎿  Found 5 lines (ctrl+o to expand)
@johnnyshields
johnnyshields deleted the wip-mock-removal branch November 5, 2025 03:55
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