From e86730289bc2eb2e5e3594333fb42a3efe3cd4bc Mon Sep 17 00:00:00 2001 From: forgejo-backport-action Date: Wed, 16 Jul 2025 01:05:41 +0200 Subject: [PATCH] [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 Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/8517 Reviewed-by: Gusted Co-authored-by: forgejo-backport-action Co-committed-by: forgejo-backport-action --- tests/integration/db_collation_test.go | 28 +++++++++++++++++++------- 1 file changed, 21 insertions(+), 7 deletions(-) diff --git a/tests/integration/db_collation_test.go b/tests/integration/db_collation_test.go index 6bfe656b9b..1828071596 100644 --- a/tests/integration/db_collation_test.go +++ b/tests/integration/db_collation_test.go @@ -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) })