Repository navigation
chore(deps): bump github.com/onsi/gomega from 1.38.2 to 1.44.0 - #6231
Conversation
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: 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 |
|
Hi @dependabot[bot]. Thanks for your PR. I'm waiting for a fluid-cloudnative member to verify that this patch is reasonable to test. If it is, they should reply with Once the patch is verified, the new status will be reflected by the I understand the commands that are listed here. 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/test-infra repository. |
There was a problem hiding this comment.
🔵 Needs a closer look
The visited map incorrectly marks repeated pointers and pointers to a struct’s first field as cycles, hiding valid values in assertion diagnostics.
No open issues 🎉
What changed in this PR
Updates Fluid’s Gomega assertion dependency from 1.38.2 to 1.44.0, including its vendored implementation and the accompanying YAML dependency update.
Changes:
- Updates dependency versions, checksums, and vendor metadata.
- Imports upstream matcher fixes, new matchers, and formatting changes.
- Refreshes vendored documentation and comment formatting.
| File | Description |
|---|---|
vendor/modules.txt |
Records updated versions and Gomega’s Go requirement. |
vendor/go.yaml.in/yaml/v3/yamlh.go |
Reformats handler documentation only. |
vendor/go.yaml.in/yaml/v3/parserc.go |
Reformats parser grammar comments only. |
vendor/github.com/onsi/gomega/types/types.go |
Documents assertion descriptions. |
vendor/github.com/onsi/gomega/RELEASING.md |
Updates upstream release instructions. |
vendor/github.com/onsi/gomega/README.md |
Refreshes badges and plugin documentation. |
vendor/github.com/onsi/gomega/matchers/type_support.go |
Adds exact integer conversion support. |
vendor/github.com/onsi/gomega/matchers/support/goraph/edge/edge.go |
Uses slices.Contains for edge lookup. |
vendor/github.com/onsi/gomega/matchers/match_yaml_matcher.go |
Compares multi-document YAML streams. |
vendor/github.com/onsi/gomega/matchers/match_xml_matcher.go |
Normalizes namespace declarations. |
vendor/github.com/onsi/gomega/matchers/match_json_matcher.go |
Preserves exact large-number comparisons. |
vendor/github.com/onsi/gomega/matchers/match_error_strictly_matcher.go |
Adds strict error matching with errors.Is. |
vendor/github.com/onsi/gomega/matchers/have_key_with_value_matcher.go |
Searches entries until a key/value pair matches. |
vendor/github.com/onsi/gomega/matchers/have_key_matcher.go |
Allows matching keys despite other matcher errors. |
vendor/github.com/onsi/gomega/matchers/have_exact_elements.go |
Corrects missing and extra element diagnostics. |
vendor/github.com/onsi/gomega/matchers/be_numerically_matcher.go |
Fixes integer comparisons and threshold handling. |
vendor/github.com/onsi/gomega/matchers/be_an_array_matcher.go |
Adds array-type matching. |
vendor/github.com/onsi/gomega/matchers/be_a_slice_matcher.go |
Adds slice-type matching. |
vendor/github.com/onsi/gomega/matchers/attributes_slice.go |
Orders XML attributes by name, namespace, and value. |
vendor/github.com/onsi/gomega/matchers.go |
Exposes new matchers and updates API documentation. |
vendor/github.com/onsi/gomega/gomega_dsl.go |
Updates the Gomega version constant. |
vendor/github.com/onsi/gomega/format/format.go |
Adds pointer-cycle detection and adjusts string formatting. |
vendor/github.com/onsi/gomega/CHANGELOG.md |
Includes upstream release history. |
vendor/github.com/onsi/gomega/.gitignore |
Ignores upstream release artifacts. |
go.sum |
Updates Gomega and YAML checksums. |
go.mod |
Updates Gomega and indirect YAML requirements. |
Review effort: Balanced
cheyang
left a comment
There was a problem hiding this comment.
Verified the gomega 1.38.2 → 1.44.0 bump (plus go.yaml.in/yaml/v3 3.0.4 → 3.0.5) from two independent harnesses and found nothing this PR introduces. The diff is exactly the two version pins; the vendored trees are byte-identical to the checksum-verified upstream modules and re-vendor cleanly; gomega is still imported only by test files (no runtime blast radius); and the build, vet, and the full CI-equivalent unit suite pass at the head. We also pinned the upstream semantic changes directly: none of fluid's matcher call sites (HaveKey/HaveKeyWithValue on literal keys, plain same-type BeNumerically, zero MatchJSON/MatchYAML/MatchXML/HaveExactElements) can be affected, and contract tests confirm the bump actually took effect — they fail on 1.38.2 and pass on 1.44.0. The controller packages that CI's unittest job excludes were swept locally with envtest: everything passes except two suites that have been dead since 2023 (ginkgo decorator bugs, failing identically on the base commit), so they are pre-existing, not caused by this bump. Those three follow-ups are parked in the appendix below with suggested tracking issues. Copilot also reviewed this head and raised no findings. No disagreement between the two reviewers survived cross-critique — the only corrections exchanged were fact-checks (the go directive is 1.26.0, not 1.25.0; the BeNumerically count is 44), neither affecting a verdict.
Next round
[MUST] none — no PR-introduced blocker or major; every merge-checklist criterion passes at head b4c8873.
[SHOULD] file follow-up tracking issues for the three pre-existing items in the appendix (alluxio and dataprocess ginkgo suites never boot; make test excludes controller packages from unit CI) instead of fixing them in this bump.
[SHOULD] optionally lift the gomega matcher-semantics contract tests from the verification branches as a downgrade guard (nit, ignore at will).
[Filed] none opened during this round.
Non-blocking observations (4) — not part of this round's ask; fix now, follow up, or file an issue as you see fit
- pkg/controllers/v1alpha1/alluxio/suite_test.go:51 [minor] — pre-existing, not introduced by this PR — alluxio controller ginkgo suite never runs (NodeTimeout decorator without a context-accepting callback)
BeforeSuite(NodeTimeout(60*time.Second), func(){...}) passes a timeout decorator whose callback does not accept a SpecContext/context.Context, so ginkgo v2 aborts the whole alluxio controller suite at boot: "[BeforeSuite] was passed NodeTimeout, SpecTimeout, or GracePeriod but does not have a callback that accepts a SpecContext or context.Context". The suite has been dead since it was written; CI never notices because make test excludes every controller package (see F-CONTROLLER-CI-BLINDSPOT). Fix: drop the decorator or give the callback actx SpecContextparameter. Pre-existing (fails identically on base); found independently by both reviewers (Claude F1 / Codex F2) and confirmed in both cross-critiques — suggest a tracking issue rather than holding this bump. - pkg/controllers/v1alpha1/dataprocess/suite_test.go:75 [minor] — pre-existing, not introduced by this PR — dataprocess controller ginkgo suite never runs (stray '60' decorator)
BeforeSuite(func(){...}, 60) passes a bare 60 as a ginkgo decorator ("[BeforeSuite] node was passed an unknown decorator: '60'"), a ginkgo-v1-style timeout argument left over from before the v2 migration, so the whole dataprocess controller suite aborts before any spec runs. Traced to commit 3c723c4 (2023-07-25, PR #3345) via git log -S '}, 60)' — the file was born broken (~3.4 years of dead suite). Invisible to CI for the same controller-exclusion reason as F-ALLUXIO-SUITE-BROKEN. Fix: delete ', 60' or use NodeTimeout with a SpecContext callback. Pre-existing (fails identically on base); found independently by both reviewers (Claude F2 / Codex F1) and confirmed in both cross-critiques — suggest a tracking issue. - .github/workflows/project-check.yml:112 [minor] — pre-existing, not introduced by this PR — CI unittest excludes every controller package, leaving test-framework bumps uncovered there
The unittest job runs make test, whose package list is 'go list ./... | grep -v controller | grep -v e2etest'. Every controller package — including the tree's heaviest ginkgo/gomega consumers under pkg/controllers/** — is compiled by vet but never executed in unit CI. That is exactly the blind spot that let the two dead suites above rot since 2023, and it means a test-framework bump like this PR lands with its main blast radius uncovered by the unittest job (kind-e2e does exercise the deployed controllers, and is green). The exclusion is documented intent (Makefile comments: controller tests need k8s), so this is a coverage-widening request, not an oversight. Fix sketch: run the bootable suites with envtest assets in CI, or at minimum a go test -run=NONE compile+BeforeSuite smoke over ./pkg/controllers/.... Found independently by both reviewers (Claude F3 / Codex F3) and confirmed in both cross-critiques; both reviewers closed the gap locally with envtest and found only the two pre-existing failures. Not blocking this PR. - pkg/gomegacontract/gomega_semantics_test.go:36 [nit] — pre-existing, not introduced by this PR — Optionally adopt the matcher-semantics contract tests upstream
The Claude verification branch carries a small contract suite pinning the post-1.44 matcher semantics (all 7 subtests fail on gomega 1.38.2 and pass on 1.44.0), and the Codex branch carries an equivalent delta harness that pins the intended #925 signed/unsigned semantics while passing fluid-pattern contracts on both versions. If you ever want a guard against accidental gomega downgrades or future matcher regressions, either is ready to lift as-is; otherwise ignore.
Verified review delta
- F-ALLUXIO-SUITE-BROKEN: open (preexisting)
- F-DATAPROCESS-SUITE-BROKEN: open (preexisting)
- F-CONTROLLER-CI-BLINDSPOT: open (preexisting)
- O-GOMEGA-CONTRACT-TESTS: open (unknown)
Code: clear. CI: success; attribution: baseline. Required CI checks still apply.
|
@dependabot rebase |
Bumps [github.com/onsi/gomega](https://github.com/onsi/gomega) from 1.38.2 to 1.44.0. - [Release notes](https://github.com/onsi/gomega/releases) - [Changelog](https://github.com/onsi/gomega/blob/master/CHANGELOG.md) - [Commits](onsi/gomega@v1.38.2...v1.44.0) --- updated-dependencies: - dependency-name: github.com/onsi/gomega dependency-version: 1.44.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com>
b4c8873 to
07e6b9e
Compare
|
cheyang
left a comment
There was a problem hiding this comment.
Re-checked after the rebase onto #6230: the delta is now only the gomega 1.38.2 -> 1.44.0 pin (the go.yaml.in/yaml/v3 3.0.5 bump already landed with #6230), and the vendored gomega tree is byte-identical to the previously reviewed head b4c8873. Full CI, including unittest and both e2e matrices, is green on this head.



Bumps github.com/onsi/gomega from 1.38.2 to 1.44.0.
Release notes
Sourced from github.com/onsi/gomega's releases.
... (truncated)
Changelog
Sourced from github.com/onsi/gomega's changelog.
... (truncated)
Commits
c933817v1.44.037fa900v1.44.0 (full)509f2b0changelog: entries for Build docker image #925-#9342565350fix: MatchXML compares namespace declarations by URI, ignoring the prefix630fe12fix: MatchJSON only compares integers beyond 2^53 exactlyc0dbd89fix: MatchXML ignores namespace prefixes and declarations2773796fix: MatchYAML compares every document in a multi-document streamaf1b777fix: HaveExactElements reports missing/extra elements starting at index 08ef1aa7fix: MatchJSON compares numbers exactly9d619a5fix: MatchJSON reports numbers that do not fit in a float64