aboutsummaryrefslogtreecommitdiff
path: root/src/database
diff options
context:
space:
mode:
authorEmmanuel T Odeke <emmanuel@orijtech.com>2020-05-29 17:19:42 -0700
committerEmmanuel Odeke <emmanuel@orijtech.com>2020-10-31 20:30:19 +0000
commit715d4e2e014fa54f527ee109f26a31f941196381 (patch)
treefda8b9100ce3aec5ae57f79a0e5b6e08cdf409b3 /src/database
parent9933f6655589b1da9da7f61f04f74d921a2d67bf (diff)
downloadgo-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.go20
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