@@ -231,6 +231,24 @@ func TestArgumentsBlocker(t *testing.T) {
231231 input: []string{"pacman", "-Q", "package"},
232232 shouldBlock: false,
233233 },
234+
235+ // `go test -exec`
236+ {
237+ name: "go test exec",
238+ cmd: "go",
239+ args: []string{"test"},
240+ flags: []string{"-exec"},
241+ input: []string{"go", "test", "-exec", "bash -c 'echo hello'"},
242+ shouldBlock: true,
243+ },
244+ {
245+ name: "go test exec",
246+ cmd: "go",
247+ args: []string{"test"},
248+ flags: []string{"-exec"},
249+ input: []string{"go", "test", `-exec="bash -c 'echo hello'"`},
250+ shouldBlock: true,
251+ },
234252 }
235253
236254 for _, tt := range tests {
@@ -329,6 +347,24 @@ func TestSplitArgsFlags(t *testing.T) {
329347 wantArgs: []string{"package"},
330348 wantFlags: []string{"-S"},
331349 },
350+ {
351+ name: "flag with equals sign",
352+ input: []string{"-exec=bash", "package"},
353+ wantArgs: []string{"package"},
354+ wantFlags: []string{"-exec"},
355+ },
356+ {
357+ name: "long flag with equals sign",
358+ input: []string{"--config=/path/to/config", "run"},
359+ wantArgs: []string{"run"},
360+ wantFlags: []string{"--config"},
361+ },
362+ {
363+ name: "flag with complex value",
364+ input: []string{`-exec="bash -c 'echo hello'"`, "test"},
365+ wantArgs: []string{"test"},
366+ wantFlags: []string{"-exec"},
367+ },
332368 }
333369
334370 for _, tt := range tests {