diff --git a/pkg/exec/builder/flags.go b/pkg/exec/builder/flags.go index 61a21651a..2b4e4ee0c 100644 --- a/pkg/exec/builder/flags.go +++ b/pkg/exec/builder/flags.go @@ -42,8 +42,12 @@ func (flag Flag) ToSlice(dashes Dashes) []string { result = append(result, flagName) } else { for _, value := range flag.Values { - result = append(result, flagName) - result = append(result, value) + if dash == dashes.Long { + result = append(result, fmt.Sprintf("%s=%s", flagName, value)) + } else { + result = append(result, flagName) + result = append(result, value) + } } } return result diff --git a/pkg/exec/builder/flags_test.go b/pkg/exec/builder/flags_test.go index c5ff95214..692c4f10d 100644 --- a/pkg/exec/builder/flags_test.go +++ b/pkg/exec/builder/flags_test.go @@ -51,7 +51,7 @@ func TestFlag_ToSlice(t *testing.T) { t.Run("long flag", func(t *testing.T) { f := NewFlag("full", "abc") args := f.ToSlice(testStep.GetDashes()) - assert.Equal(t, []string{"--full", "abc"}, args) + assert.Equal(t, []string{"--full=abc"}, args) }) t.Run("valueless flag", func(t *testing.T) { @@ -67,7 +67,7 @@ func TestFlag_ToSlice(t *testing.T) { t.Run("flag with non-default dashes", func(t *testing.T) { f := NewFlag("full", "abc") args := f.ToSlice(dashes) - assert.Equal(t, []string{"---full", "abc"}, args) + assert.Equal(t, []string{"---full=abc"}, args) }) } @@ -80,7 +80,7 @@ func TestFlags_ToSlice(t *testing.T) { args := flags.ToSlice(testStep.GetDashes()) // Flags should be sorted and sliced up on a platter - assert.Equal(t, []string{"-a", "1", "--bull", "2"}, args) + assert.Equal(t, []string{"-a", "1", "--bull=2"}, args) } func TestFlags_NonStringKeys(t *testing.T) {