blob: 5ad7812b04404069f61849c3a1ab29081dc7f996 [file] [log] [blame]
//go:build !windows
// +build !windows
package daemon // import "github.com/docker/docker/testutil/daemon"
import (
"os/exec"
"syscall"
"testing"
"github.com/moby/sys/mount"
"golang.org/x/sys/unix"
)
// cleanupMount unmounts the daemon root directory, or logs a message if
// unmounting failed.
func cleanupMount(t testing.TB, d *Daemon) {
t.Helper()
if err := mount.Unmount(d.Root); err != nil {
d.log.Logf("[%s] unable to unmount daemon root (%s): %v", d.id, d.Root, err)
}
}
// SignalDaemonDump sends a signal to the daemon to write a dump file
func SignalDaemonDump(pid int) {
unix.Kill(pid, unix.SIGQUIT)
}
func signalDaemonReload(pid int) error {
return unix.Kill(pid, unix.SIGHUP)
}
func setsid(cmd *exec.Cmd) {
if cmd.SysProcAttr == nil {
cmd.SysProcAttr = &syscall.SysProcAttr{}
}
cmd.SysProcAttr.Setsid = true
}