-
Notifications
You must be signed in to change notification settings - Fork 106
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
Fix Windows conflict test failures on main #1777
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
teor2345
added
C-bug
Category: This is a bug
A-rust
Area: Updates to Rust code
P-Critical
I-integration-fail
Continuous integration fails, including build and test failures
labels
Feb 19, 2021
teor2345
changed the title
Fix Windows conflict tests kill code
Fix Windows conflict tests failures on main
Feb 19, 2021
teor2345
changed the title
Fix Windows conflict tests failures on main
Fix Windows conflict test failures on main
Feb 19, 2021
teor2345
force-pushed
the
conflict-fixes
branch
from
February 19, 2021 00:14
5f7302d
to
0955eb5
Compare
yaahc
previously approved these changes
Feb 19, 2021
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.
looks good, one UX suggestion for the error messages then I think we can merge this
yaahc
previously approved these changes
Feb 19, 2021
teor2345
commented
Feb 19, 2021
yaahc
previously approved these changes
Feb 19, 2021
teor2345
force-pushed
the
conflict-fixes
branch
from
February 19, 2021 06:51
79dee40
to
d48ecb2
Compare
On Windows, if a process is killed after it is dead, it returns `true` for `was_killed`. Instead, check if the process is running before killing it. Also make the section where processes are running as short as possible, and include context for both processes in every error.
I cherry-picked #1776 so I could actually see the Windows tests succeed, even if macOS failed. |
`node2.is_running()` can return `true` on Windows, even though `node2` has logged a panic. This cleanup code only runs if `node2` fails to panic and exit as expected. So it's ok for us to skip it. See ZcashFoundation#1781 for details.
teor2345
force-pushed
the
conflict-fixes
branch
from
February 19, 2021 08:02
48f6ab8
to
7734bd7
Compare
I did an admin-merge because the code was reviewed, I just needed to disable some cleanup on Windows. |
18 tasks
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
A-rust
Area: Updates to Rust code
C-bug
Category: This is a bug
I-integration-fail
Continuous integration fails, including build and test failures
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.
Motivation
In #1770, we unconditionally kill the conflicted node in the conflict acceptance tests. But on Windows, this makes
was_killed
returntrue
, failing the tests. We didn't pick up this error in the PR, due to testnet unreliability, which will be fixed by #1222.Solution
Review
CI is failing all the time on
main
, so this PR is critical priority.Since I don't have a Windows box locally, we should make sure Windows, macOS, and Linux CI pass on this PR.
Follow Up Work
Maybe we should disable the testnet large sync tests, or disable fail_fast in CI.
Fix the Windows-specific bugs in
TestChild::kill
andTestChild::is_running
#1781