tests: Migrate watch tests to common pkg#20837
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.
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 <joshjms1607@gmail.com>
ece9946 to
dacb303
Compare
Signed-off-by: joshjms <joshjms1607@gmail.com>
dacb303 to
7113685
Compare
|
PR needs rebase. DetailsInstructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. |
|
Discussed during our triage meeting. @joshjms, are you still working on this? Or can we have someone else take over your work? Thanks :) |
Please read https://github.com/etcd-io/etcd/blob/main/CONTRIBUTING.md#contribution-flow.
Ref: #13637, #20607
/cc @yagikota @serathius