v0.4.1 Latest Latest

This package is not in the latest version of its module.

Go to latest
Published: Mar 9, 2015 License: Apache-2.0 Imports: 3 Imported by: 0



Package exec provides an injectable interface and implementations for running commands.



This section is empty.


This section is empty.


This section is empty.


type Cmd

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.

func InitFakeCmd added in v0.2.1

func InitFakeCmd(fake *FakeCmd, cmd string, args ...string) Cmd

type ExitError

type ExitError interface {
	String() string
	Error() string
	Exited() bool
	ExitStatus() int

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 added in v0.2.1

type FakeCmd struct {
	Argv                 []string
	CombinedOutputScript []FakeCombinedOutputAction
	CombinedOutputCalls  int
	CombinedOutputLog    [][]string
	Dirs                 []string

A simple scripted Cmd type.

func (*FakeCmd) CombinedOutput added in v0.2.1

func (fake *FakeCmd) CombinedOutput() ([]byte, error)

func (*FakeCmd) SetDir added in v0.2.1

func (fake *FakeCmd) SetDir(dir string)

type FakeCombinedOutputAction added in v0.2.1

type FakeCombinedOutputAction func() ([]byte, error)

type FakeCommandAction added in v0.2.1

type FakeCommandAction func(cmd string, args ...string) Cmd

type FakeExec added in v0.2.1

type FakeExec struct {
	CommandScript []FakeCommandAction
	CommandCalls  int

A simple scripted Interface type.

func (*FakeExec) Command added in v0.2.1

func (fake *FakeExec) Command(cmd string, args ...string) Cmd

type FakeExitError added in v0.2.1

type FakeExitError struct {
	Status int

A simple fake ExitError type.

func (*FakeExitError) Error added in v0.2.1

func (fake *FakeExitError) Error() string

func (*FakeExitError) ExitStatus added in v0.2.1

func (fake *FakeExitError) ExitStatus() int

func (*FakeExitError) Exited added in v0.2.1

func (fake *FakeExitError) Exited() bool

func (*FakeExitError) String added in v0.2.1

func (fake *FakeExitError) String() string

type Interface

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.

func New

func New() Interface

New returns a new Interface which will os/exec to run commands.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL