-
Notifications
You must be signed in to change notification settings - Fork 10.3k
tests: Migrate watch tests to common pkg #20837
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
base: main
Are you sure you want to change the base?
Conversation
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: joshjms The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
|
I'll make it not draft to test the CI :) |
|
/hold |
|
On closer inspection the watch tests in e2e is quite different in purpose than the one in integration :) Should I keep them separated? |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted filessee 149 files with indirect coverage changes @@ Coverage Diff @@
## main #20837 +/- ##
==========================================
- Coverage 68.39% 61.97% -6.43%
==========================================
Files 429 416 -13
Lines 35281 34193 -1088
==========================================
- Hits 24132 21190 -2942
- Misses 9742 11434 +1692
- Partials 1407 1569 +162 Continue to review full report in Codecov by Sentry.
🚀 New features to boost your workflow:
|
yagikota
left a comment
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.
The tests/e2e/watch_test.go contains some tests:
First, you need to determine which tests should be migrated to common and which should remain as they are.
- TestWatchDelayForPeriodicProgressNotification
- TestWatchDelayForManualProgressNotification
- TestWatchDelayForEvent
To understand these tests, you need to read these references:
In my opinion, these tests should not be migrated to common.
As described in the discussion, they validate watch behavior over a single persistent gRPC(HTTP/2) connection. Running them under tests/common would switch the e2e runner to etcdctl-based clients, where each call is executed in a separate process/connection. That masks the very class of bugs we want to catch (e.g., multiple requests over one connection).
- TestDeleteEventDrop_Issue18089
See #18201 for the backgroud of this test.
It's better to migrate this test to tests/e2e/reproduce_18089_test.go to align with other reproduction purpose tests.
- TestStartWatcherFromCompactedRevision
See #18274 for the background.
It can probably be migrated to tests/common.
- TestResumeCompactionOnTombstone
See https://github.com/etcd-io/etcd/pull/191884 for the background.
I'm not sure why this test exists in tests/e2e/watch_test.go. tests/e2e/resume_compaction_tombstone_test.go or something would be better.
Since failpoint injection is used in this test, it's better to keep it in tests/e2e/.
|
Are you still working on this PR? |
Hi @yagikota , really sorry yes I'm still unavailable 🥹 . I can get back to work on this exactly next week if that's alright with you. |
c74838c to
f5401ba
Compare
041a9c8 to
1b353d5
Compare
8de9b59 to
348c0e1
Compare
Signed-off-by: joshjms <[email protected]>
ece9946 to
dacb303
Compare
Signed-off-by: joshjms <[email protected]>
dacb303 to
7113685
Compare
Please read https://github.com/etcd-io/etcd/blob/main/CONTRIBUTING.md#contribution-flow.
Ref: #13637, #20607
/cc @yagikota @serathius