mirror of
https://github.com/golang/go
synced 2024-11-12 00:20:22 -07:00
test/bench/go1: fix gzip test
We can't depend on init() order, and certainly we don't want to register all future benchmarks that use jsonbytes or jsondata to init() in json_test.go, so we use a more general solution: make generation of jsonbytes and jsondata their own function so that the compiler will take care of the order. R=golang-dev, dave, rsc CC=golang-dev https://golang.org/cl/6282046
This commit is contained in:
parent
622ace8ffe
commit
6b4ae1d28e
@ -21,9 +21,7 @@ var (
|
||||
gobdata *JSONResponse
|
||||
)
|
||||
|
||||
func gobinit() {
|
||||
// gobinit is called after json's init,
|
||||
// because it uses jsondata.
|
||||
func init() {
|
||||
gobdata = gobResponse(&jsondata)
|
||||
|
||||
var buf bytes.Buffer
|
||||
|
@ -17,11 +17,11 @@ import (
|
||||
)
|
||||
|
||||
var (
|
||||
jsonbytes []byte
|
||||
jsondata JSONResponse
|
||||
jsonbytes = makeJsonBytes()
|
||||
jsondata = makeJsonData()
|
||||
)
|
||||
|
||||
func init() {
|
||||
func makeJsonBytes() []byte {
|
||||
var r io.Reader
|
||||
r = strings.NewReader(jsonbz2_base64)
|
||||
r = base64.NewDecoder(base64.StdEncoding, r)
|
||||
@ -30,12 +30,15 @@ func init() {
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
jsonbytes = b
|
||||
return b
|
||||
}
|
||||
|
||||
if err := json.Unmarshal(jsonbytes, &jsondata); err != nil {
|
||||
func makeJsonData() JSONResponse {
|
||||
var v JSONResponse
|
||||
if err := json.Unmarshal(jsonbytes, &v); err != nil {
|
||||
panic(err)
|
||||
}
|
||||
gobinit()
|
||||
return v
|
||||
}
|
||||
|
||||
type JSONResponse struct {
|
||||
|
Loading…
Reference in New Issue
Block a user