Skip to content

Commit 7863a7a

Browse files
committed
Display all resource cleanup errors
1 parent 7eef028 commit 7863a7a

File tree

1 file changed

+37
-15
lines changed

1 file changed

+37
-15
lines changed

test/e2e/suites/e2e/e2e_suite_test.go

Lines changed: 37 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ import (
3131
. "github.com/onsi/ginkgo/v2"
3232
. "github.com/onsi/gomega"
3333
"k8s.io/klog/v2"
34+
"k8s.io/utils/pointer"
3435
ctrl "sigs.k8s.io/controller-runtime"
3536

3637
"sigs.k8s.io/cluster-api-provider-openstack/test/e2e/shared"
@@ -81,24 +82,45 @@ var _ = SynchronizedBeforeSuite(func() []byte {
8182
Expect(err).NotTo(HaveOccurred())
8283
})
8384

85+
func CheckResourceCleanup[T any, L any](f func(*shared.E2EContext, L) ([]T, error), l L, initialResources []T) *string {
86+
endResources, err := f(e2eCtx, l)
87+
88+
if err != nil {
89+
return pointer.String(err.Error())
90+
}
91+
92+
matcher := ConsistOfIDs(initialResources)
93+
success, err := matcher.Match(endResources)
94+
if err != nil {
95+
return pointer.String(err.Error())
96+
}
97+
if !success {
98+
return pointer.String(matcher.FailureMessage(endResources))
99+
}
100+
101+
return nil
102+
}
103+
84104
var _ = SynchronizedAfterSuite(func() {
85105
shared.AllNodesAfterSuite(e2eCtx)
86106
}, func() {
87-
endServers, err := shared.DumpOpenStackServers(e2eCtx, servers.ListOpts{})
88-
Expect(err).NotTo(HaveOccurred())
89-
Expect(endServers).To(ConsistOfIDs(initialServers))
90-
endNetworks, err := shared.DumpOpenStackNetworks(e2eCtx, networks.ListOpts{})
91-
Expect(err).NotTo(HaveOccurred())
92-
Expect(endNetworks).To(ConsistOfIDs(initialNetworks))
93-
endSecurityGroups, err := shared.DumpOpenStackSecurityGroups(e2eCtx, groups.ListOpts{})
94-
Expect(err).NotTo(HaveOccurred())
95-
Expect(endSecurityGroups).To(ConsistOfIDs(initialSecurityGroups))
96-
endLoadBalancers, err := shared.DumpOpenStackLoadBalancers(e2eCtx, loadbalancers.ListOpts{})
97-
Expect(err).NotTo(HaveOccurred())
98-
Expect(endLoadBalancers).To(ConsistOfIDs(initialLoadBalancers))
99-
endVolumes, err := shared.DumpOpenStackVolumes(e2eCtx, volumes.ListOpts{})
100-
Expect(err).NotTo(HaveOccurred())
101-
Expect(endVolumes).To(ConsistOfIDs(initialVolumes))
107+
failed := false
108+
for _, error := range []*string{
109+
CheckResourceCleanup(shared.DumpOpenStackServers, servers.ListOpts{}, initialServers),
110+
CheckResourceCleanup(shared.DumpOpenStackNetworks, networks.ListOpts{}, initialNetworks),
111+
CheckResourceCleanup(shared.DumpOpenStackSecurityGroups, groups.ListOpts{}, initialSecurityGroups),
112+
CheckResourceCleanup(shared.DumpOpenStackLoadBalancers, loadbalancers.ListOpts{}, initialLoadBalancers),
113+
CheckResourceCleanup(shared.DumpOpenStackVolumes, volumes.ListOpts{}, initialVolumes),
114+
} {
115+
if error != nil {
116+
GinkgoWriter.Println(*error)
117+
failed = true
118+
}
119+
}
102120

103121
shared.Node1AfterSuite(e2eCtx)
122+
123+
if failed {
124+
Fail("Not all resources were cleaned up")
125+
}
104126
})

0 commit comments

Comments
 (0)