Skip to content
This repository was archived by the owner on Jan 23, 2026. It is now read-only.

Commit 7d24dd6

Browse files
authored
Merge pull request #178 from jumpstarter-dev/fix-test-race
fix race condition in beginlease test
2 parents 37c64f8 + 14dda17 commit 7d24dd6

1 file changed

Lines changed: 6 additions & 4 deletions

File tree

internal/controller/lease_controller_test.go

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1660,20 +1660,22 @@ var _ = Describe("Scheduled Leases", func() {
16601660
It("should acquire first lease at BeginTime, then second after first is released", func() {
16611661
ctx := context.Background()
16621662

1663-
// Use same BeginTime for both to avoid timing races
1664-
sharedBeginTime := metav1.NewTime(time.Now().Truncate(time.Second).Add(1 * time.Second))
1663+
// Give lease1 an earlier BeginTime to ensure deterministic ordering
1664+
// Stagger them closely so both BeginTimes will have passed by the time we check lease2
1665+
lease1BeginTime := metav1.NewTime(time.Now().Truncate(time.Second).Add(1 * time.Second))
1666+
lease2BeginTime := metav1.NewTime(time.Now().Truncate(time.Second).Add(1*time.Second + 100*time.Millisecond))
16651667

16661668
// Both leases target dut:b (only one exporter available)
16671669
lease1 := leaseDutA2Sec.DeepCopy()
16681670
lease1.Name = lease1Name
16691671
lease1.Spec.Selector.MatchLabels["dut"] = "b"
1670-
lease1.Spec.BeginTime = &sharedBeginTime
1672+
lease1.Spec.BeginTime = &lease1BeginTime
16711673
lease1.Spec.Duration = &metav1.Duration{Duration: 10 * time.Second} // Long duration, but we'll release early
16721674

16731675
lease2 := leaseDutA2Sec.DeepCopy()
16741676
lease2.Name = lease2Name
16751677
lease2.Spec.Selector.MatchLabels["dut"] = "b"
1676-
lease2.Spec.BeginTime = &sharedBeginTime
1678+
lease2.Spec.BeginTime = &lease2BeginTime
16771679
lease2.Spec.Duration = &metav1.Duration{Duration: 10 * time.Second}
16781680

16791681
Expect(k8sClient.Create(ctx, lease1)).To(Succeed())

0 commit comments

Comments
 (0)