mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2025-07-24 20:19:39 +02:00
chore: use eventually for mysql collation test (#8301)
- Regression of removing `time.Sleep(5 * time.Second)` in forgejo/forgejo#7917.
- Ref: https://codeberg.org/forgejo/forgejo/issues/8221#issuecomment-5532035
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/8301
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
Co-authored-by: Gusted <postmaster@gusted.xyz>
Co-committed-by: Gusted <postmaster@gusted.xyz>
(cherry picked from commit a2e7446fe7
)
This commit is contained in:
parent
3564f5a876
commit
5145c89ee6
1 changed files with 21 additions and 7 deletions
|
@ -98,9 +98,13 @@ func TestDatabaseCollation(t *testing.T) {
|
||||||
require.NoError(t, db.ConvertDatabaseTable())
|
require.NoError(t, db.ConvertDatabaseTable())
|
||||||
time.Sleep(5 * time.Second)
|
time.Sleep(5 * time.Second)
|
||||||
|
|
||||||
r, err := db.CheckCollations(x)
|
var r *db.CheckCollationsResult
|
||||||
|
assert.Eventually(t, func() bool {
|
||||||
|
r, err = db.CheckCollations(x)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.Equal(t, "utf8mb4_bin", r.DatabaseCollation)
|
|
||||||
|
return r.DatabaseCollation == "utf8mb4_bin"
|
||||||
|
}, time.Second*30, time.Second)
|
||||||
assert.True(t, r.CollationEquals(r.ExpectedCollation, r.DatabaseCollation))
|
assert.True(t, r.CollationEquals(r.ExpectedCollation, r.DatabaseCollation))
|
||||||
assert.Empty(t, r.InconsistentCollationColumns)
|
assert.Empty(t, r.InconsistentCollationColumns)
|
||||||
|
|
||||||
|
@ -119,9 +123,13 @@ func TestDatabaseCollation(t *testing.T) {
|
||||||
require.NoError(t, db.ConvertDatabaseTable())
|
require.NoError(t, db.ConvertDatabaseTable())
|
||||||
time.Sleep(5 * time.Second)
|
time.Sleep(5 * time.Second)
|
||||||
|
|
||||||
r, err := db.CheckCollations(x)
|
var r *db.CheckCollationsResult
|
||||||
|
assert.Eventually(t, func() bool {
|
||||||
|
r, err = db.CheckCollations(x)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.Equal(t, "utf8mb4_general_ci", r.DatabaseCollation)
|
|
||||||
|
return r.DatabaseCollation == "utf8mb4_general_ci"
|
||||||
|
}, time.Second*30, time.Second)
|
||||||
assert.True(t, r.CollationEquals(r.ExpectedCollation, r.DatabaseCollation))
|
assert.True(t, r.CollationEquals(r.ExpectedCollation, r.DatabaseCollation))
|
||||||
assert.Empty(t, r.InconsistentCollationColumns)
|
assert.Empty(t, r.InconsistentCollationColumns)
|
||||||
|
|
||||||
|
@ -140,9 +148,15 @@ func TestDatabaseCollation(t *testing.T) {
|
||||||
require.NoError(t, db.ConvertDatabaseTable())
|
require.NoError(t, db.ConvertDatabaseTable())
|
||||||
time.Sleep(5 * time.Second)
|
time.Sleep(5 * time.Second)
|
||||||
|
|
||||||
|
var r *db.CheckCollationsResult
|
||||||
r, err := db.CheckCollations(x)
|
r, err := db.CheckCollations(x)
|
||||||
require.NoError(t, err)
|
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.True(t, r.CollationEquals(r.ExpectedCollation, r.DatabaseCollation))
|
||||||
assert.Empty(t, r.InconsistentCollationColumns)
|
assert.Empty(t, r.InconsistentCollationColumns)
|
||||||
})
|
})
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue