From c483f83e25e5fc331bad17d857b5aa9b10e91b63 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christoph=20St=C3=A4bler?= Date: Fri, 6 Mar 2026 14:16:36 +0100 Subject: [PATCH] Fix remaining race conditions in rekt tests Move additional readiness checks from f.Setup() to f.Requirement() that were missed in the previous commit. --- .../features/apiserversource/data_plane.go | 24 ++++++++++++------- test/rekt/features/broker/control_plane.go | 3 ++- test/rekt/features/broker/source_to_sink.go | 3 +-- .../features/eventtransform/eventtransform.go | 5 ++-- 4 files changed, 22 insertions(+), 13 deletions(-) diff --git a/test/rekt/features/apiserversource/data_plane.go b/test/rekt/features/apiserversource/data_plane.go index 7685c45b2eb..b73a44699b3 100644 --- a/test/rekt/features/apiserversource/data_plane.go +++ b/test/rekt/features/apiserversource/data_plane.go @@ -404,7 +404,8 @@ func SendsEventsWithObjectReferencePayload() *feature.Feature { } f.Setup("install ApiServerSource", apiserversource.Install(source, cfg...)) - f.Setup("ApiServerSource goes ready", apiserversource.IsReady(source)) + + f.Requirement("ApiServerSource goes ready", apiserversource.IsReady(source)) examplePodName := feature.MakeRandomK8sName("example") @@ -447,7 +448,8 @@ func SendsEventsWithResourceEventPayload() *feature.Feature { } f.Setup("install ApiServerSource", apiserversource.Install(source, cfg...)) - f.Setup("ApiServerSource goes ready", apiserversource.IsReady(source)) + + f.Requirement("ApiServerSource goes ready", apiserversource.IsReady(source)) examplePodName := feature.MakeRandomK8sName("example") @@ -490,7 +492,8 @@ func SendsEventsForAllResources() *feature.Feature { } f.Setup("install ApiServerSource", apiserversource.Install(source, cfg...)) - f.Setup("ApiServerSource goes ready", apiserversource.IsReady(source)) + + f.Requirement("ApiServerSource goes ready", apiserversource.IsReady(source)) examplePodName := feature.MakeRandomK8sName("example") @@ -546,7 +549,8 @@ func SendsEventsForAllResourcesWithNamespaceSelector() *feature.Feature { } f.Setup("install ApiServerSource", apiserversource.Install(source, cfg...)) - f.Setup("ApiServerSource goes ready", apiserversource.IsReady(source)) + + f.Requirement("ApiServerSource goes ready", apiserversource.IsReady(source)) pod1 := feature.MakeRandomK8sName("example-pod-1") pod2 := feature.MakeRandomK8sName("example-pod-2") @@ -620,7 +624,8 @@ func SendsEventsForAllResourcesWithEmptyNamespaceSelector() *feature.Feature { } f.Setup("install ApiServerSource", apiserversource.Install(source, cfg...)) - f.Setup("ApiServerSource goes ready", apiserversource.IsReady(source)) + + f.Requirement("ApiServerSource goes ready", apiserversource.IsReady(source)) pingSource1 := feature.MakeRandomK8sName("ping-source-1") pingSource2 := feature.MakeRandomK8sName("ping-source-2") @@ -675,7 +680,8 @@ func SendsEventsForLabelMatchingResources() *feature.Feature { } f.Setup("install ApiServerSource", apiserversource.Install(source, cfg...)) - f.Setup("ApiServerSource goes ready", apiserversource.IsReady(source)) + + f.Requirement("ApiServerSource goes ready", apiserversource.IsReady(source)) examplePodName := feature.MakeRandomK8sName("example") @@ -769,7 +775,8 @@ func SendEventsForLabelExpressionMatchingResources() *feature.Feature { } f.Setup("install ApiServerSource", apiserversource.Install(source, cfg...)) - f.Setup("ApiServerSource goes ready", apiserversource.IsReady(source)) + + f.Requirement("ApiServerSource goes ready", apiserversource.IsReady(source)) examplePodName := feature.MakeRandomK8sName("example") @@ -1043,7 +1050,8 @@ func EventsAreFilteredOut() *feature.Feature { } f.Setup("install ApiServerSource", apiserversource.Install(source, cfg...)) - f.Setup("ApiServerSource goes ready", apiserversource.IsReady(source)) + + f.Requirement("ApiServerSource goes ready", apiserversource.IsReady(source)) examplePodName := feature.MakeRandomK8sName("example") diff --git a/test/rekt/features/broker/control_plane.go b/test/rekt/features/broker/control_plane.go index 608c1c35094..5993f11a4a7 100644 --- a/test/rekt/features/broker/control_plane.go +++ b/test/rekt/features/broker/control_plane.go @@ -87,7 +87,8 @@ func ControlPlaneBroker(brokerName string, brokerOpts ...manifest.CfgFn) *featur brokerOpts = append(brokerOpts, broker.WithEnvConfig()...) brokerOpts = append(brokerOpts, delivery.WithDeadLetterSink(service.AsKReference(sink), "")) f.Setup("update broker", broker.Install(bName, brokerOpts...)) - f.Setup("broker goes ready", broker.IsReady(bName)) + + f.Requirement("broker goes ready", broker.IsReady(bName)) f.Stable("Conformance"). Should("Broker objects SHOULD include a Ready condition in their status", diff --git a/test/rekt/features/broker/source_to_sink.go b/test/rekt/features/broker/source_to_sink.go index c69f49c72e7..fc296054328 100644 --- a/test/rekt/features/broker/source_to_sink.go +++ b/test/rekt/features/broker/source_to_sink.go @@ -51,8 +51,7 @@ func SourceToSink(brokerName string) *feature.Feature { // Install the trigger f.Setup("install trigger", trigger.Install(via, cfg...)) - f.Setup("trigger goes ready", trigger.IsReady(via)) - + f.Requirement("trigger goes ready", trigger.IsReady(via)) f.Requirement("install source", eventshub.Install(source, eventshub.StartSenderToResource(broker.GVR(), brokerName), eventshub.InputEvent(event), diff --git a/test/rekt/features/eventtransform/eventtransform.go b/test/rekt/features/eventtransform/eventtransform.go index a74bb2b04e5..39ba78e3b9f 100644 --- a/test/rekt/features/eventtransform/eventtransform.go +++ b/test/rekt/features/eventtransform/eventtransform.go @@ -319,7 +319,7 @@ func JsonataDirectTLS() *feature.Feature { ))) f.Requirement("event transform is addressable", eventtransform.IsAddressable(transformName)) f.Requirement("event transform is ready", eventtransform.IsReady(transformName)) - f.Setup("event transform has HTTPS address", eventtransform.ValidateAddress(transformName, addressable.AssertHTTPSAddress)) + f.Requirement("event transform has HTTPS address", eventtransform.ValidateAddress(transformName, addressable.AssertHTTPSAddress)) f.Requirement("install source", eventshub.Install(source, eventshub.InputEvent(event), @@ -403,7 +403,8 @@ func JsonataSinkTLS() *feature.Feature { f.Setup("install sink", eventshub.Install(sink, eventshub.IssuerRef(eventingtlstesting.IssuerKind, eventingtlstesting.IssuerName), eventshub.StartReceiverTLS)) - f.Setup("event transform has HTTPS address", eventtransform.ValidateAddress(transformName, addressable.AssertHTTPSAddress)) + + f.Requirement("event transform has HTTPS address", eventtransform.ValidateAddress(transformName, addressable.AssertHTTPSAddress)) f.Requirement("install source", eventshub.Install(source, eventshub.InputEvent(event),