-
Notifications
You must be signed in to change notification settings - Fork 32
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
refactor: parrallel tests #689
Conversation
31176e7
to
88e5329
Compare
…ndAcceptedStatus tests
88e5329
to
c9857f2
Compare
great job 🏅 other than few comments about small issues, this LGTM. |
all integration tests working locally as verification step |
p1Status := meta.IsStatusConditionTrue(a[i].GetStatus().GetConditions(), string(gatewayapiv1alpha2.PolicyConditionAccepted)) | ||
p2Status := meta.IsStatusConditionTrue(a[j].GetStatus().GetConditions(), string(gatewayapiv1alpha2.PolicyConditionAccepted)) | ||
if p1Status != p2Status { | ||
return p1Status |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nice! I would also do the same.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
…one + timeouts Since Kuadrant/dns-operator#156 was merged, dnsrecords with finizalers are left behind as ManagedZone was deleted causing the test namespaces to never be fully deleted. Additionally use SpecContext and add timeouts for context so problematic tests terminate earlier
bc8d6cf
to
c70b5e1
Compare
* make: concurrent tests flags * refactor: concurrent bare k8s tests * refactor: concurrent gateway api k8s tests * refactor: concurrent istio tests * refactor: test packages for base concurrent integration tests * refactor: do not wait kuadrant to be ready for integration tests * fix: sort policy by kind, creation, condition for target status * refactor: separate out serial tests that can affect other tests * harden: RLP integration test updates & sort by PolicyByTargetRefKindAndAcceptedStatus tests * refactor: rename ratelimit test package to ratelimitpolicy * fix: wait for dnsrecords to finish deleting before deleting managed zone + timeouts Since Kuadrant/dns-operator#156 was merged, dnsrecords with finizalers are left behind as ManagedZone was deleted causing the test namespaces to never be fully deleted. Additionally use SpecContext and add timeouts for context so problematic tests terminate earlier
Description
Run integration tests concurrently where possible. Tests that cannot / may affect the stablility of other tests are kept running serially.
Independant test suites are run serially, but each test suites runs their tests in parallel where possible
The following changes were introduced generally:
tests/common/x
fromcontrollers
, each now having their own test suitesBeforeSuite/AfterSuite
(e.g. some require a Kuadrant installation, others do not)controllers/ratelimit
). This is doable if we can live with duplicate test suite codeReady
in the CREventually
blockTests now complete ~6.5 - 8 mins (previously took ~26 mins)
Verification
Passing workflow should be sufficient.
But if you want to try out running the integration tests:
make local-env-setup test-integration