-
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: prepare itest for major refactor #6052
itest: prepare itest for major refactor #6052
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.
Nice refactor, LGTM 🎉
7bfc2fe
to
a4541b4
Compare
@positiveblue: review reminder |
a4541b4
to
0bcddb4
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.
Thank you @yyforyongyu, test suites improvements keep adding up 🍾
The RPC middleware itest seems to fail consistently now. Should I take a look or do you already have a hunch what's causing the failure? |
If you are talking about this one,
Yeah it's been fixed in the last PR. |
0bcddb4
to
5d9c606
Compare
The RPC interceptor test still seems to fail with |
5d9c606
to
fc211fb
Compare
Sorry, I meant in the final PR #5940, in particular this commit. This PR contains some commits taken from #5939. I'd say it's an "intermediate" PR that exists only for easier reviewing. |
Ah I see. So should we wait with merging this PR? Or add that commit to it so we don't fully break the itests? |
Yeah let's wait. Actually I'm kinda stuck here😂 and opinions are appreciated. These itest-related fix has gone quite far than I originally anticipated, and it's challenging to, say, cherry-pick some commits from later PRs so we have a clean build in each PR because the changes are chained. I'm thinking we could focus the itest build results in the final PR just to make sure the flakes are fixed. Meanwhile, we could somehow loosen checking the itest build results in the intermediate PRs? And for the following PR #5939, do you think it's too large? Maybe I should break it down even more? |
fc211fb
to
e8b09a6
Compare
This commit refactors the long function start() into smaller pieces and moves commonly used functions into test_common.go.
This commit adds a new struct RPCClients to better handle rpc clients. A private field, rpc, is added to HarnessNode to prevent direct access to its clients. Inside RPCClients, all clients are exported in case a test case need access to a specific client.
This commit adds a new component, harness miner, to the itest. This newly added component is responsible for checking the mempool and blocks for the itest.
This commit replaces the old miner with the new HarnessMiner and cleans harness_node.go by moving methods into the test_common.go.
I see, it's getting tricky indeed. But I'd rather not keep the itests in a state where they all fail reliably, that would render us completely blind to new bugs being introduced. Instead, I was able to extract the fix into a single commit that you can add to this PR so we can merge it (if nothing else pops up): guggero@dba9ade |
e8b09a6
to
10d876a
Compare
Cool cherry-picked. |
This PR has commits pulled out from #5939 for easier reviewing, only the last 6 commits are new.
Depends on #5756.