chore: fix transient error in TestPatchStatus tests (take 2) #9241

Merged
earl-warren merged 1 commit from earl-warren/forgejo:wip-patch-status into forgejo 2025-09-10 20:48:55 +02:00
Contributor

AssertExistsAndLoadBean has a side effect on its argument. When retrying in a loop, it must use the non modified argument, otherwise it is bound to return the same row as the first failure and render the retry useless.

Refs forgejo/forgejo#9236


Without this fix it fails 100% of the time locally on testify v1.11 because it runs the test before waiting https://github.com/stretchr/testify/pull/1427

AssertExistsAndLoadBean has a side effect on its argument. When retrying in a loop, it must use the non modified argument, otherwise it is bound to return the same row as the first failure and render the retry useless. Refs forgejo/forgejo#9236 --- Without this fix it fails 100% of the time locally on testify v1.11 because it runs the test before waiting https://github.com/stretchr/testify/pull/1427
chore: fix transient error in TestPatchStatus tests (take 2)
All checks were successful
testing / backend-checks (pull_request) Successful in 3m33s
issue-labels / cascade (pull_request_target) Has been skipped
testing / test-remote-cacher (valkey) (pull_request) Has been skipped
testing / test-remote-cacher (garnet) (pull_request) Has been skipped
testing / test-remote-cacher (redict) (pull_request) Has been skipped
testing / frontend-checks (pull_request) Successful in 1m9s
testing / test-unit (pull_request) Successful in 6m34s
requirements / merge-conditions (pull_request) Successful in 1s
issue-labels / release-notes (pull_request_target) Has been skipped
testing / test-remote-cacher (redis) (pull_request) Successful in 1m46s
testing / test-e2e (pull_request) Successful in 19m15s
testing / test-mysql (pull_request) Successful in 20m46s
testing / test-sqlite (pull_request) Successful in 25m5s
testing / test-pgsql (pull_request) Successful in 29m33s
testing / security-check (pull_request) Successful in 41s
milestone / set (pull_request_target) Successful in 3s
issue-labels / backporting (pull_request_target) Successful in 39s
529383da57
AssertExistsAndLoadBean has a side effect on its argument. When
retrying on a loop, it must use the non modified argument, otherwise
it is bound to return the same row as the first failure and render the
retry useless.

Refs forgejo/forgejo#9236
Gusted approved these changes 2025-09-10 20:14:23 +02:00
earl-warren scheduled this pull request to auto merge when all checks succeed 2025-09-10 20:18:17 +02:00
Author
Contributor

I checked all other instances of Eventually( for a similar problem and did not find any.

I checked all other instances of `Eventually(` for a similar problem and did not find any.
viceice approved these changes 2025-09-10 20:25:13 +02:00
earl-warren deleted branch wip-patch-status 2025-09-10 20:48:58 +02:00
jasewolf referenced this pull request from a commit 2025-09-22 01:47:07 +02:00
Sign in to join this conversation.
No reviewers
No labels
arch
riscv64
backport/v1.19
backport/v1.20
backport/v1.21/forgejo
backport/v10.0/forgejo
backport/v11.0/forgejo
backport/v12.0/forgejo
backport/v13.0/forgejo
backport/v14.0/forgejo
backport/v15.0/forgejo
backport/v7.0/forgejo
backport/v8.0/forgejo
backport/v9.0/forgejo
breaking
bug
bug
confirmed
bug
duplicate
bug
needs-more-info
bug
new-report
bug
reported-upstream
code/actions
code/api
code/auth
code/auth/faidp
code/auth/farp
code/email
code/federation
code/git
code/migrations
code/packages
code/wiki
database
MySQL
database
PostgreSQL
database
SQLite
dependency-upgrade
dependency
certmagic
dependency
chart.js
dependency
Chi
dependency
Chroma
dependency
citation.js
dependency
codespell
dependency
css-loader
dependency
devcontainers
dependency
dropzone
dependency
editorconfig-checker
dependency
elasticsearch
dependency
enmime
dependency
F3
dependency
ForgeFed
dependency
garage
dependency
Git
dependency
git-backporting
dependency
Gitea
dependency
gitignore
dependency
go-ap
dependency
go-enry
dependency
go-gitlab
dependency
Go-org
dependency
go-rpmutils
dependency
go-sql-driver mysql
dependency
go-swagger
dependency
go-version
dependency
go-webauthn
dependency
gocron
dependency
Golang
dependency
goldmark
dependency
goquery
dependency
Goth
dependency
grpc-go
dependency
happy-dom
dependency
Helm
dependency
image-spec
dependency
jsonschema
dependency
KaTeX
dependency
lint
dependency
MariaDB
dependency
Mermaid
dependency
minio-go
dependency
misspell
dependency
Monaco
dependency
PDFobject
dependency
playwright
dependency
postcss
dependency
postcss-plugins
dependency
pprof
dependency
prometheus client_golang
dependency
protobuf
dependency
relative-time-element
dependency
renovate
dependency
reply
dependency
ssh
dependency
swagger-ui
dependency
tailwind
dependency
temporal-polyfill
dependency
terminal-to-html
dependency
tests-only
dependency
text-expander-element
dependency
urfave
dependency
vfsgen
dependency
vite
dependency
Woodpecker CI
dependency
x tools
dependency
XORM
Discussion
duplicate
enhancement/feature
forgejo/accessibility
forgejo/branding
forgejo/ci
forgejo/commit-graph
forgejo/documentation
forgejo/furnace cleanup
forgejo/i18n
forgejo/interop
forgejo/moderation
forgejo/privacy
forgejo/release
forgejo/scaling
forgejo/security
forgejo/ui
Gain
High
Gain
Nice to have
Gain
Undefined
Gain
Very High
good first issue
i18n/backport-stable
impact
large
impact
medium
impact
small
impact
unknown
Incompatible license
issue
closed
issue
do-not-exist-yet
issue
open
manual test
Manually tested during feature freeze
OS
FreeBSD
OS
Linux
OS
macOS
OS
Windows
problem
QA
regression
release blocker
Release Cycle
Feature Freeze
release-blocker
v7.0
release-blocker
v7.0.1
release-blocker
v7.0.2
release-blocker
v7.0.3
release-blocker
v7.0.4
release-blocker
v8.0.0
release-blocker/v9.0.0
run-all-playwright-tests
run-end-to-end-tests
test
manual
test
needed
test
needs-help
test
not-needed
test
present
untested
User research - time-tracker
valuable code
worth a release-note
User research - Accessibility
User research - Blocked
User research - Community
User research - Config (instance)
User research - Errors
User research - Filters
User research - Future backlog
User research - Git workflow
User research - Labels
User research - Moderation
User research - Needs input
User research - Notifications/Dashboard
User research - Rendering
User research - Repo creation
User research - Repo units
User research - Security
User research - Settings (in-app)
No milestone
No project
No assignees
3 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
forgejo/forgejo!9241
No description provided.