Documentation ¶
Index ¶
- func CopyFile(src, dst string) error
- func CopyFileContents(src string, dst string, permission os.FileMode) error
- func CopyFileSparse(src, dst string) error
- func CopySparse(ctx context.Context, dst io.WriteSeeker, src io.Reader) (int64, error)
- func FileContentMatches(path string, expectedContent []byte) error
- func FileExists(path string) bool
- func GetCurrentUsername() (string, error)
- func RemoveFileAsRoot(reason, filepath string) error
- func RemoveFileGlob(glob string) error
- func RemoveFileIfExists(path string) error
- func ReplaceOrAddEnv(variables []string, varName string, value string) []string
- func RunPrivileged(reason string, cmdAndArgs ...string) (string, string, error)
- func RunWithDefaultLocale(command string, args ...string) (string, string, error)
- func RunWithDefaultLocalePrivate(command string, args ...string) (string, string, error)
- func RunningUsingSSH() bool
- func WriteFileIfContentChanged(path string, newContent []byte, perm os.FileMode) (bool, error)
- func WriteToFileAsRoot(reason, content, filepath string, mode os.FileMode) error
- type CodeExitError
- type CommandRunner
- type ExitError
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CopyFileSparse ¶
func CopySparse ¶
func FileContentMatches ¶
func FileExists ¶
FileExists returns true if the file at path exists. It returns false if it does not exist, or if there was an error when checking for its existence. This means there can be false negatives if Lstat fails because of permission issues (file exists, but is not reachable by the current user)
func GetCurrentUsername ¶
func RemoveFileAsRoot ¶
func RemoveFileGlob ¶
RemoveFileGlob takes a glob pattern as string to remove the files and directories that matches
func RemoveFileIfExists ¶
func ReplaceOrAddEnv ¶
ReplaceOrAddEnv changes the value of an environment variable if it exists otherwise add the new variable It drops the existing value and appends the new value in-place
func RunPrivileged ¶
RunPrivileged executes a command using sudo provide a reason why root is needed as the first argument
func RunWithDefaultLocale ¶
func RunningUsingSSH ¶
func RunningUsingSSH() bool
Types ¶
type CodeExitError ¶
CodeExitError is an implementation of ExitError consisting of an error object and an exit code (the upper bits of os.exec.ExitStatus).
func (CodeExitError) Error ¶
func (e CodeExitError) Error() string
func (CodeExitError) ExitStatus ¶
func (e CodeExitError) ExitStatus() int
func (CodeExitError) Exited ¶
func (e CodeExitError) Exited() bool
func (CodeExitError) String ¶
func (e CodeExitError) String() string
func (CodeExitError) Unwrap ¶
func (e CodeExitError) Unwrap() error
type CommandRunner ¶
type CommandRunner interface { Run(command string, args ...string) (string, string, error) RunPrivate(command string, args ...string) (string, string, error) RunPrivileged(reason string, cmdAndArgs ...string) (string, string, error) }
func NewLocalCommandRunner ¶
func NewLocalCommandRunner() CommandRunner
type ExitError ¶
type ExitError interface { String() string Error() string Exited() bool ExitStatus() int Unwrap() error }
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.