diff options
Diffstat (limited to 'container/initdaemon_test.go')
| -rw-r--r-- | container/initdaemon_test.go | 33 |
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{ |
