etcd-io/etcd

Reduce the time e2e tests take

Open

#18,983 opened on Dec 2, 2024

View on GitHub
 (34 comments) (0 reactions) (1 assignee)Go (10,352 forks)batch import
area/testinghelp wantedtype/feature

Repository metrics

Stars
 (51,701 stars)
PR merge metrics
 (Avg merge 6d 3h) (71 merged PRs in 30d)

Description

What would you like to be added?

E2e tests are taking over 40 minutes now, we should keep them unver 30 minutes or even lower.

For the top test candidates to optimize use https://testgrid.k8s.io/sig-etcd-periodics#ci-etcd-e2e-amd64&graph-metrics=test-duration-minutes

Current state

  • go.etcd.io/etcd/tests/v3/common.TestMemberAdd > 5 minutes
  • go.etcd.io/etcd/tests/v3/common.TestMemberRemove > 2 minutes
  • go.etcd.io/etcd/tests/v3/e2e.TestAuthority > 1.5 minutes
  • go.etcd.io/etcd/tests/v3/e2e.TestRuntimeReconfigGrowClusterSize > 1 minute
  • go.etcd.io/etcd/tests/v3/common.TestUserAdd_Simple > 1 minute
  • go.etcd.io/etcd/tests/v3/common.TestLeaseGrantAndList ~ 50 seconds
  • go.etcd.io/etcd/tests/v3/e2e.TestVerifyHashKVAfterCompact ~50 seconds
  • go.etcd.io/etcd/tests/v3/e2e.TestMixVersionsSnapshotByMockingPartition ~ 40 seconds
  • go.etcd.io/etcd/tests/v3/common.TestKVDelete ~ 40 seconds
  • go.etcd.io/etcd/tests/v3/common.TestLeaseGrantTimeToLiveExpired ~ 35 seconds
  • go.etcd.io/etcd/tests/v3/e2e.TestWatchDelayForManualProgressNotification ~ 35 seconds ...

Looking for someone to take a look at the top tests and propose improvements to reduce runtime

image

Why is this needed?

We should keep the test execution time low to ensure good contributor expirience.

Contributor guide