WIP: Regression hell
This commit is contained in:
@@ -34,10 +34,15 @@ def test_conductor_engine_run_executes_tickets_in_order(monkeypatch: pytest.Monk
|
||||
# Mocking lifecycle to mark ticket as complete so dependencies can be resolved
|
||||
|
||||
def side_effect(ticket, context, *args, **kwargs):
|
||||
ticket.mark_complete()
|
||||
import threading
|
||||
def do_work():
|
||||
import time
|
||||
time.sleep(0.1)
|
||||
ticket.mark_complete()
|
||||
threading.Thread(target=do_work).start()
|
||||
return "Success"
|
||||
mock_lifecycle.side_effect = side_effect
|
||||
engine.run()
|
||||
engine.run(max_ticks=20)
|
||||
|
||||
vlogger.log_state("T1 Status Final", "todo", ticket1.status)
|
||||
vlogger.log_state("T2 Status Final", "todo", ticket2.status)
|
||||
@@ -108,8 +113,8 @@ def test_run_worker_lifecycle_context_injection(monkeypatch: pytest.MonkeyPatch)
|
||||
run_worker_lifecycle(ticket, context, context_files=context_files)
|
||||
# Verify ASTParser calls:
|
||||
# First file (primary) should get curated view, others (secondary) get skeleton
|
||||
mock_ast_parser.get_curated_view.assert_called_once_with("def primary(): pass")
|
||||
mock_ast_parser.get_skeleton.assert_called_once_with("def secondary(): pass")
|
||||
mock_ast_parser.get_curated_view.assert_called_once_with("def primary(): pass", path="primary.py")
|
||||
mock_ast_parser.get_skeleton.assert_called_once_with("def secondary(): pass", path="secondary.py")
|
||||
# Verify user_message contains the views
|
||||
_, kwargs = mock_send.call_args
|
||||
user_message = kwargs["user_message"]
|
||||
@@ -238,10 +243,15 @@ def test_conductor_engine_dynamic_parsing_and_execution(monkeypatch: pytest.Monk
|
||||
# Mock run_worker_lifecycle to mark tickets as complete
|
||||
with patch("src.multi_agent_conductor.run_worker_lifecycle") as mock_lifecycle:
|
||||
def side_effect(ticket, context, *args, **kwargs):
|
||||
ticket.mark_complete()
|
||||
import threading
|
||||
def do_work():
|
||||
import time
|
||||
time.sleep(0.1)
|
||||
ticket.mark_complete()
|
||||
threading.Thread(target=do_work).start()
|
||||
return "Success"
|
||||
mock_lifecycle.side_effect = side_effect
|
||||
engine.run()
|
||||
engine.run(max_ticks=20)
|
||||
assert mock_lifecycle.call_count == 3
|
||||
# Verify dependency order: T1 must be called before T2
|
||||
calls = [call[0][0].id for call in mock_lifecycle.call_args_list]
|
||||
|
||||
Reference in New Issue
Block a user