Takes 3% off my all.bash run time.
For #10571.
Change-Id: I8f00f523d6919e87182d35722a669b0b96b8218b
Reviewed-on: https://go-review.googlesource.com/18087
Reviewed-by: Ian Lance Taylor <iant@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Run-TryBot: Russ Cox <rsc@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
"bytes"
"fmt"
"hash"
+ "internal/testenv"
"io"
"io/ioutil"
"sort"
)
func TestOver65kFiles(t *testing.T) {
+ if testing.Short() && testenv.Builder() == "" {
+ t.Skip("skipping in short mode")
+ }
buf := new(bytes.Buffer)
w := NewWriter(buf)
const nFiles = (1 << 16) + 42
import (
"bytes"
"fmt"
+ "internal/testenv"
"io"
"io/ioutil"
"reflect"
}
func TestDeflateInflateString(t *testing.T) {
+ if testing.Short() && testenv.Builder() == "" {
+ t.Skip("skipping in short mode")
+ }
for _, test := range deflateInflateStringTests {
gold, err := ioutil.ReadFile(test.filename)
if err != nil {
t.Fatalf("NewWriter: %v", err)
}
buf := []byte("hello world")
- for i := 0; i < 1024; i++ {
+ n := 1024
+ if testing.Short() {
+ n = 10
+ }
+ for i := 0; i < n; i++ {
w.Write(buf)
}
w.Reset(ioutil.Discard)
package lzw
import (
+ "internal/testenv"
"io"
"io/ioutil"
"os"
)
var filenames = []string{
+ "../testdata/gettysburg.txt",
"../testdata/e.txt",
"../testdata/pi.txt",
}
for _, filename := range filenames {
for _, order := range [...]Order{LSB, MSB} {
// The test data "2.71828 etcetera" is ASCII text requiring at least 6 bits.
- for _, litWidth := range [...]int{6, 7, 8} {
+ for litWidth := 6; litWidth <= 8; litWidth++ {
+ if filename == "../testdata/gettysburg.txt" && litWidth == 6 {
+ continue
+ }
testFile(t, filename, order, litWidth)
}
}
+ if testing.Short() && testenv.Builder() == "" {
+ break
+ }
}
}
--- /dev/null
+ Four score and seven years ago our fathers brought forth on
+this continent, a new nation, conceived in Liberty, and dedicated
+to the proposition that all men are created equal.
+ Now we are engaged in a great Civil War, testing whether that
+nation, or any nation so conceived and so dedicated, can long
+endure.
+ We are met on a great battle-field of that war.
+ We have come to dedicate a portion of that field, as a final
+resting place for those who here gave their lives that that
+nation might live. It is altogether fitting and proper that
+we should do this.
+ But, in a larger sense, we can not dedicate - we can not
+consecrate - we can not hallow - this ground.
+ The brave men, living and dead, who struggled here, have
+consecrated it, far above our poor power to add or detract.
+The world will little note, nor long remember what we say here,
+but it can never forget what they did here.
+ It is for us the living, rather, to be dedicated here to the
+unfinished work which they who fought here have thus far so
+nobly advanced. It is rather for us to be here dedicated to
+the great task remaining before us - that from these honored
+dead we take increased devotion to that cause for which they
+gave the last full measure of devotion -
+ that we here highly resolve that these dead shall not have
+died in vain - that this nation, under God, shall have a new
+birth of freedom - and that government of the people, by the
+people, for the people, shall not perish from this earth.
+
+Abraham Lincoln, November 19, 1863, Gettysburg, Pennsylvania
import (
"bytes"
"fmt"
+ "internal/testenv"
"io"
"io/ioutil"
"os"
)
var filenames = []string{
+ "../testdata/gettysburg.txt",
"../testdata/e.txt",
"../testdata/pi.txt",
}
}
func TestWriterBig(t *testing.T) {
- for _, fn := range filenames {
+ for i, fn := range filenames {
testFileLevelDict(t, fn, DefaultCompression, "")
testFileLevelDict(t, fn, NoCompression, "")
for level := BestSpeed; level <= BestCompression; level++ {
testFileLevelDict(t, fn, level, "")
+ if level >= 1 && testing.Short() && testenv.Builder() == "" {
+ break
+ }
+ }
+ if i == 0 && testing.Short() && testenv.Builder() == "" {
+ break
}
}
}
func TestWriterDict(t *testing.T) {
const dictionary = "0123456789."
- for _, fn := range filenames {
+ for i, fn := range filenames {
testFileLevelDict(t, fn, DefaultCompression, dictionary)
testFileLevelDict(t, fn, NoCompression, dictionary)
for level := BestSpeed; level <= BestCompression; level++ {
testFileLevelDict(t, fn, level, dictionary)
+ if level >= 1 && testing.Short() && testenv.Builder() == "" {
+ break
+ }
+ }
+ if i == 0 && testing.Short() && testenv.Builder() == "" {
+ break
}
}
}
testFileLevelDictReset(t, fn, DefaultCompression, nil)
testFileLevelDictReset(t, fn, NoCompression, []byte(dictionary))
testFileLevelDictReset(t, fn, DefaultCompression, []byte(dictionary))
- if !testing.Short() {
- for level := BestSpeed; level <= BestCompression; level++ {
- testFileLevelDictReset(t, fn, level, nil)
- }
+ if testing.Short() {
+ break
+ }
+ for level := BestSpeed; level <= BestCompression; level++ {
+ testFileLevelDictReset(t, fn, level, nil)
}
}
}
return
}
- nimports := testDir(t, "", time.Now().Add(maxTime)) // installed packages
+ dt := maxTime
+ if testing.Short() && testenv.Builder() == "" {
+ dt = 10 * time.Millisecond
+ }
+ nimports := testDir(t, "", time.Now().Add(dt)) // installed packages
t.Logf("tested %d imports", nimports)
}
func TestStdTest(t *testing.T) {
testenv.MustHaveGoBuild(t)
+ if testing.Short() && testenv.Builder() == "" {
+ t.Skip("skipping in short mode")
+ }
+
// test/recover4.go is only built for Linux and Darwin.
// TODO(gri) Remove once tests consider +build tags (issue 10370).
if runtime.GOOS != "linux" && runtime.GOOS != "darwin" {
func TestStdFixed(t *testing.T) {
testenv.MustHaveGoBuild(t)
+ if testing.Short() && testenv.Builder() == "" {
+ t.Skip("skipping in short mode")
+ }
+
testTestDir(t, filepath.Join(runtime.GOROOT(), "test", "fixedbugs"),
"bug248.go", "bug302.go", "bug369.go", // complex test instructions - ignore
"issue6889.go", // gc-specific test
func walkDirs(t *testing.T, dir string) {
// limit run time for short tests
- if testing.Short() && time.Since(start) >= 750*time.Millisecond {
+ if testing.Short() && time.Since(start) >= 10*time.Millisecond {
return
}
t.Errorf("#%d: failed (sqrt(e) = %s)", i, &sqrt)
}
}
+
+ if testing.Short() && i > 2 {
+ break
+ }
+ }
+
+ if testing.Short() {
+ return
}
// exhaustive test for small values
import (
"errors"
"fmt"
+ "internal/testenv"
"math"
"os"
"runtime"
func TestFloat32(t *testing.T) {
// For issue 6721, the problem came after 7533753 calls, so check 10e6.
num := int(10e6)
+ // But do the full amount only on builders (not locally).
// But ARM5 floating point emulation is slow (Issue 10749), so
// do less for that builder:
- if testing.Short() && runtime.GOARCH == "arm" && os.Getenv("GOARM") == "5" {
+ if testing.Short() && (testenv.Builder() == "" || runtime.GOARCH == "arm" && os.Getenv("GOARM") == "5") {
num /= 100 // 1.72 seconds instead of 172 seconds
}
"crypto/tls"
"errors"
"fmt"
+ "internal/testenv"
"io"
"io/ioutil"
"log"
if runtime.GOOS == "plan9" {
t.Skip("skipping test; see https://golang.org/issue/7237")
}
+ t.Parallel()
defer afterTest(t)
reqNum := 0
ts := httptest.NewUnstartedServer(HandlerFunc(func(res ResponseWriter, req *Request) {
if runtime.GOOS == "plan9" {
t.Skip("skipping test; see https://golang.org/issue/7237")
}
+ t.Parallel()
defer afterTest(t)
ts := httptest.NewUnstartedServer(HandlerFunc(func(w ResponseWriter, r *Request) {}))
errc := make(chanWriter, 10) // but only expecting 1
// should ignore client request bodies that a handler didn't read
// and close the connection.
func TestServerUnreadRequestBodyLarge(t *testing.T) {
+ if testing.Short() && testenv.Builder() == "" {
+ t.Log("skipping in short mode")
+ }
conn := new(testConn)
body := strings.Repeat("x", 1<<20)
conn.readBuf.Write([]byte(fmt.Sprintf(
}
func TestHandlerBodyClose(t *testing.T) {
+ if testing.Short() && testenv.Builder() == "" {
+ t.Skip("skipping in -short mode")
+ }
for i, tt := range handlerBodyCloseTests {
testHandlerBodyClose(t, i, tt)
}
}
func TestTransportServerClosingUnexpectedly(t *testing.T) {
+ t.Parallel()
defer afterTest(t)
ts := httptest.NewServer(hostPortHandler)
defer ts.Close()
// tests that persistent goroutine connections shut down when no longer desired.
func TestTransportPersistConnLeak(t *testing.T) {
+ t.Parallel()
defer afterTest(t)
gotReqCh := make(chan bool)
unblockCh := make(chan bool)
// golang.org/issue/4531: Transport leaks goroutines when
// request.ContentLength is explicitly short
func TestTransportPersistConnLeakShortBody(t *testing.T) {
+ t.Parallel()
defer afterTest(t)
ts := httptest.NewServer(HandlerFunc(func(w ResponseWriter, r *Request) {
}))
}
func TestTransportResponseHeaderTimeout(t *testing.T) {
+ t.Parallel()
defer afterTest(t)
if testing.Short() {
t.Skip("skipping timeout test in -short mode")
}
func TestTransportCancelRequest(t *testing.T) {
+ t.Parallel()
defer afterTest(t)
if testing.Short() {
t.Skip("skipping test in -short mode")
}
func TestCancelRequestWithChannel(t *testing.T) {
+ t.Parallel()
defer afterTest(t)
if testing.Short() {
t.Skip("skipping test in -short mode")
}
func TestCancelRequestWithChannelBeforeDo(t *testing.T) {
+ t.Parallel()
defer afterTest(t)
unblockc := make(chan bool)
ts := httptest.NewServer(HandlerFunc(func(w ResponseWriter, r *Request) {
// Issue 6981
func TestTransportClosesBodyOnError(t *testing.T) {
+ t.Parallel()
defer afterTest(t)
readBody := make(chan error, 1)
ts := httptest.NewServer(HandlerFunc(func(w ResponseWriter, r *Request) {