diff --git a/helper/direct.go b/helper/direct.go index 24f9e75..91e4045 100644 --- a/helper/direct.go +++ b/helper/direct.go @@ -62,11 +62,11 @@ func (h *direct) Wait() error { if h.Cmd.Process == nil { return errors.New("exec: not started") } + defer h.p.mustClosePipes() if h.Cmd.ProcessState != nil { return errors.New("exec: Wait was already called") } - defer h.p.mustClosePipes() return h.Cmd.Wait() } diff --git a/helper/direct_test.go b/helper/direct_test.go index 12a7b52..fc583b6 100644 --- a/helper/direct_test.go +++ b/helper/direct_test.go @@ -4,7 +4,6 @@ import ( "errors" "io" "os" - "strconv" "strings" "testing" "time" @@ -12,28 +11,6 @@ import ( "git.ophivana.moe/cat/fortify/helper" ) -var ( - want = []string{ - "unix:path=/run/dbus/system_bus_socket", - "/tmp/fortify.1971/12622d846cc3fe7b4c10359d01f0eb47/system_bus_socket", - "--filter", - "--talk=org.bluez", - "--talk=org.freedesktop.Avahi", - "--talk=org.freedesktop.UPower", - } - - wantPayload = strings.Join(want, "\x00") + "\x00" - argsWt = helper.MustNewCheckedArgs(want) -) - -func argF(argsFD int, _ int) []string { - return []string{"--args", strconv.Itoa(argsFD)} -} - -func argFStatus(argsFD int, statFD int) []string { - return []string{"--args", strconv.Itoa(argsFD), "--fd", strconv.Itoa(statFD)} -} - func TestHelper_StartNotify_Close_Wait(t *testing.T) { helper.InternalReplaceExecCommand(t) diff --git a/helper/helper_test.go b/helper/helper_test.go new file mode 100644 index 0000000..e97ed02 --- /dev/null +++ b/helper/helper_test.go @@ -0,0 +1,30 @@ +package helper_test + +import ( + "strconv" + "strings" + + "git.ophivana.moe/cat/fortify/helper" +) + +var ( + want = []string{ + "unix:path=/run/dbus/system_bus_socket", + "/tmp/fortify.1971/12622d846cc3fe7b4c10359d01f0eb47/system_bus_socket", + "--filter", + "--talk=org.bluez", + "--talk=org.freedesktop.Avahi", + "--talk=org.freedesktop.UPower", + } + + wantPayload = strings.Join(want, "\x00") + "\x00" + argsWt = helper.MustNewCheckedArgs(want) +) + +func argF(argsFD int, _ int) []string { + return []string{"--args", strconv.Itoa(argsFD)} +} + +func argFStatus(argsFD int, statFD int) []string { + return []string{"--args", strconv.Itoa(argsFD), "--fd", strconv.Itoa(statFD)} +}