From fa8b79f77ad1d7206b711413bce55f7779062a5f Mon Sep 17 00:00:00 2001 From: Viktor Alenkov Date: Tue, 18 Feb 2025 06:58:55 +0300 Subject: [PATCH] Fixed not closing the database after completing tests --- create.go | 2 +- database/store_test.go | 2 ++ goose_embed_test.go | 1 + provider_options_test.go | 1 + provider_run_test.go | 6 ++++++ provider_test.go | 1 + tests/gomigrations/error/gomigrations_error_test.go | 1 + tests/gomigrations/success/gomigrations_success_test.go | 1 + 8 files changed, 14 insertions(+), 1 deletion(-) diff --git a/create.go b/create.go index f9721a434..eb39c5686 100644 --- a/create.go +++ b/create.go @@ -25,7 +25,7 @@ func SetSequential(s bool) { } // Create writes a new blank migration file. -func CreateWithTemplate(db *sql.DB, dir string, tmpl *template.Template, name, migrationType string) error { +func CreateWithTemplate(_ *sql.DB, dir string, tmpl *template.Template, name, migrationType string) error { version := time.Now().UTC().Format(timestampFormat) if sequential { diff --git a/database/store_test.go b/database/store_test.go index 7dd6c1b02..af851a534 100644 --- a/database/store_test.go +++ b/database/store_test.go @@ -34,6 +34,7 @@ func TestDialectStore(t *testing.T) { t.Run("sqlite3", func(t *testing.T) { db, err := sql.Open("sqlite", ":memory:") require.NoError(t, err) + defer db.Close() testStore(context.Background(), t, database.DialectSQLite3, db, func(t *testing.T, err error) { t.Helper() var sqliteErr *sqlite.Error @@ -47,6 +48,7 @@ func TestDialectStore(t *testing.T) { dir := t.TempDir() db, err := sql.Open("sqlite", filepath.Join(dir, "sql_embed.db")) require.NoError(t, err) + defer db.Close() store, err := database.NewStore(database.DialectSQLite3, "foo") require.NoError(t, err) err = store.CreateVersionTable(context.Background(), db) diff --git a/goose_embed_test.go b/goose_embed_test.go index bb39694ba..ef2179c57 100644 --- a/goose_embed_test.go +++ b/goose_embed_test.go @@ -21,6 +21,7 @@ func TestEmbeddedMigrations(t *testing.T) { // not using t.Parallel here to avoid races db, err := sql.Open("sqlite", filepath.Join(dir, "sql_embed.db")) require.NoError(t, err) + defer db.Close() db.SetMaxOpenConns(1) diff --git a/provider_options_test.go b/provider_options_test.go index f22d3757f..54e526f3c 100644 --- a/provider_options_test.go +++ b/provider_options_test.go @@ -16,6 +16,7 @@ func TestNewProvider(t *testing.T) { dir := t.TempDir() db, err := sql.Open("sqlite", filepath.Join(dir, "sql_embed.db")) require.NoError(t, err) + defer db.Close() fsys := fstest.MapFS{ "1_foo.sql": {Data: []byte(migration1)}, "2_bar.sql": {Data: []byte(migration2)}, diff --git a/provider_run_test.go b/provider_run_test.go index aedfa7fa9..de4f3f715 100644 --- a/provider_run_test.go +++ b/provider_run_test.go @@ -473,6 +473,7 @@ func TestNoVersioning(t *testing.T) { dbName := fmt.Sprintf("test_%s.db", randomAlphaNumeric(8)) db, err := sql.Open("sqlite", filepath.Join(t.TempDir(), dbName)) require.NoError(t, err) + defer db.Close() fsys := os.DirFS(filepath.Join("testdata", "no-versioning", "migrations")) const ( // Total owners created by the seed files. @@ -690,6 +691,7 @@ func TestSQLiteSharedCache(t *testing.T) { t.Run("shared_cache", func(t *testing.T) { db, err := sql.Open("sqlite", "file::memory:?cache=shared") require.NoError(t, err) + defer db.Close() fsys := fstest.MapFS{"00001_a.sql": newMapFile(`-- +goose Up`)} p, err := goose.NewProvider(goose.DialectSQLite3, db, fsys, goose.WithGoMigrations( @@ -703,6 +705,7 @@ func TestSQLiteSharedCache(t *testing.T) { t.Run("no_shared_cache", func(t *testing.T) { db, err := sql.Open("sqlite", "file::memory:") require.NoError(t, err) + defer db.Close() fsys := fstest.MapFS{"00001_a.sql": newMapFile(`-- +goose Up`)} p, err := goose.NewProvider(goose.DialectSQLite3, db, fsys, goose.WithGoMigrations( @@ -1040,6 +1043,9 @@ func newDB(t *testing.T) *sql.DB { dbName := fmt.Sprintf("test_%s.db", randomAlphaNumeric(8)) db, err := sql.Open("sqlite", filepath.Join(t.TempDir(), dbName)) require.NoError(t, err) + t.Cleanup(func() { + _ = db.Close() + }) return db } diff --git a/provider_test.go b/provider_test.go index 283347eab..e786ee66c 100644 --- a/provider_test.go +++ b/provider_test.go @@ -16,6 +16,7 @@ func TestProvider(t *testing.T) { dir := t.TempDir() db, err := sql.Open("sqlite", filepath.Join(dir, "sql_embed.db")) require.NoError(t, err) + defer db.Close() t.Run("empty", func(t *testing.T) { _, err := goose.NewProvider(goose.DialectSQLite3, db, fstest.MapFS{}) require.Error(t, err) diff --git a/tests/gomigrations/error/gomigrations_error_test.go b/tests/gomigrations/error/gomigrations_error_test.go index 7cfaeff95..a92931af6 100644 --- a/tests/gomigrations/error/gomigrations_error_test.go +++ b/tests/gomigrations/error/gomigrations_error_test.go @@ -15,6 +15,7 @@ func TestGoMigrationByOne(t *testing.T) { tempDir := t.TempDir() db, err := sql.Open("sqlite", filepath.Join(tempDir, "test.db")) require.NoError(t, err) + defer db.Close() err = goose.SetDialect(string(goose.DialectSQLite3)) require.NoError(t, err) // Create goose table. diff --git a/tests/gomigrations/success/gomigrations_success_test.go b/tests/gomigrations/success/gomigrations_success_test.go index 74d4242eb..d8cd32747 100644 --- a/tests/gomigrations/success/gomigrations_success_test.go +++ b/tests/gomigrations/success/gomigrations_success_test.go @@ -18,6 +18,7 @@ func TestGoMigrationByOne(t *testing.T) { require.NoError(t, goose.SetDialect("sqlite3")) db, err := sql.Open("sqlite", ":memory:") require.NoError(t, err) + defer db.Close() dir := "testdata" files, err := filepath.Glob(dir + "/*.go") require.NoError(t, err)