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_testitemsevent could be encountered before theget_procs_for_testrunevent could complete.The first change is to make the
run_testitemsevent conditional on populating thetestitem_ids_by_procmapping 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.