diff options
Diffstat (limited to 'src/pkg/json/scanner_test.go')
| -rw-r--r-- | src/pkg/json/scanner_test.go | 25 | 
1 files changed, 20 insertions, 5 deletions
| diff --git a/src/pkg/json/scanner_test.go b/src/pkg/json/scanner_test.go index 2dc8ff87f..0d4de3246 100644 --- a/src/pkg/json/scanner_test.go +++ b/src/pkg/json/scanner_test.go @@ -85,6 +85,7 @@ func TestIndent(t *testing.T) {  // Tests of a large random structure.  func TestCompactBig(t *testing.T) { +	initBig()  	var buf bytes.Buffer  	if err := Compact(&buf, jsonBig); err != nil {  		t.Fatalf("Compact: %v", err) @@ -98,6 +99,7 @@ func TestCompactBig(t *testing.T) {  }  func TestIndentBig(t *testing.T) { +	initBig()  	var buf bytes.Buffer  	if err := Indent(&buf, jsonBig, "", "\t"); err != nil {  		t.Fatalf("Indent1: %v", err) @@ -135,6 +137,7 @@ func TestIndentBig(t *testing.T) {  }  func TestNextValueBig(t *testing.T) { +	initBig()  	var scan scanner  	item, rest, err := nextValue(jsonBig, &scan)  	if err != nil { @@ -160,6 +163,7 @@ func TestNextValueBig(t *testing.T) {  }  func BenchmarkSkipValue(b *testing.B) { +	initBig()  	var scan scanner  	for i := 0; i < b.N; i++ {  		nextValue(jsonBig, &scan) @@ -191,12 +195,23 @@ func trim(b []byte) []byte {  var jsonBig []byte -func init() { -	b, err := Marshal(genValue(10000)) -	if err != nil { -		panic(err) +const ( +	big   = 10000 +	small = 100 +) + +func initBig() { +	n := big +	if testing.Short() { +		n = small +	} +	if len(jsonBig) != n { +		b, err := Marshal(genValue(n)) +		if err != nil { +			panic(err) +		} +		jsonBig = b  	} -	jsonBig = b  }  func genValue(n int) interface{} { | 
