]> Cypherpunks repositories - gostls13.git/commitdiff
build: shorten a few packages with long tests
authorRuss Cox <rsc@golang.org>
Mon, 21 Dec 2015 18:50:06 +0000 (13:50 -0500)
committerRuss Cox <rsc@golang.org>
Tue, 29 Dec 2015 15:46:44 +0000 (15:46 +0000)
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>

src/archive/zip/zip_test.go
src/compress/flate/deflate_test.go
src/compress/lzw/writer_test.go
src/compress/testdata/gettysburg.txt [new file with mode: 0644]
src/compress/zlib/writer_test.go
src/go/internal/gcimporter/gcimporter_test.go
src/go/types/stdlib_test.go
src/math/big/int_test.go
src/math/rand/rand_test.go
src/net/http/serve_test.go
src/net/http/transport_test.go

index f00ff47d37ecb29d0fa89cb303a6a17f01cdb812..0fa749e73a68444feb5f658faf2800fd67a0c07d 100644 (file)
@@ -10,6 +10,7 @@ import (
        "bytes"
        "fmt"
        "hash"
+       "internal/testenv"
        "io"
        "io/ioutil"
        "sort"
@@ -19,6 +20,9 @@ import (
 )
 
 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
index d5d6e732cf1192305a874a79e45f0ee35eb7a3d8..72bc6652c8918d7d27a0b9038fdc74542459745b 100644 (file)
@@ -7,6 +7,7 @@ package flate
 import (
        "bytes"
        "fmt"
+       "internal/testenv"
        "io"
        "io/ioutil"
        "reflect"
@@ -343,6 +344,9 @@ var deflateInflateStringTests = []deflateInflateStringTest{
 }
 
 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 {
@@ -436,7 +440,11 @@ func TestWriterReset(t *testing.T) {
                        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)
index c20d058f8d3df34d2f9abfb839643831539447b6..66d761727f481d81dabf05348d27ee0bddd95bf1 100644 (file)
@@ -5,6 +5,7 @@
 package lzw
 
 import (
+       "internal/testenv"
        "io"
        "io/ioutil"
        "os"
@@ -13,6 +14,7 @@ import (
 )
 
 var filenames = []string{
+       "../testdata/gettysburg.txt",
        "../testdata/e.txt",
        "../testdata/pi.txt",
 }
@@ -89,10 +91,16 @@ func TestWriter(t *testing.T) {
        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
+               }
        }
 }
 
diff --git a/src/compress/testdata/gettysburg.txt b/src/compress/testdata/gettysburg.txt
new file mode 100644 (file)
index 0000000..2c9bcde
--- /dev/null
@@ -0,0 +1,29 @@
+  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
index 71ba81aaa764b5a471ae06a9b903692b4f3c1a1f..dd941655206efa36d3b6b5be6b749e64676b04c6 100644 (file)
@@ -7,6 +7,7 @@ package zlib
 import (
        "bytes"
        "fmt"
+       "internal/testenv"
        "io"
        "io/ioutil"
        "os"
@@ -14,6 +15,7 @@ import (
 )
 
 var filenames = []string{
+       "../testdata/gettysburg.txt",
        "../testdata/e.txt",
        "../testdata/pi.txt",
 }
@@ -152,22 +154,34 @@ func TestWriter(t *testing.T) {
 }
 
 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
                }
        }
 }
@@ -179,10 +193,11 @@ func TestWriterReset(t *testing.T) {
                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)
                }
        }
 }
index 81d0e661c05c726f7cf9891fcda5ab19a5746ee7..316ba1634b9b262a4d53de2e027cac919e77352f 100644 (file)
@@ -164,7 +164,11 @@ func TestImportStdLib(t *testing.T) {
                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)
 }
 
index 055bd96911ed8161fef81bd9fce869392baaea7b..09f2585bcf8ab29951d85ebd28838e92e2f9aee3 100644 (file)
@@ -127,6 +127,10 @@ func testTestDir(t *testing.T, path string, ignore ...string) {
 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" {
@@ -142,6 +146,10 @@ func TestStdTest(t *testing.T) {
 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
@@ -247,7 +255,7 @@ func pkgFilenames(dir string) ([]string, error) {
 
 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
        }
 
index 616a562c3ea2f2d22e1a8148f605e974fc77332c..2f55a7ef354a903b321e3cf69ccd1dcccb7c0ba4 100644 (file)
@@ -1378,6 +1378,14 @@ func TestModSqrt(t *testing.T) {
                                t.Errorf("#%d: failed (sqrt(e) = %s)", i, &sqrt)
                        }
                }
+
+               if testing.Short() && i > 2 {
+                       break
+               }
+       }
+
+       if testing.Short() {
+               return
        }
 
        // exhaustive test for small values
index 6a1df4dcb8d9a6992bda80a86677a503262a5ce4..8d68335fdd4686838e253b0201d828f1892cf617 100644 (file)
@@ -7,6 +7,7 @@ package rand
 import (
        "errors"
        "fmt"
+       "internal/testenv"
        "math"
        "os"
        "runtime"
@@ -327,9 +328,10 @@ func TestExpTables(t *testing.T) {
 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
        }
 
index 0ce492c6dd93009a7a4c627b29ad33b39c95fca9..0c2fc484993cb4593797a88c6b80750eb8e32975 100644 (file)
@@ -12,6 +12,7 @@ import (
        "crypto/tls"
        "errors"
        "fmt"
+       "internal/testenv"
        "io"
        "io/ioutil"
        "log"
@@ -454,6 +455,7 @@ func TestServerTimeouts(t *testing.T) {
        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) {
@@ -937,6 +939,7 @@ func TestTLSHandshakeTimeout(t *testing.T) {
        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
@@ -1277,6 +1280,9 @@ func TestServerUnreadRequestBodyLittle(t *testing.T) {
 // 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(
@@ -1407,6 +1413,9 @@ var handlerBodyCloseTests = [...]handlerBodyCloseTest{
 }
 
 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)
        }
index e15b34cb2b3ffc3cd70cbb957c60059a831c8164..e1e83803ccdb87adecc2fe742616d8b273a6a223 100644 (file)
@@ -436,6 +436,7 @@ func TestTransportMaxPerHostIdleConns(t *testing.T) {
 }
 
 func TestTransportServerClosingUnexpectedly(t *testing.T) {
+       t.Parallel()
        defer afterTest(t)
        ts := httptest.NewServer(hostPortHandler)
        defer ts.Close()
@@ -968,6 +969,7 @@ func TestTransportGzipShort(t *testing.T) {
 
 // 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)
@@ -1034,6 +1036,7 @@ func TestTransportPersistConnLeak(t *testing.T) {
 // 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) {
        }))
@@ -1374,6 +1377,7 @@ func TestIssue4191_InfiniteGetToPutTimeout(t *testing.T) {
 }
 
 func TestTransportResponseHeaderTimeout(t *testing.T) {
+       t.Parallel()
        defer afterTest(t)
        if testing.Short() {
                t.Skip("skipping timeout test in -short mode")
@@ -1445,6 +1449,7 @@ func TestTransportResponseHeaderTimeout(t *testing.T) {
 }
 
 func TestTransportCancelRequest(t *testing.T) {
+       t.Parallel()
        defer afterTest(t)
        if testing.Short() {
                t.Skip("skipping test in -short mode")
@@ -1554,6 +1559,7 @@ Get = Get http://something.no-network.tld/: net/http: request canceled while wai
 }
 
 func TestCancelRequestWithChannel(t *testing.T) {
+       t.Parallel()
        defer afterTest(t)
        if testing.Short() {
                t.Skip("skipping test in -short mode")
@@ -1611,6 +1617,7 @@ func TestCancelRequestWithChannel(t *testing.T) {
 }
 
 func TestCancelRequestWithChannelBeforeDo(t *testing.T) {
+       t.Parallel()
        defer afterTest(t)
        unblockc := make(chan bool)
        ts := httptest.NewServer(HandlerFunc(func(w ResponseWriter, r *Request) {
@@ -2488,6 +2495,7 @@ func TestRetryIdempotentRequestsOnError(t *testing.T) {
 
 // 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) {