-
Notifications
You must be signed in to change notification settings - Fork 2.1k
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
itest: clean harness state before each icase and better naming for icase logs #4737
Conversation
0f07955
to
3e942ed
Compare
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.
Solid start, this will hopefully crush some more flakes!
Great idea with the log file name, this should make it much easier to find what we're looking for.
3e942ed
to
b8064ce
Compare
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.
Almost there, just two more small changes and this is good to go IMO.
b8064ce
to
3739800
Compare
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.
LGTM 💯
3739800
to
922e059
Compare
Had to add one more commit because it seems that the parallel macaroon itests crash with the restarted nodes. @guggero PTAL |
Ah, interesting. Because the outer |
yeah, fortunately there wasn't much gain from parallelizing those tests anyway |
The btcd and neutrino itests still seem to flake a lot on travis... Looking into why this happens. Edit: added another commit, it seems to be a timeout. Testing that hypothesis... |
ccc827c
to
b02d09f
Compare
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.
I think the concept is good :) I'm just wondering if there are benefits to having long-running nodes being part of the test cases (makes us notice state that is not propely cleaned up perhaps), but all in all I think this is better :)
Yeah, good question which is better. I lean towards clean state (hence the PR). Perhaps we could have a longer test that concatenates itests randomly or even in a predefined way. But maybe not the whole test-suite. I suppose the initial goal was to spare some time restarting the nodes, but since #4655 is just around the corner we can be a bit more strict with state. |
188a978
to
22a76d6
Compare
Needs rebase now that #4655 is in! |
22a76d6
to
94a9d4f
Compare
Rebased, I hope this eliminates most of the flakes. |
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.
One last small thing then I think we're good to go!
94a9d4f
to
aac6172
Compare
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.
LGTM 👍
I'm running some experiments with new chainbackend and miner for each testcase, as right now we're still pretty unstable. |
ddb0c5c
to
5eb433f
Compare
I think btcsuite/btcwallet#695 should also help with the neutrino rescan stability. Unfortunately there seems to be a deadlock in there but I can't figure out where exactly (itests don't even start properly if I use that branch of |
aac6172
to
e832efe
Compare
This commit adds the icase name to the log filename, to make it simpler to find problematic tests. Additionally after this commit we'll restart Alice and Bob (the base harness nodes) before each icase to start with a clean state.
e832efe
to
38e8184
Compare
Gonna merge, as the flakes seem unrelated to these changes, and it unblocks some other flake-fixing PRs. |
This PR changes the itest harness to make it possible to restart the harness nodes (Alice & Bob) before each icase while also changing the way we name icase node logs, to make it easier to see which logs belong to which icase.