blob: dadeb6f9fc9be1bc33e85d680b0b635d51294671 [file]
// Copyright 2013 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
package http_test
import (
"io"
"log"
"net/http"
"os"
"testing"
"time"
)
var quietLog = log.New(io.Discard, "", 0)
func TestMain(m *testing.M) {
*http.MaxWriteWaitBeforeConnReuse = 60 * time.Minute
os.Exit(m.Run())
}
// waitCondition waits for fn to return true,
// checking immediately and then at exponentially increasing intervals.
func waitCondition(t testing.TB, delay time.Duration, fn func(time.Duration) bool) {
t.Helper()
start := time.Now()
var since time.Duration
for !fn(since) {
time.Sleep(delay)
delay = 2*delay - (delay / 2) // 1.5x, rounded up
since = time.Since(start)
}
}