1
0
Fork 0
mirror of https://codeberg.org/forgejo/forgejo.git synced 2025-08-06 10:25:22 +02:00

[v11.0/forgejo] chore: use eventually for mysql collation test (#8517)

**Backport:** https://codeberg.org/forgejo/forgejo/pulls/8301

- Regression of removing `time.Sleep(5 * time.Second)` in forgejo/forgejo#7917.
- Ref: https://codeberg.org/forgejo/forgejo/issues/8221#issuecomment-5532035

Co-authored-by: Gusted <postmaster@gusted.xyz>
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/8517
Reviewed-by: Gusted <gusted@noreply.codeberg.org>
Co-authored-by: forgejo-backport-action <forgejo-backport-action@noreply.codeberg.org>
Co-committed-by: forgejo-backport-action <forgejo-backport-action@noreply.codeberg.org>
This commit is contained in:
forgejo-backport-action 2025-07-16 01:05:41 +02:00 committed by Gusted
parent 3564f5a876
commit e86730289b

View file

@ -98,9 +98,13 @@ func TestDatabaseCollation(t *testing.T) {
require.NoError(t, db.ConvertDatabaseTable())
time.Sleep(5 * time.Second)
r, err := db.CheckCollations(x)
require.NoError(t, err)
assert.Equal(t, "utf8mb4_bin", r.DatabaseCollation)
var r *db.CheckCollationsResult
assert.Eventually(t, func() bool {
r, err = db.CheckCollations(x)
require.NoError(t, err)
return r.DatabaseCollation == "utf8mb4_bin"
}, time.Second*30, time.Second)
assert.True(t, r.CollationEquals(r.ExpectedCollation, r.DatabaseCollation))
assert.Empty(t, r.InconsistentCollationColumns)
@ -119,9 +123,13 @@ func TestDatabaseCollation(t *testing.T) {
require.NoError(t, db.ConvertDatabaseTable())
time.Sleep(5 * time.Second)
r, err := db.CheckCollations(x)
require.NoError(t, err)
assert.Equal(t, "utf8mb4_general_ci", r.DatabaseCollation)
var r *db.CheckCollationsResult
assert.Eventually(t, func() bool {
r, err = db.CheckCollations(x)
require.NoError(t, err)
return r.DatabaseCollation == "utf8mb4_general_ci"
}, time.Second*30, time.Second)
assert.True(t, r.CollationEquals(r.ExpectedCollation, r.DatabaseCollation))
assert.Empty(t, r.InconsistentCollationColumns)
@ -140,9 +148,15 @@ func TestDatabaseCollation(t *testing.T) {
require.NoError(t, db.ConvertDatabaseTable())
time.Sleep(5 * time.Second)
var r *db.CheckCollationsResult
r, err := db.CheckCollations(x)
require.NoError(t, err)
assert.True(t, r.IsCollationCaseSensitive(r.DatabaseCollation))
assert.Eventually(t, func() bool {
r, err = db.CheckCollations(x)
require.NoError(t, err)
return r.IsCollationCaseSensitive(r.DatabaseCollation)
}, time.Second*30, time.Second)
assert.True(t, r.CollationEquals(r.ExpectedCollation, r.DatabaseCollation))
assert.Empty(t, r.InconsistentCollationColumns)
})