Skip to content

fix: lazy_load silently breaking queues without stream_populate#400

Open
andheiberg wants to merge 1 commit intomainfrom
fix-lazy-load-with-non-streaming-queue
Open

fix: lazy_load silently breaking queues without stream_populate#400
andheiberg wants to merge 1 commit intomainfrom
fix-lazy-load-with-non-streaming-queue

Conversation

@andheiberg
Copy link
Copy Markdown

When lazy_load=true but the queue does not implement stream_populate (e.g. CI::Queue::Bisect), load_tests skipped requiring test files, leaving Minitest.loaded_tests empty. populate_queue then called queue.populate([]), so Bisect#failing_test_present? always returned nil, causing the bisect runner to exit with "The failing test does not exist." despite the test being a valid, runnable test.

Fix: only skip eager file loading when the queue actually supports stream_populate. When it does not, fall through to the eager path so Minitest.loaded_tests is populated before populate is called.

When lazy_load=true but the queue does not implement stream_populate (e.g.
CI::Queue::Bisect), load_tests skipped requiring test files, leaving
Minitest.loaded_tests empty. populate_queue then called queue.populate([]),
so Bisect#failing_test_present? always returned nil, causing the bisect
runner to exit with "The failing test does not exist." despite the test
being a valid, runnable test.

Fix: only skip eager file loading when the queue actually supports
stream_populate. When it does not, fall through to the eager path so
Minitest.loaded_tests is populated before populate is called.
@andheiberg andheiberg self-assigned this Apr 23, 2026
@andheiberg andheiberg changed the title Fix CI_QUEUE_LAZY_LOAD silently breaking queues without stream_populate fix: CI_QUEUE_LAZY_LOAD silently breaking queues without stream_populate Apr 23, 2026
@andheiberg andheiberg changed the title fix: CI_QUEUE_LAZY_LOAD silently breaking queues without stream_populate fix: lazy_load silently breaking queues without stream_populate Apr 23, 2026
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