1
0
Fork 0
mirror of https://github.com/moby/moby.git synced 2022-11-09 12:21:53 -05:00
moby--moby/vendor/gotest.tools/icmd/ops.go
Sebastiaan van Stijn f86cac5713
bump gotest.tools v2.3.0
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2019-04-10 00:16:33 +02:00

38 lines
759 B
Go

package icmd
import (
"io"
"time"
)
// CmdOp is an operation which modified a Cmd structure used to execute commands
type CmdOp func(*Cmd)
// WithTimeout sets the timeout duration of the command
func WithTimeout(timeout time.Duration) CmdOp {
return func(c *Cmd) {
c.Timeout = timeout
}
}
// WithEnv sets the environment variable of the command.
// Each arguments are in the form of KEY=VALUE
func WithEnv(env ...string) CmdOp {
return func(c *Cmd) {
c.Env = env
}
}
// Dir sets the working directory of the command
func Dir(path string) CmdOp {
return func(c *Cmd) {
c.Dir = path
}
}
// WithStdin sets the standard input of the command to the specified reader
func WithStdin(r io.Reader) CmdOp {
return func(c *Cmd) {
c.Stdin = r
}
}