aboutsummaryrefslogtreecommitdiffstats
path: root/client
diff options
context:
space:
mode:
authorTor Egge <Tor.Egge@online.no>2023-04-03 11:03:30 +0200
committerTor Egge <Tor.Egge@online.no>2023-04-03 11:03:30 +0200
commit3dd431dec90095b46044926a6b6d0b0ec97422c7 (patch)
tree4ca200e270f07ace69000d622206cc444d86d074 /client
parent9d93baa2b9d23258f8e760e3d804ee9065cf9a58 (diff)
Enable valgrind when VESPA_USE_VALGRIND is set to all.
Diffstat (limited to 'client')
-rw-r--r--client/go/internal/admin/prog/valgrind.go3
-rw-r--r--client/go/internal/admin/prog/valgrind_test.go5
-rw-r--r--client/go/internal/admin/vespa-wrapper/startcbinary/valgrind.go3
-rw-r--r--client/go/internal/admin/vespa-wrapper/startcbinary/valgrind_test.go5
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)