diff options
author | Emmanuel T Odeke <emmanuel@orijtech.com> | 2020-05-29 17:19:42 -0700 |
---|---|---|
committer | Emmanuel Odeke <emmanuel@orijtech.com> | 2020-10-31 20:30:19 +0000 |
commit | 715d4e2e014fa54f527ee109f26a31f941196381 (patch) | |
tree | fda8b9100ce3aec5ae57f79a0e5b6e08cdf409b3 /src/database | |
parent | 9933f6655589b1da9da7f61f04f74d921a2d67bf (diff) | |
download | go-715d4e2e014fa54f527ee109f26a31f941196381.tar.gz go-715d4e2e014fa54f527ee109f26a31f941196381.zip |
database/sql, runtime: correct *.Fatal inside goroutines in tests
Found by go vet pass "testinggoroutines".
Change-Id: I6360af2079617b7aa62dcb9bd7254578ca5d1c1d
Reviewed-on: https://go-review.googlesource.com/c/go/+/235527
Run-TryBot: Emmanuel Odeke <emmanuel@orijtech.com>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
Trust: Emmanuel Odeke <emmanuel@orijtech.com>
Diffstat (limited to 'src/database')
-rw-r--r-- | src/database/sql/sql_test.go | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/src/database/sql/sql_test.go b/src/database/sql/sql_test.go index 4b02657b7e..c968852ade 100644 --- a/src/database/sql/sql_test.go +++ b/src/database/sql/sql_test.go @@ -2888,20 +2888,26 @@ func TestConnExpiresFreshOutOfPool(t *testing.T) { waitingForConn := make(chan struct{}) go func() { + defer close(afterPutConn) + conn, err := db.conn(ctx, alwaysNewConn) - if err != nil { - t.Fatal(err) + if err == nil { + db.putConn(conn, err, false) + } else { + t.Errorf("db.conn: %v", err) } - db.putConn(conn, err, false) - close(afterPutConn) }() go func() { + defer close(waitingForConn) + for { + if t.Failed() { + return + } db.mu.Lock() ct := len(db.connRequests) db.mu.Unlock() if ct > 0 { - close(waitingForConn) return } time.Sleep(10 * time.Millisecond) @@ -2910,6 +2916,10 @@ func TestConnExpiresFreshOutOfPool(t *testing.T) { <-waitingForConn + if t.Failed() { + return + } + offsetMu.Lock() if ec.expired { offset = 11 * time.Second |