Skip to content

Commit

Permalink
Merge pull request #102623 from vazmin/bug-cli-string-slice-flag
Browse files Browse the repository at this point in the history
fix bug where string slice flag is not assigned
  • Loading branch information
k8s-ci-robot authored Jun 30, 2021
2 parents f962166 + ab4918b commit a6ef761
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 5 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ package flag

import (
goflag "flag"
"fmt"
"strings"

"github.com/spf13/pflag"
Expand Down Expand Up @@ -45,9 +46,11 @@ func (s *StringSlice) String() string {
}

func (s *StringSlice) Set(val string) error {
if s.value == nil || !s.changed {
v := make([]string, 0)
s.value = &v
if s.value == nil {
return fmt.Errorf("no target (nil pointer to []string)")
}
if !s.changed {
*s.value = make([]string, 0)
}
*s.value = append(*s.value, val)
s.changed = true
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -83,8 +83,8 @@ func TestStringSlice(t *testing.T) {
} else if err != nil {
t.Errorf("%d: expected nil error, got %v", i, err)
}
if !reflect.DeepEqual(*v.value, test.expected) {
t.Errorf("%d: expected %+v, got %+v", i, test.expected, *v.value)
if !reflect.DeepEqual(s, test.expected) {
t.Errorf("%d: expected %+v, got %+v", i, test.expected, s)
}
if v.changed != test.changed {
t.Errorf("%d: expected %t got %t", i, test.changed, v.changed)
Expand Down

0 comments on commit a6ef761

Please sign in to comment.