From 459e13f813bd68c014b6d4a813c7c86fe8f4b0f0 Mon Sep 17 00:00:00 2001 From: Nick Cabatoff Date: Mon, 28 Feb 2022 09:24:19 -0500 Subject: [PATCH] Fix LifetimeWatcher test using a buffered channel to ensure that we don't miss a renewal notice. (#14298) --- api/renewer_test.go | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/api/renewer_test.go b/api/renewer_test.go index 6289b2fd56..3fa9ed8e2b 100644 --- a/api/renewer_test.go +++ b/api/renewer_test.go @@ -174,8 +174,10 @@ func TestLifetimeWatcher(t *testing.T) { t.Fatal(err) } + doneCh := make(chan error, 1) go func() { - v.doneCh <- v.doRenewWithOptions(false, false, tc.leaseDurationSeconds, "myleaseID", tc.renew, time.Second) + doneCh <- v.doRenewWithOptions(false, false, + tc.leaseDurationSeconds, "myleaseID", tc.renew, time.Second) }() defer v.Stop() @@ -189,12 +191,15 @@ func TestLifetimeWatcher(t *testing.T) { if r.Secret != renewedSecret { t.Fatalf("expected secret %v, got %v", renewedSecret, r.Secret) } - case err := <-v.DoneCh(): + case err := <-doneCh: if tc.expectError != nil && !errors.Is(err, tc.expectError) { t.Fatalf("expected error %q, got: %v", tc.expectError, err) } + if tc.expectError == nil && err != nil { + t.Fatalf("expected no error, got: %v", err) + } if tc.expectRenewal { - t.Fatal("expected at least one renewal") + t.Fatalf("expected at least one renewal, got donech result: %v", err) } } })