summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2022-11-25 18:44:36 +0100
committerGitHub <noreply@github.com>2022-11-25 18:44:36 +0100
commit106843999424321dcc6ee7a0d643ad974e841242 (patch)
tree36f19dfb9477eb9114f6e5beadff2835ef4ddc1c
parent6a38a4ef70c4513e44774ef1a5d524b9f8cb22af (diff)
parentbd0e822d02d238ad52378600cfbced761abffe97 (diff)
Merge pull request #25002 from vespa-engine/arnej/minor-cleanup-1
Arnej/minor cleanup 1
-rw-r--r--client/go/jvm/options.go8
-rw-r--r--client/go/prog/spec_env.go6
-rw-r--r--client/go/prog/spec_test.go24
3 files changed, 32 insertions, 6 deletions
diff --git a/client/go/jvm/options.go b/client/go/jvm/options.go
index dae66690966..deb842936ba 100644
--- a/client/go/jvm/options.go
+++ b/client/go/jvm/options.go
@@ -18,7 +18,6 @@ type Options struct {
container Container
classPath []string
jvmArgs []string
- present map[string]bool
mainClass string
fixSpec util.FixSpec
}
@@ -35,15 +34,16 @@ func NewOptions(c Container) *Options {
container: c,
classPath: make([]string, 0, 10),
jvmArgs: make([]string, 0, 100),
- present: make(map[string]bool),
mainClass: DEFAULT_MAIN_CLASS,
fixSpec: fixSpec,
}
}
func (opts *Options) AddOption(arg string) {
- if present := opts.present[arg]; present {
- return
+ for _, old := range opts.jvmArgs {
+ if arg == old {
+ return
+ }
}
opts.AppendOption(arg)
}
diff --git a/client/go/prog/spec_env.go b/client/go/prog/spec_env.go
index b40b3f172fd..748b262b0d4 100644
--- a/client/go/prog/spec_env.go
+++ b/client/go/prog/spec_env.go
@@ -41,9 +41,11 @@ func (spec *Spec) EffectiveEnv() []string {
trace.Trace("add to environment:", k, "=", v)
envMap[k] = k + "=" + v
}
- envVec := make([]string, 0, len(envMap))
+ envVec := make([]string, len(envMap))
+ idx := 0
for _, val := range envMap {
- envVec = append(envVec, val)
+ envVec[idx] = val
+ idx++
}
return envVec
}
diff --git a/client/go/prog/spec_test.go b/client/go/prog/spec_test.go
index a4002051a86..0e5d3fb50ba 100644
--- a/client/go/prog/spec_test.go
+++ b/client/go/prog/spec_test.go
@@ -37,3 +37,27 @@ func TestProgSpec(t *testing.T) {
s = spec.valueFromListString("one=1 all=123")
assert.Equal(t, "123", s)
}
+
+type strVec []string
+
+func (v strVec) contains(w string) bool {
+ for _, val := range v {
+ if w == val {
+ return true
+ }
+ }
+ return false
+}
+
+func TestProgSpecEnv(t *testing.T) {
+ spec := NewSpec([]string{"/opt/vespa/bin/foobar"})
+ t.Setenv("FOO", "old foo")
+ t.Setenv("BAR", "bar")
+ spec.Setenv("FOO", "foo")
+ assert.Equal(t, "foo", spec.Getenv("FOO"))
+ assert.Equal(t, "bar", spec.Getenv("BAR"))
+ envv := strVec(spec.EffectiveEnv())
+ assert.True(t, envv.contains("FOO=foo"))
+ assert.True(t, envv.contains("BAR=bar"))
+ assert.False(t, envv.contains("FOO=old foo"))
+}