kubernetesk8s.io/kubernetes/pkg/util/exec Index | Files

package exec

import "k8s.io/kubernetes/pkg/util/exec"

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

Index

Types

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

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

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

A simple scripted Cmd type.

func (*FakeCmd) CombinedOutput

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

func (*FakeCmd) SetDir

func (fake *FakeCmd) SetDir(dir string)

type FakeCombinedOutputAction

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

type FakeCommandAction

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

type FakeExec

type FakeExec struct {
	CommandScript []FakeCommandAction
	CommandCalls  int
}

A simple scripted Interface type.

func (*FakeExec) Command

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

type FakeExitError

type FakeExitError struct {
	Status int
}

A simple fake ExitError type.

func (*FakeExitError) Error

func (fake *FakeExitError) Error() string

func (*FakeExitError) ExitStatus

func (fake *FakeExitError) ExitStatus() int

func (*FakeExitError) Exited

func (fake *FakeExitError) Exited() bool

func (*FakeExitError) String

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.

Source Files

doc.go exec.go fake_exec.go

Version
v0.19.2
Published
Jun 22, 2015
Platform
js/wasm
Imports
3 packages
Last checked
12 seconds ago

Tools for package owners.