mirror of
https://github.com/woodpecker-ci/woodpecker.git
synced 2024-12-23 00:46:30 +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 {
|
if m == nil {
|
||||||
m = make(map[string]string)
|
m = make(map[string]string)
|
||||||
}
|
}
|
||||||
for _, v := range sl {
|
for _, v := range utils.StringSliceDeleteEmpty(sl) {
|
||||||
parts := strings.SplitN(v, "=", 2)
|
parts := strings.SplitN(v, "=", 2)
|
||||||
switch len(parts) {
|
switch len(parts) {
|
||||||
case 2:
|
case 2:
|
||||||
|
|
|
@ -69,3 +69,14 @@ func SliceToBoolMap(s []string) map[string]bool {
|
||||||
}
|
}
|
||||||
return v
|
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{}))
|
||||||
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