SQLStore: Fix migrator locking test for SQLite (#45523) (#45530)

* SQLStore: Fix migrator locking test for SQLite

(cherry picked from commit 17dee4700c)

Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com>
This commit is contained in:
Grot (@grafanabot)
2022-02-18 10:03:14 +02:00
committed by GitHub
co-authored by Sofia Papagiannaki
parent f1fe8a870b
commit 0743f84f50
@@ -65,7 +65,7 @@ func TestMigrationLock(t *testing.T) {
t.Skip()
}
testDB := getTestDB(dbType)
testDB := getTestDB(t, dbType)
x, err := xorm.NewEngine(testDB.DriverName, testDB.ConnStr)
require.NoError(t, err)
@@ -154,7 +154,7 @@ func TestMigrationLock(t *testing.T) {
func TestMigratorLocking(t *testing.T) {
dbType := getDBType()
testDB := getTestDB(dbType)
testDB := getTestDB(t, dbType)
x, err := xorm.NewEngine(testDB.DriverName, testDB.ConnStr)
require.NoError(t, err)
@@ -172,7 +172,7 @@ func TestMigratorLocking(t *testing.T) {
i := i // capture i variable
t.Run(fmt.Sprintf("run migration %d", i), func(t *testing.T) {
t.Parallel()
err = mg.Start(true, 0)
err := mg.Start(true, 0)
if err != nil {
if errors.Is(err, ErrMigratorIsLocked) {
atomic.AddInt64(&errorNum, 1)
@@ -191,7 +191,7 @@ func TestDatabaseLocking(t *testing.T) {
t.Skip()
}
testDB := getTestDB(dbType)
testDB := getTestDB(t, dbType)
x, err := xorm.NewEngine(testDB.DriverName, testDB.ConnStr)
require.NoError(t, err)
@@ -281,14 +281,24 @@ func getDBType() string {
return dbType
}
func getTestDB(dbType string) sqlutil.TestDB {
func getTestDB(t *testing.T, dbType string) sqlutil.TestDB {
switch dbType {
case "mysql":
return sqlutil.MySQLTestDB()
case "postgres":
return sqlutil.PostgresTestDB()
default:
return sqlutil.SQLite3TestDB()
f, err := os.CreateTemp(".", "grafana-test-db-")
require.NoError(t, err)
t.Cleanup(func() {
err := os.Remove(f.Name())
require.NoError(t, err)
})
return sqlutil.TestDB{
DriverName: "sqlite3",
ConnStr: f.Name(),
}
}
}