From 6b4ae1d28e7a33c84e049c65c4fe658a6956d11d Mon Sep 17 00:00:00 2001 From: Shenghou Ma Date: Tue, 5 Jun 2012 00:14:39 +0800 Subject: [PATCH] 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 --- test/bench/go1/gob_test.go | 4 +--- test/bench/go1/json_test.go | 15 +++++++++------ 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/test/bench/go1/gob_test.go b/test/bench/go1/gob_test.go index 00eeed57a5..b172b805ad 100644 --- a/test/bench/go1/gob_test.go +++ b/test/bench/go1/gob_test.go @@ -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 diff --git a/test/bench/go1/json_test.go b/test/bench/go1/json_test.go index 5a3012167b..614e24a810 100644 --- a/test/bench/go1/json_test.go +++ b/test/bench/go1/json_test.go @@ -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 { -- 2.48.1