mirror of
https://github.com/woodpecker-ci/woodpecker.git
synced 2024-12-22 08:27:06 +00:00
Remove empty strings from slice before parsing agent config (#3387)
Fixes: https://github.com/woodpecker-ci/woodpecker/issues/3385
This commit is contained in:
parent
5e0ec973ba
commit
6abeff0165
3 changed files with 33 additions and 1 deletions
|
@ -275,7 +275,7 @@ func stringSliceAddToMap(sl []string, m map[string]string) error {
|
|||
if m == nil {
|
||||
m = make(map[string]string)
|
||||
}
|
||||
for _, v := range sl {
|
||||
for _, v := range utils.StringSliceDeleteEmpty(sl) {
|
||||
parts := strings.SplitN(v, "=", 2)
|
||||
switch len(parts) {
|
||||
case 2:
|
||||
|
|
|
@ -69,3 +69,14 @@ func SliceToBoolMap(s []string) map[string]bool {
|
|||
}
|
||||
return v
|
||||
}
|
||||
|
||||
// StringSliceDeleteEmpty removes empty strings from a string slice.
|
||||
func StringSliceDeleteEmpty(s []string) []string {
|
||||
r := make([]string, 0)
|
||||
for _, str := range s {
|
||||
if str != "" {
|
||||
r = append(r, str)
|
||||
}
|
||||
}
|
||||
return r
|
||||
}
|
||||
|
|
|
@ -68,3 +68,24 @@ func TestSliceToBoolMap(t *testing.T) {
|
|||
assert.Equal(t, map[string]bool{}, SliceToBoolMap([]string{}))
|
||||
assert.Equal(t, map[string]bool{}, SliceToBoolMap([]string{""}))
|
||||
}
|
||||
|
||||
func TestStringSliceDeleteEmpty(t *testing.T) {
|
||||
tests := []struct {
|
||||
in []string
|
||||
out []string
|
||||
}{{
|
||||
in: []string{"", "ab", "ab"},
|
||||
out: []string{"ab", "ab"},
|
||||
}, {
|
||||
in: []string{"", "ab", ""},
|
||||
out: []string{"ab"},
|
||||
}, {
|
||||
in: []string{""},
|
||||
out: []string{},
|
||||
}}
|
||||
|
||||
for _, tc := range tests {
|
||||
exp := StringSliceDeleteEmpty(tc.in)
|
||||
assert.EqualValues(t, tc.out, exp, "got '%#v', expects %#v", exp, tc.out)
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue