Skip to content

Commit a3292ff

Browse files
committed
Fix flickering test
1 parent 1c13a54 commit a3292ff

1 file changed

Lines changed: 6 additions & 4 deletions

File tree

pgconn/pgconn_test.go

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2200,12 +2200,11 @@ func TestConnCopyFromConnectionTerminated(t *testing.T) {
22002200

22012201
closerConn, err := pgconn.Connect(ctx, os.Getenv("PGX_TEST_DATABASE"))
22022202
require.NoError(t, err)
2203+
defer closeConn(t, closerConn)
2204+
errChan := make(chan error, 1)
22032205
time.AfterFunc(500*time.Millisecond, func() {
2204-
// defer inside of AfterFunc instead of outer test function because outer function can finish while Read is still in
2205-
// progress which could cause closerConn to be closed too soon.
2206-
defer closeConn(t, closerConn)
22072206
err := closerConn.ExecParams(ctx, "select pg_terminate_backend($1)", [][]byte{[]byte(fmt.Sprintf("%d", pgConn.PID()))}, nil, nil, nil).Read().Err
2208-
require.NoError(t, err)
2207+
errChan <- err
22092208
})
22102209

22112210
_, err = pgConn.Exec(ctx, `create temporary table foo(
@@ -2238,6 +2237,9 @@ func TestConnCopyFromConnectionTerminated(t *testing.T) {
22382237
case <-time.After(5 * time.Second):
22392238
t.Fatal("Connection cleanup exceeded maximum time")
22402239
}
2240+
2241+
err = <-errChan
2242+
require.NoError(t, err)
22412243
}
22422244

22432245
func TestConnCopyFromGzipReader(t *testing.T) {

0 commit comments

Comments
 (0)