Documentation ¶
Overview ¶
Package executers contains general purpose (shell) command executing objects.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CreateScriptFile ¶
CreateScriptFile creates a script containing the given commands.
func RunCommand ¶
func RunCommand(log log.T, cancelFlag task.CancelFlag, workingDir string, stdoutWriter io.Writer, stderrWriter io.Writer, executionTimeout int, commandName string, commandArguments []string, ) (exitCode int, err error)
RunCommand runs the given commands using the given working directory. Standard output and standard error are sent to the given writers.
Types ¶
type MockCommandExecuter ¶
MockCommandExecuter mocks a command executer.
func (*MockCommandExecuter) Execute ¶
func (m *MockCommandExecuter) Execute(log log.T, workingDir string, stdoutFilePath string, stderrFilePath string, cancelFlag task.CancelFlag, executionTimeout int, commandName string, commandArguments []string) (stdout io.Reader, stderr io.Reader, exitCode int, errs []error)
Execute is a mocked method that just returns what mock tells it to.
type ShellCommandExecuter ¶
type ShellCommandExecuter struct { }
ShellCommandExecuter is specially added for testing purposes
func (ShellCommandExecuter) Execute ¶
func (sh ShellCommandExecuter) Execute( log log.T, workingDir string, stdoutFilePath string, stderrFilePath string, cancelFlag task.CancelFlag, executionTimeout int, commandName string, commandArguments []string, ) (stdout io.Reader, stderr io.Reader, exitCode int, errs []error)
Execute executes a list of shell commands in the given working directory. The orchestration directory specifies where to create the script file and where to save stdout and stderr. The orchestration directory will be created if it doesn't exist. Returns readers for the standard output and standard error streams and a set of errors. The errors need not be fatal - the output streams may still have data even though some errors are reported. For example, if the command got killed while executing, the streams will have whatever data was printed up to the kill point, and the errors will indicate that the process got terminated.