Logic to handle premature ready_to_run_testitems
event
#2
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.
I ran into a corner case where the
ready_to_run_testitems
event could be encountered before theget_procs_for_testrun
event could complete.The first change is to make the
run_testitems
event conditional on populating thetestitem_ids_by_proc
mapping with the relevant process ID.However, this fix led to an issue for me where the line to determine the test process Julia version would hang (
read(Cmd(...), String)
further up in this file, line 146). In order to make sure that command actually gets scheduled, we need toyield
, giving theread(Cmd(...))
bit an opportunity to run, and then resuming the core loop ofexecute_test_run
.