executers

package
v0.0.0-...-3f59448 Latest Latest
Warning

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

Go to latest
Published: Sep 14, 2016 License: Apache-2.0 Imports: 12 Imported by: 0

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

func CreateScriptFile(scriptPath string, commands []string) (err error)

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

type MockCommandExecuter struct {
	mock.Mock
}

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.

Jump to

Keyboard shortcuts

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