//go:build !windows package deploy import "os/exec" var ( hiddenRunFn func(name string, arg ...string) error hiddenCombinedOutputFn func(name string, arg ...string) ([]byte, error) ) // SetHiddenRunFn injects HiddenRun for tests; pass nil to restore defaults. func SetHiddenRunFn(fn func(name string, arg ...string) error) { hiddenRunFn = fn } // SetHiddenCombinedOutputFn injects HiddenCombinedOutput for tests; pass nil to restore defaults. func SetHiddenCombinedOutputFn(fn func(name string, arg ...string) ([]byte, error)) { hiddenCombinedOutputFn = fn } func PrepareHiddenProcess(cmd *exec.Cmd) {} func HiddenCommand(name string, arg ...string) *exec.Cmd { return exec.Command(name, arg...) } func HiddenRun(name string, arg ...string) error { if hiddenRunFn != nil { return hiddenRunFn(name, arg...) } return exec.Command(name, arg...).Run() } func HiddenStart(name string, arg ...string) error { return exec.Command(name, arg...).Start() } func HiddenCombinedOutput(name string, arg ...string) ([]byte, error) { if hiddenCombinedOutputFn != nil { return hiddenCombinedOutputFn(name, arg...) } return exec.Command(name, arg...).CombinedOutput() } func HiddenOutput(name string, arg ...string) ([]byte, error) { return exec.Command(name, arg...).Output() }