import "github.com/igm/kubernetes/pkg/util/exec"
Package exec provides an injectable interface and implementations for running commands.
type Cmd interface { // CombinedOutput runs the command and returns its combined standard output // and standard error. This follows the pattern of package os/exec. CombinedOutput() ([]byte, error) SetDir(dir string) }
Cmd is an interface that presents an API that is very similar to Cmd from os/exec. As more functionality is needed, this can grow. Since Cmd is a struct, we will have to replace fields with get/set method pairs.
ExitError is an interface that presents an API similar to os.ProcessState, which is what ExitError from os/exec is. This is designed to make testing a bit easier and probably loses some of the cross-platform properties of the underlying library.
type FakeCmd struct { Argv []string CombinedOutputScript []FakeCombinedOutputAction CombinedOutputCalls int CombinedOutputLog [][]string Dirs []string }
A simple scripted Cmd type.
type FakeExec struct { CommandScript []FakeCommandAction CommandCalls int }
A simple scripted Interface type.
A simple fake ExitError type.
func (fake *FakeExitError) Error() string
func (fake *FakeExitError) ExitStatus() int
func (fake *FakeExitError) Exited() bool
func (fake *FakeExitError) String() string
type Interface interface { // Command returns a Cmd instance which can be used to run a single command. // This follows the pattern of package os/exec. Command(cmd string, args ...string) Cmd }
Interface is an interface that presents a subset of the os/exec API. Use this when you want to inject fakeable/mockable exec behavior.
New returns a new Interface which will os/exec to run commands.
Package exec imports 3 packages (graph). Updated 2018-04-17. Refresh now. Tools for package owners.