From a3164a27d4d30699c39add5b8d6a8eef3c06837a Mon Sep 17 00:00:00 2001 From: Kegan Dougal Date: Fri, 8 Apr 2022 18:21:00 +0100 Subject: [PATCH] dupe db is not an error --- test/db.go | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/test/db.go b/test/db.go index 35118aee1..6412feaa6 100644 --- a/test/db.go +++ b/test/db.go @@ -23,6 +23,8 @@ import ( "os/exec" "os/user" "testing" + + "github.com/lib/pq" ) type DBType int @@ -54,7 +56,14 @@ func createRemoteDB(t *testing.T, dbName, user, connStr string) { } _, err = db.Exec(fmt.Sprintf(`CREATE DATABASE %s;`, dbName)) if err != nil { - t.Fatalf("failed to CREATE DATABASE: %s", err) + pqErr, ok := err.(*pq.Error) + if !ok { + t.Fatalf("failed to CREATE DATABASE: %s", err) + } + // we ignore duplicate database error as we expect this + if pqErr.Code != "42P04" { + t.Fatalf("failed to CREATE DATABASE with code=%s msg=%s", pqErr.Code, pqErr.Message) + } } _, err = db.Exec(fmt.Sprintf(`GRANT ALL PRIVILEGES ON DATABASE %s TO %s`, dbName, user)) if err != nil {