-
Notifications
You must be signed in to change notification settings - Fork 7
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Print a completion message when all tests are done #192
base: main
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Before I look at the changes here, I wanted to point out that you were right that we're waiting for the workers to terminate -- the @sync
block where we @spawn
each of the manage-workers tasks will block since we're closing them which waits for the tasks on the worker to finish (in response to it being terminated). This place does feel like a good spot for the hang to happen to me... Maybe we could use a timedwait
instead of wait
to be on the safer side?
# Print this above the final report as there might have been other logs printed | ||
# since a failfast-cancellation was printed, but print it ASAP after tests finish | ||
# in case any of the recording/reporting steps have an issue. | ||
print_completion_summary(testitems; failedfast=(cfg.failfast && is_cancelled(testitems))) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ah, so @Drvi this would be maybe too late already, since we hang before shutting down the workers?
Maybe we actually just want a log in manage_worker
, here?:
ReTestItems.jl/src/ReTestItems.jl
Line 695 in e9b7730
close(worker) |
We could basically say
@info "Finished all tests. Closing Worker $workerid."
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Added. I just added a log for each worker, so they don't have to coordinate to know if they're the last worker to complete, and also because i support any of them could be the one to hang here.
c32464f
to
0420a84
Compare
To make it clear when tests are done (in case there's a problem after this point but before we print a test summary).
This is mainly helpful when running with multiple workers, as in that case the last test to finish and print a
DONE
log may not be the last test-item started, i.e. the final log before all tests are done may be `DONE (33/37) test item ...".Also adds more
@debug
logs, for helping diagnose issues after tests are all run.Before:
Now: