From 27753d99256d8c4cf4b22acd6598a069526518b2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Peter=20=C5=A0tibran=C3=BD?= Date: Wed, 30 Mar 2022 18:18:08 +0200 Subject: [PATCH] Speed up tests in `github.com/grafana/mimir/pkg/mimirtool/config` (#1571) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Instead of JSON-unmarshalling config files for each test, we only do it once. Signed-off-by: Peter Štibraný --- pkg/mimirtool/config/inspect.go | 32 ++++++++++++++++++++++++++++---- 1 file changed, 28 insertions(+), 4 deletions(-) diff --git a/pkg/mimirtool/config/inspect.go b/pkg/mimirtool/config/inspect.go index abdb104c320..d643e11e3f9 100644 --- a/pkg/mimirtool/config/inspect.go +++ b/pkg/mimirtool/config/inspect.go @@ -644,7 +644,9 @@ var mimirConfigFlagsOnly []byte //go:embed descriptors/mimir-v2.0.0.json var mimirConfig []byte -func DefaultMimirConfig() *InspectedEntry { +var mimirConfigDeserialized = loadDefaultMimirConfig() + +func loadDefaultMimirConfig() *InspectedEntry { cfg := &InspectedEntry{} if err := json.Unmarshal(mimirConfig, cfg); err != nil { panic(err) @@ -665,13 +667,19 @@ func DefaultMimirConfig() *InspectedEntry { return cfg } +func DefaultMimirConfig() *InspectedEntry { + return mimirConfigDeserialized.Clone() +} + //go:embed descriptors/cortex-v1.11.0.json var oldCortexConfig []byte //go:embed descriptors/cortex-v1.11.0-flags-only.json var oldCortexConfigFlagsOnly []byte -func DefaultCortexConfig() *InspectedEntry { +var oldCortexConfigDeserialized = loadDefaultCortexConfig() + +func loadDefaultCortexConfig() *InspectedEntry { cfg := &InspectedEntry{} if err := json.Unmarshal(oldCortexConfig, cfg); err != nil { panic(err) @@ -692,13 +700,19 @@ func DefaultCortexConfig() *InspectedEntry { return cfg } +func DefaultCortexConfig() *InspectedEntry { + return oldCortexConfigDeserialized.Clone() +} + //go:embed descriptors/gem-v1.7.0.json var gem170CortexConfig []byte //go:embed descriptors/gem-v1.7.0-flags-only.json var gem170CortexConfigFlagsOnly []byte -func DefaultGEM170Config() *InspectedEntry { +var gem170CortexConfigDeserialized = loadDefaultGEM170Config() + +func loadDefaultGEM170Config() *InspectedEntry { cfg := &InspectedEntry{} if err := json.Unmarshal(gem170CortexConfig, cfg); err != nil { panic(err) @@ -719,13 +733,19 @@ func DefaultGEM170Config() *InspectedEntry { return cfg } +func DefaultGEM170Config() *InspectedEntry { + return gem170CortexConfigDeserialized.Clone() +} + //go:embed descriptors/gem-v2.0.0.json var gem200CortexConfig []byte //go:embed descriptors/gem-v2.0.0-flags-only.json var gem200CortexConfigFlagsOnly []byte -func DefaultGEM200COnfig() *InspectedEntry { +var gem200CortexConfigDeserialized = loadDefaultGEM200COnfig() + +func loadDefaultGEM200COnfig() *InspectedEntry { cfg := &InspectedEntry{} if err := json.Unmarshal(gem200CortexConfig, cfg); err != nil { panic(err) @@ -745,3 +765,7 @@ func DefaultGEM200COnfig() *InspectedEntry { }) return cfg } + +func DefaultGEM200COnfig() *InspectedEntry { + return gem200CortexConfigDeserialized.Clone() +}