...
1 package runner
2
3 import (
4 "fmt"
5 "os/exec"
6 )
7
8
9
10 type Runner interface {
11
12 Run(cmdPath string, args ...string) error
13 }
14
15 type cmdRunner struct{}
16
17
18
19 func NewCommandRunner() Runner {
20 return &cmdRunner{}
21 }
22
23 func (*cmdRunner) Run(cmdPath string, args ...string) error {
24 cmd := exec.Command(cmdPath, args...)
25
26 output, err := cmd.CombinedOutput()
27 if err != nil {
28 return fmt.Errorf("%s: %w", output, err)
29 }
30
31 return nil
32 }
33
View as plain text