From 4f808c2028ce5ae965ecce9b8125e3e82a6215dd Mon Sep 17 00:00:00 2001 From: Matt Jaffee Date: Fri, 7 Dec 2018 16:49:05 -0600 Subject: [PATCH] add flag or setting temp dir used for benchmarks --- fragment_internal_test.go | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/fragment_internal_test.go b/fragment_internal_test.go index 1e30530cd..fd6da6405 100644 --- a/fragment_internal_test.go +++ b/fragment_internal_test.go @@ -39,8 +39,13 @@ var ( // In order to generate the sample fragment file, // run an import and copy PILOSA_DATA_DIR/INDEX_NAME/FRAME_NAME/0 to testdata/sample_view FragmentPath = flag.String("fragment", "testdata/sample_view/0", "fragment path") + TempDir = "" ) +func init() { + flag.StringVar(&TempDir, "temp-dir", "", "Directory in which to place temporary data (e.g. for benchmarking). Useful if you are trying to benchmark different storage configurations.") +} + // Ensure a fragment can set a bit and retrieve it. func TestFragment_SetBit(t *testing.T) { f := mustOpenFragment("i", "f", viewStandard, 0, "") @@ -1985,7 +1990,7 @@ func BenchmarkFileWrite(b *testing.B) { b.Run(fmt.Sprintf("Rows%d", numRows), func(b *testing.B) { b.StopTimer() for i := 0; i < b.N; i++ { - f, err := ioutil.TempFile("", "") + f, err := ioutil.TempFile(TempDir, "") if err != nil { b.Fatalf("getting temp file: %v", err) } @@ -2026,7 +2031,7 @@ func (f *fragment) Clean() error { // mustOpenFragment returns a new instance of Fragment with a temporary path. func mustOpenFragment(index, field, view string, shard uint64, cacheType string) *fragment { - file, err := ioutil.TempFile("", "pilosa-fragment-") + file, err := ioutil.TempFile(TempDir, "pilosa-fragment-") if err != nil { panic(err) }