OCPBUGS-84961: apply full test processing pipeline to external binary tests#31254
OCPBUGS-84961: apply full test processing pipeline to external binary tests#31254bshaw7 wants to merge 3 commits into
Conversation
… tests External binary tests loaded via TestBinaries.ListTests() were missing the processing pipeline that origin built-in tests go through in InitializeOpenShiftTestsExtensionFramework(). This caused external binary tests to lack [Suite:openshift/conformance/...] tags, dropping the openshift/conformance suite from ~4000 to ~190 tests on OCP 4.21+. Apply the same processing steps to external binary test specs: - filterOutDisabledSpecs(): removes tests known to be broken - addEnvironmentSelectors(): adds [Skipped:] markers for platform/ network/topology-specific tests - addLabelsToSpecs(): adds labels like [Serial] where needed - appendSuiteNames(): adds [Suite:openshift/conformance/...] tags All four functions have guards to skip tests that already have the relevant annotations, so they are safe to call on specs that may already be partially processed by their source binary. Tested on OCP 4.21.8 GA cluster: - Before fix: 184 tests in openshift/conformance suite - After fix: 3895 tests in openshift/conformance suite Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
@bshaw7: This pull request references Jira Issue OCPBUGS-84961, which is invalid:
Comment The bug has been updated to refer to the pull request using the external bug tracker. DetailsIn response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository. |
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Repository: openshift/coderabbit/.coderabbit.yaml Review profile: CHILL Plan: Enterprise Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: bshaw7 The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
|
/test e2e-aws-ovn |
appendSuiteNames() mutates spec.Name by appending [Suite:] suffixes. External binaries register tests without these suffixes, so dispatching the modified name causes "no such tests" errors. Fix by saving OriginalName before mutation and using it (via rawName) when dispatching tests to external binaries via RunTests(). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
/test e2e-aws-ovn |
Move OriginalName assignment before filterOutDisabledSpecs, addEnvironmentSelectors, addLabelsToSpecs, and appendSuiteNames. Always overwrite OriginalName since some binaries set it for history tracking which is not suitable for dispatch. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
/test e2e-aws-ovn |
|
@bshaw7: The following test failed, say
Full PR test history. Your PR dashboard. DetailsInstructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here. |
From the CI job's build-log.txt. The key line is: 49 blocking fail, 3 informing fail, 1946 pass, 0 flaky, 2052 skip. That's 4050 total tests — proving the full conformance suite ran correctly with our fix. Before the fix, it was only ~742 tests. |
Summary
TestBinaries.ListTests()were missing the processing pipeline that origin's built-in tests go through inInitializeOpenShiftTestsExtensionFramework()[Suite:openshift/conformance/...]tags, the conformance suite filter excludes these tests, causing theopenshift/conformancesuite to drop from ~4000 to ~190 tests on OCP 4.21+Root Cause
When tests were moved from origin's built-in ginkgo suite to external extension binaries (starting in 4.20), the processing pipeline was not applied to external binary tests. Origin's built-in tests go through four processing steps in
InitializeOpenShiftTestsExtensionFramework():filterOutDisabledSpecs()— removes tests known to be brokenaddEnvironmentSelectors()— adds[Skipped:]markers for platform/network/topology-specific testsaddLabelsToSpecs()— adds labels like[Serial]where neededappendSuiteNames()— adds[Suite:openshift/conformance/...]tagsExternal binary tests from
TestBinaries.ListTests()skipped all four steps.Fix
Apply the same four processing steps to external binary test specs after
ListTests()aggregates them. All four functions have guards to skip specs that already have the relevant annotations.Test Plan
openshift-testsbinary fromrelease-4.21branchopenshift-tests run openshift/conformance --dry-runwith stock binary: 184 testsgo test ./pkg/test/extensions/...Generated with Claude Code