-
Notifications
You must be signed in to change notification settings - Fork 9.8k
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
add failpoint raftBeforeAdvance to reproduce TestMemberPromoteMemberNotLearner reliably #15865
add failpoint raftBeforeAdvance to reproduce TestMemberPromoteMemberNotLearner reliably #15865
Conversation
98be977
to
3c71b3a
Compare
type Failpoint interface { | ||
Enable() error | ||
Disable() error | ||
} |
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.
It doesn't make much sense to define an interface, because failpointFunc
is only used in the same package. It makes sense if you move the interface into the test framework.
We can keep it as it's for now, and discuss it separately.
e004e8d
to
d4782f9
Compare
Signed-off-by: Chao Chen <chaochn@amazon.com>
d4782f9
to
7ec6f42
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.
Overall looks good to me.
Thanks @chaochn47
To be clearer, currently only the robustness test cases are executed with failpoint enabled by default. All test cases under tests/failpoint
will also be executed with failpoint enabled by default, and a followup PR is required to update the Makefile and workflow to enable gofailpoint for cases under tests/failpoint
.
I don't see the reason for creating another test type. For me this is an integration test that should skipped ('t.Skip`) if we didn't compile with gofail. For CI integration we should just enable gofail before running all tests. |
Thanks @serathius! The conversation is moved to #15879. Hopefully there is an agreement on how to approach this. |
Hi @serathius, seems like from #15879 majority of commenters agree with adding the limited number of failpoint type of tests just like https://github.com/etcd-io/bbolt/tree/master/tests/failpoint. Do you have strong objections of this direction? Otherwise, can we let the PR merge and continue fixing #15528, #14040, #13212, #12983? |
Don't agree that we need a separate failpoint test type, nor a separate test directory, not a separate testing target. |
okay. That should also work given just compiling etcd integration test with go fail should not produce any new issues. I can start from that and circle back on this topic if necessary. |
REF: #15708 (comment) and #15708 (comment)
REF: Terminate etcd on stalled storage writes Google doc Test section
To reproduce
Please read https://github.com/etcd-io/etcd/blob/main/CONTRIBUTING.md#contribution-flow.