diff options
author | Tor Egge <Tor.Egge@online.no> | 2023-04-03 11:03:30 +0200 |
---|---|---|
committer | Tor Egge <Tor.Egge@online.no> | 2023-04-03 11:03:30 +0200 |
commit | 3dd431dec90095b46044926a6b6d0b0ec97422c7 (patch) | |
tree | 4ca200e270f07ace69000d622206cc444d86d074 /client | |
parent | 9d93baa2b9d23258f8e760e3d804ee9065cf9a58 (diff) |
Enable valgrind when VESPA_USE_VALGRIND is set to all.
Diffstat (limited to 'client')
4 files changed, 14 insertions, 2 deletions
diff --git a/client/go/internal/admin/prog/valgrind.go b/client/go/internal/admin/prog/valgrind.go index 7d3fb059f8f..2d7f0a597d9 100644 --- a/client/go/internal/admin/prog/valgrind.go +++ b/client/go/internal/admin/prog/valgrind.go @@ -22,9 +22,10 @@ func (p *Spec) ConfigureValgrind() { p.shouldUseValgrind = false p.shouldUseCallgrind = false env := p.Getenv(envvars.VESPA_USE_VALGRIND) + allValgrind := env == "all" parts := strings.Split(env, " ") for _, part := range parts { - if p.BaseName == part { + if p.BaseName == part || allValgrind { trace.Trace("using valgrind as", p.Program, "has basename in", envvars.VESPA_USE_VALGRIND, "=>", env) backticks := util.BackTicksWithStderr out, err := backticks.Run(VALGRIND_PROG, "--help") diff --git a/client/go/internal/admin/prog/valgrind_test.go b/client/go/internal/admin/prog/valgrind_test.go index 6ec622277c6..11d9424405f 100644 --- a/client/go/internal/admin/prog/valgrind_test.go +++ b/client/go/internal/admin/prog/valgrind_test.go @@ -52,6 +52,11 @@ func TestValgrindDetection(t *testing.T) { assert.Equal(t, false, spec.shouldUseValgrind) assert.Equal(t, false, spec.shouldUseCallgrind) + t.Setenv("VESPA_USE_VALGRIND", "all") + spec.ConfigureValgrind() + assert.Equal(t, true, spec.shouldUseValgrind) + assert.Equal(t, false, spec.shouldUseCallgrind) + t.Setenv("VESPA_USE_VALGRIND", "foo bar") spec.ConfigureValgrind() assert.Equal(t, false, spec.shouldUseValgrind) diff --git a/client/go/internal/admin/vespa-wrapper/startcbinary/valgrind.go b/client/go/internal/admin/vespa-wrapper/startcbinary/valgrind.go index 43a1ed602bd..cccb37df8e5 100644 --- a/client/go/internal/admin/vespa-wrapper/startcbinary/valgrind.go +++ b/client/go/internal/admin/vespa-wrapper/startcbinary/valgrind.go @@ -18,9 +18,10 @@ func (p *ProgSpec) configureValgrind() { p.shouldUseValgrind = false p.shouldUseCallgrind = false env := p.getenv(envvars.VESPA_USE_VALGRIND) + allValgrind := env == "all" parts := strings.Split(env, " ") for _, part := range parts { - if p.BaseName == part { + if p.BaseName == part || allValgrind { trace.Trace("using valgrind as", p.Program, "has basename in", envvars.VESPA_USE_VALGRIND, "=>", env) backticks := util.BackTicksWithStderr out, err := backticks.Run("which", "valgrind") diff --git a/client/go/internal/admin/vespa-wrapper/startcbinary/valgrind_test.go b/client/go/internal/admin/vespa-wrapper/startcbinary/valgrind_test.go index 48cc78474ed..1a105d66c4a 100644 --- a/client/go/internal/admin/vespa-wrapper/startcbinary/valgrind_test.go +++ b/client/go/internal/admin/vespa-wrapper/startcbinary/valgrind_test.go @@ -52,6 +52,11 @@ func TestValgrindDetection(t *testing.T) { assert.Equal(t, false, spec.shouldUseValgrind) assert.Equal(t, false, spec.shouldUseCallgrind) + t.Setenv("VESPA_USE_VALGRIND", "all") + spec.configureValgrind() + assert.Equal(t, true, spec.shouldUseValgrind) + assert.Equal(t, false, spec.shouldUseCallgrind) + t.Setenv("VESPA_USE_VALGRIND", "foo bar") spec.configureValgrind() assert.Equal(t, false, spec.shouldUseValgrind) |