Files
AetherForge/agent/deploy/exec_stub.go
AetherForge d18c5910c2
Some checks failed
CI Docker Mining Proof / Linux agent hashrate proof (push) Has been cancelled
Close automatable P2 test gaps with mocks and httptest integration.
Add container/podman exec mocks, BITS/curl HiddenRun coverage, WinRM/GPO/systemd deploy-plan httptest, and a 3-hop discover-spread Playwright stub chain.
2026-06-07 06:12:08 -07:00

50 lines
1.3 KiB
Go

//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()
}