aboutsummaryrefslogtreecommitdiffhomepage
path: root/container/initdaemon_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'container/initdaemon_test.go')
-rw-r--r--container/initdaemon_test.go33
1 files changed, 29 insertions, 4 deletions
diff --git a/container/initdaemon_test.go b/container/initdaemon_test.go
index 5ab834db..ad8c7a93 100644
--- a/container/initdaemon_test.go
+++ b/container/initdaemon_test.go
@@ -6,8 +6,36 @@ import (
"hakurei.app/container/check"
"hakurei.app/container/stub"
+ "hakurei.app/message"
)
+func TestEarlyTerminationError(t *testing.T) {
+ t.Parallel()
+
+ testCases := []struct {
+ name string
+ err error
+ want string
+ msg string
+ }{
+ {"exited", &earlyTerminationError{
+ `daemon providing "/run/user/1971/pulse/native"`, 127 << 8,
+ }, "exit status 127", `daemon providing "/run/user/1971/pulse/native" exit status 127`},
+ }
+ for _, tc := range testCases {
+ t.Run(tc.name, func(t *testing.T) {
+ t.Parallel()
+
+ if got := tc.err.Error(); got != tc.want {
+ t.Errorf("Error: %q, want %q", got, tc.want)
+ }
+ if got := tc.err.(message.Error).Message(); got != tc.msg {
+ t.Errorf("Message: %s, want %s", got, tc.msg)
+ }
+ })
+ }
+}
+
func TestDaemonOp(t *testing.T) {
t.Parallel()
@@ -23,15 +51,12 @@ func TestDaemonOp(t *testing.T) {
call("isVerbose", stub.ExpectArgs{}, true, nil),
call("verbosef", stub.ExpectArgs{"starting %s", []any{`daemon providing "/run/user/1971/pulse/native"`}}, nil, nil),
call("start", stub.ExpectArgs{"/run/current-system/sw/bin/pipewire-pulse", []string{"/run/current-system/sw/bin/pipewire-pulse", "-v"}, []string{"\x00"}, "/"}, &os.Process{Pid: 0xcafe}, nil),
- call("New", stub.ExpectArgs{}, nil, nil),
call("stat", stub.ExpectArgs{"/run/user/1971/pulse/native"}, isDirFi(false), os.ErrNotExist),
call("stat", stub.ExpectArgs{"/run/user/1971/pulse/native"}, isDirFi(false), os.ErrNotExist),
call("stat", stub.ExpectArgs{"/run/user/1971/pulse/native"}, isDirFi(false), os.ErrNotExist),
call("stat", stub.ExpectArgs{"/run/user/1971/pulse/native"}, isDirFi(false), nil),
call("verbosef", stub.ExpectArgs{"daemon process %d ready", []any{0xcafe}}, nil, nil),
- }, Tracks: []stub.Expect{{Calls: []stub.Call{
- call("wait", stub.ExpectArgs{"/run/current-system/sw/bin/pipewire-pulse", []string{"/run/current-system/sw/bin/pipewire-pulse", "-v"}, []string{"\x00"}, "/"}, uintptr(stub.PanicExit), nil),
- }}}}, nil},
+ }}, nil},
})
checkOpsValid(t, []opValidTestCase{