2
0

Run pool tests parallel

This commit is contained in:
Jack Christensen
2019-04-25 15:41:17 -05:00
parent d93de3fdc7
commit 46a92b5cd4
4 changed files with 47 additions and 10 deletions
+2 -10
View File
@@ -23,17 +23,9 @@ type execer interface {
}
func testExec(t *testing.T, db execer) {
results, err := db.Exec(context.Background(), "create table foo(id integer primary key);")
results, err := db.Exec(context.Background(), "set time zone 'America/Chicago'")
require.NoError(t, err)
assert.Equal(t, "CREATE TABLE", string(results))
results, err = db.Exec(context.Background(), "insert into foo(id) values($1)", 1)
require.NoError(t, err)
assert.Equal(t, "INSERT 0 1", string(results))
results, err = db.Exec(context.Background(), "drop table foo;")
require.NoError(t, err)
assert.Equal(t, "DROP TABLE", string(results))
assert.EqualValues(t, "SET", results)
}
type queryer interface {
+10
View File
@@ -10,6 +10,8 @@ import (
)
func TestConnExec(t *testing.T) {
t.Parallel()
pool, err := pool.Connect(context.Background(), os.Getenv("PGX_TEST_DATABASE"))
require.NoError(t, err)
defer pool.Close()
@@ -22,6 +24,8 @@ func TestConnExec(t *testing.T) {
}
func TestConnQuery(t *testing.T) {
t.Parallel()
pool, err := pool.Connect(context.Background(), os.Getenv("PGX_TEST_DATABASE"))
require.NoError(t, err)
defer pool.Close()
@@ -34,6 +38,8 @@ func TestConnQuery(t *testing.T) {
}
func TestConnQueryRow(t *testing.T) {
t.Parallel()
pool, err := pool.Connect(context.Background(), os.Getenv("PGX_TEST_DATABASE"))
require.NoError(t, err)
defer pool.Close()
@@ -46,6 +52,8 @@ func TestConnQueryRow(t *testing.T) {
}
func TestConnSendBatch(t *testing.T) {
t.Parallel()
pool, err := pool.Connect(context.Background(), os.Getenv("PGX_TEST_DATABASE"))
require.NoError(t, err)
defer pool.Close()
@@ -58,6 +66,8 @@ func TestConnSendBatch(t *testing.T) {
}
func TestConnCopyFrom(t *testing.T) {
t.Parallel()
pool, err := pool.Connect(context.Background(), os.Getenv("PGX_TEST_DATABASE"))
require.NoError(t, err)
defer pool.Close()
+25
View File
@@ -13,12 +13,16 @@ import (
)
func TestConnect(t *testing.T) {
t.Parallel()
pool, err := pool.Connect(context.Background(), os.Getenv("PGX_TEST_DATABASE"))
require.NoError(t, err)
pool.Close()
}
func TestParseConfigExtractsPoolArguments(t *testing.T) {
t.Parallel()
config, err := pool.ParseConfig("pool_max_conns=42")
assert.NoError(t, err)
assert.EqualValues(t, 42, config.MaxConns)
@@ -26,6 +30,8 @@ func TestParseConfigExtractsPoolArguments(t *testing.T) {
}
func TestConnectCancel(t *testing.T) {
t.Parallel()
ctx, cancel := context.WithCancel(context.Background())
cancel()
pool, err := pool.Connect(ctx, os.Getenv("PGX_TEST_DATABASE"))
@@ -34,6 +40,8 @@ func TestConnectCancel(t *testing.T) {
}
func TestPoolAcquireAndConnRelease(t *testing.T) {
t.Parallel()
pool, err := pool.Connect(context.Background(), os.Getenv("PGX_TEST_DATABASE"))
require.NoError(t, err)
defer pool.Close()
@@ -44,6 +52,8 @@ func TestPoolAcquireAndConnRelease(t *testing.T) {
}
func TestPoolExec(t *testing.T) {
t.Parallel()
pool, err := pool.Connect(context.Background(), os.Getenv("PGX_TEST_DATABASE"))
require.NoError(t, err)
defer pool.Close()
@@ -52,6 +62,8 @@ func TestPoolExec(t *testing.T) {
}
func TestPoolQuery(t *testing.T) {
t.Parallel()
pool, err := pool.Connect(context.Background(), os.Getenv("PGX_TEST_DATABASE"))
require.NoError(t, err)
defer pool.Close()
@@ -79,6 +91,8 @@ func TestPoolQuery(t *testing.T) {
}
func TestPoolQueryRow(t *testing.T) {
t.Parallel()
pool, err := pool.Connect(context.Background(), os.Getenv("PGX_TEST_DATABASE"))
require.NoError(t, err)
defer pool.Close()
@@ -92,6 +106,8 @@ func TestPoolQueryRow(t *testing.T) {
}
func TestPoolSendBatch(t *testing.T) {
t.Parallel()
pool, err := pool.Connect(context.Background(), os.Getenv("PGX_TEST_DATABASE"))
require.NoError(t, err)
defer pool.Close()
@@ -107,6 +123,7 @@ func TestPoolSendBatch(t *testing.T) {
func TestPoolCopyFrom(t *testing.T) {
// Not able to use testCopyFrom because it relies on temporary tables and the pool may run subsequent calls under
// different connections.
t.Parallel()
ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second)
defer cancel()
@@ -150,6 +167,8 @@ func TestPoolCopyFrom(t *testing.T) {
}
func TestConnReleaseRollsBackFailedTransaction(t *testing.T) {
t.Parallel()
ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second)
defer cancel()
pool, err := pool.Connect(ctx, os.Getenv("PGX_TEST_DATABASE"))
@@ -186,6 +205,8 @@ func TestConnReleaseRollsBackFailedTransaction(t *testing.T) {
}
func TestConnReleaseRollsBackInTransaction(t *testing.T) {
t.Parallel()
ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second)
defer cancel()
pool, err := pool.Connect(ctx, os.Getenv("PGX_TEST_DATABASE"))
@@ -217,6 +238,8 @@ func TestConnReleaseRollsBackInTransaction(t *testing.T) {
}
func TestConnReleaseDestroysClosedConn(t *testing.T) {
t.Parallel()
ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second)
defer cancel()
pool, err := pool.Connect(ctx, os.Getenv("PGX_TEST_DATABASE"))
@@ -237,6 +260,8 @@ func TestConnReleaseDestroysClosedConn(t *testing.T) {
}
func TestConnPoolQueryConcurrentLoad(t *testing.T) {
t.Parallel()
pool, err := pool.Connect(context.Background(), os.Getenv("PGX_TEST_DATABASE"))
require.NoError(t, err)
defer pool.Close()
+10
View File
@@ -10,6 +10,8 @@ import (
)
func TestTxExec(t *testing.T) {
t.Parallel()
pool, err := pool.Connect(context.Background(), os.Getenv("PGX_TEST_DATABASE"))
require.NoError(t, err)
defer pool.Close()
@@ -22,6 +24,8 @@ func TestTxExec(t *testing.T) {
}
func TestTxQuery(t *testing.T) {
t.Parallel()
pool, err := pool.Connect(context.Background(), os.Getenv("PGX_TEST_DATABASE"))
require.NoError(t, err)
defer pool.Close()
@@ -34,6 +38,8 @@ func TestTxQuery(t *testing.T) {
}
func TestTxQueryRow(t *testing.T) {
t.Parallel()
pool, err := pool.Connect(context.Background(), os.Getenv("PGX_TEST_DATABASE"))
require.NoError(t, err)
defer pool.Close()
@@ -46,6 +52,8 @@ func TestTxQueryRow(t *testing.T) {
}
func TestTxSendBatch(t *testing.T) {
t.Parallel()
pool, err := pool.Connect(context.Background(), os.Getenv("PGX_TEST_DATABASE"))
require.NoError(t, err)
defer pool.Close()
@@ -58,6 +66,8 @@ func TestTxSendBatch(t *testing.T) {
}
func TestTxCopyFrom(t *testing.T) {
t.Parallel()
pool, err := pool.Connect(context.Background(), os.Getenv("PGX_TEST_DATABASE"))
require.NoError(t, err)
defer pool.Close()