aboutsummaryrefslogtreecommitdiffhomepage
path: root/internal/pipewire/pipewire_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/pipewire/pipewire_test.go')
-rw-r--r--internal/pipewire/pipewire_test.go13
1 files changed, 13 insertions, 0 deletions
diff --git a/internal/pipewire/pipewire_test.go b/internal/pipewire/pipewire_test.go
index 0b65b86b..9305e7ec 100644
--- a/internal/pipewire/pipewire_test.go
+++ b/internal/pipewire/pipewire_test.go
@@ -6,6 +6,7 @@ import (
"strconv"
. "syscall"
"testing"
+ "time"
"hakurei.app/container/stub"
"hakurei.app/internal/pipewire"
@@ -715,6 +716,18 @@ type stubUnixConn struct {
current int
}
+func (conn *stubUnixConn) MightBlock(timeout time.Duration) {
+ if timeout != 5*time.Second {
+ panic("unexpected timeout " + timeout.String())
+ }
+ if conn.current == 0 ||
+ (conn.samples[conn.current-1].nr == SYS_RECVMSG && conn.samples[conn.current-1].errno == EAGAIN && conn.samples[conn.current].nr == SYS_SENDMSG) ||
+ (conn.samples[conn.current-1].nr == SYS_SENDMSG && conn.samples[conn.current].nr == SYS_RECVMSG) {
+ return
+ }
+ panic("unexpected blocking hint before sample " + strconv.Itoa(conn.current))
+}
+
// nextSample returns the current sample and increments the counter.
func (conn *stubUnixConn) nextSample(nr uintptr) (sample *stubUnixConnSample, wantOOB []byte, err error) {
sample = &conn.samples[conn.current]