All checks were successful
Test / Create distribution (push) Successful in 40s
Test / Sandbox (push) Successful in 2m41s
Test / Sandbox (race detector) (push) Successful in 4m48s
Test / Hakurei (push) Successful in 4m56s
Test / Hpkg (push) Successful in 5m7s
Test / Hakurei (race detector) (push) Successful in 6m32s
Test / Flake checks (push) Successful in 1m33s
This improves readability as the offset is not immediately obvious. Signed-off-by: Ophestra <cat@gensokyo.uk>
158 lines
7.1 KiB
Go
158 lines
7.1 KiB
Go
package pipewire_test
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"hakurei.app/internal/pipewire"
|
|
)
|
|
|
|
func TestClientInfo(t *testing.T) {
|
|
t.Parallel()
|
|
|
|
encodingTestCases[pipewire.ClientInfo, *pipewire.ClientInfo]{
|
|
{"sample", samplePWContainer[1][2][1], pipewire.ClientInfo{
|
|
ID: 34,
|
|
ChangeMask: pipewire.PW_CLIENT_CHANGE_MASK_PROPS,
|
|
Properties: &pipewire.SPADict{
|
|
{Key: pipewire.PW_KEY_PROTOCOL, Value: "protocol-native"},
|
|
{Key: pipewire.PW_KEY_CORE_NAME, Value: "pipewire-0"},
|
|
{Key: pipewire.PW_KEY_SEC_SOCKET, Value: "pipewire-0-manager"},
|
|
{Key: pipewire.PW_KEY_SEC_PID, Value: "1443"},
|
|
{Key: pipewire.PW_KEY_SEC_UID, Value: "1000"},
|
|
{Key: pipewire.PW_KEY_SEC_GID, Value: "100"},
|
|
{Key: pipewire.PW_KEY_MODULE_ID, Value: "2"},
|
|
{Key: pipewire.PW_KEY_OBJECT_ID, Value: "34"},
|
|
{Key: pipewire.PW_KEY_OBJECT_SERIAL, Value: "34"},
|
|
}}, nil},
|
|
|
|
{"sample*", samplePWContainer[1][3][1], pipewire.ClientInfo{
|
|
ID: 34,
|
|
ChangeMask: pipewire.PW_CLIENT_CHANGE_MASK_PROPS,
|
|
Properties: &pipewire.SPADict{
|
|
{Key: pipewire.PW_KEY_PROTOCOL, Value: "protocol-native"},
|
|
{Key: pipewire.PW_KEY_CORE_NAME, Value: "pipewire-alice-1443"},
|
|
{Key: pipewire.PW_KEY_SEC_SOCKET, Value: "pipewire-0-manager"},
|
|
{Key: pipewire.PW_KEY_SEC_PID, Value: "1443"},
|
|
{Key: pipewire.PW_KEY_SEC_UID, Value: "1000"},
|
|
{Key: pipewire.PW_KEY_SEC_GID, Value: "100"},
|
|
{Key: pipewire.PW_KEY_MODULE_ID, Value: "2"},
|
|
{Key: pipewire.PW_KEY_OBJECT_ID, Value: "34"},
|
|
{Key: pipewire.PW_KEY_OBJECT_SERIAL, Value: "34"},
|
|
{Key: pipewire.PW_KEY_REMOTE_INTENTION, Value: "manager"},
|
|
{Key: pipewire.PW_KEY_APP_NAME, Value: "pw-container"},
|
|
{Key: pipewire.PW_KEY_APP_PROCESS_BINARY, Value: "pw-container"},
|
|
{Key: pipewire.PW_KEY_APP_LANGUAGE, Value: "en_US.UTF-8"},
|
|
{Key: pipewire.PW_KEY_APP_PROCESS_ID, Value: "1443"},
|
|
{Key: pipewire.PW_KEY_APP_PROCESS_USER, Value: "alice"},
|
|
{Key: pipewire.PW_KEY_APP_PROCESS_HOST, Value: "nixos"},
|
|
{Key: pipewire.PW_KEY_APP_PROCESS_SESSION_ID, Value: "1"},
|
|
{Key: pipewire.PW_KEY_WINDOW_X11_DISPLAY, Value: ":0"},
|
|
{Key: "cpu.vm.name", Value: "qemu"},
|
|
{Key: "log.level", Value: "0"},
|
|
{Key: pipewire.PW_KEY_CPU_MAX_ALIGN, Value: "32"},
|
|
{Key: "default.clock.rate", Value: "48000"},
|
|
{Key: "default.clock.quantum", Value: "1024"},
|
|
{Key: "default.clock.min-quantum", Value: "32"},
|
|
{Key: "default.clock.max-quantum", Value: "2048"},
|
|
{Key: "default.clock.quantum-limit", Value: "8192"},
|
|
{Key: "default.clock.quantum-floor", Value: "4"},
|
|
{Key: "default.video.width", Value: "640"},
|
|
{Key: "default.video.height", Value: "480"},
|
|
{Key: "default.video.rate.num", Value: "25"},
|
|
{Key: "default.video.rate.denom", Value: "1"},
|
|
{Key: "clock.power-of-two-quantum", Value: "true"},
|
|
{Key: "link.max-buffers", Value: "64"},
|
|
{Key: "mem.warn-mlock", Value: "false"},
|
|
{Key: "mem.allow-mlock", Value: "true"},
|
|
{Key: "settings.check-quantum", Value: "false"},
|
|
{Key: "settings.check-rate", Value: "false"},
|
|
{Key: pipewire.PW_KEY_CORE_VERSION, Value: "1.4.7"},
|
|
}}, nil},
|
|
|
|
{"sample**", samplePWContainer[1][4][1], pipewire.ClientInfo{
|
|
ID: 34,
|
|
ChangeMask: pipewire.PW_CLIENT_CHANGE_MASK_PROPS,
|
|
Properties: &pipewire.SPADict{
|
|
{Key: pipewire.PW_KEY_PROTOCOL, Value: "protocol-native"},
|
|
{Key: pipewire.PW_KEY_CORE_NAME, Value: "pipewire-alice-1443"},
|
|
{Key: pipewire.PW_KEY_SEC_SOCKET, Value: "pipewire-0-manager"},
|
|
{Key: pipewire.PW_KEY_SEC_PID, Value: "1443"},
|
|
{Key: pipewire.PW_KEY_SEC_UID, Value: "1000"},
|
|
{Key: pipewire.PW_KEY_SEC_GID, Value: "100"},
|
|
{Key: pipewire.PW_KEY_MODULE_ID, Value: "2"},
|
|
{Key: pipewire.PW_KEY_OBJECT_ID, Value: "34"},
|
|
{Key: pipewire.PW_KEY_OBJECT_SERIAL, Value: "34"},
|
|
{Key: pipewire.PW_KEY_REMOTE_INTENTION, Value: "manager"},
|
|
{Key: pipewire.PW_KEY_APP_NAME, Value: "pw-container"},
|
|
{Key: pipewire.PW_KEY_APP_PROCESS_BINARY, Value: "pw-container"},
|
|
{Key: pipewire.PW_KEY_APP_LANGUAGE, Value: "en_US.UTF-8"},
|
|
{Key: pipewire.PW_KEY_APP_PROCESS_ID, Value: "1443"},
|
|
{Key: pipewire.PW_KEY_APP_PROCESS_USER, Value: "alice"},
|
|
{Key: pipewire.PW_KEY_APP_PROCESS_HOST, Value: "nixos"},
|
|
{Key: pipewire.PW_KEY_APP_PROCESS_SESSION_ID, Value: "1"},
|
|
{Key: pipewire.PW_KEY_WINDOW_X11_DISPLAY, Value: ":0"},
|
|
{Key: "cpu.vm.name", Value: "qemu"},
|
|
{Key: "log.level", Value: "0"},
|
|
{Key: pipewire.PW_KEY_CPU_MAX_ALIGN, Value: "32"},
|
|
{Key: "default.clock.rate", Value: "48000"},
|
|
{Key: "default.clock.quantum", Value: "1024"},
|
|
{Key: "default.clock.min-quantum", Value: "32"},
|
|
{Key: "default.clock.max-quantum", Value: "2048"},
|
|
{Key: "default.clock.quantum-limit", Value: "8192"},
|
|
{Key: "default.clock.quantum-floor", Value: "4"},
|
|
{Key: "default.video.width", Value: "640"},
|
|
{Key: "default.video.height", Value: "480"},
|
|
{Key: "default.video.rate.num", Value: "25"},
|
|
{Key: "default.video.rate.denom", Value: "1"},
|
|
{Key: "clock.power-of-two-quantum", Value: "true"},
|
|
{Key: "link.max-buffers", Value: "64"},
|
|
{Key: "mem.warn-mlock", Value: "false"},
|
|
{Key: "mem.allow-mlock", Value: "true"},
|
|
{Key: "settings.check-quantum", Value: "false"},
|
|
{Key: "settings.check-rate", Value: "false"},
|
|
{Key: pipewire.PW_KEY_CORE_VERSION, Value: "1.4.7"},
|
|
{Key: pipewire.PW_KEY_ACCESS, Value: "unrestricted"},
|
|
},
|
|
}, nil},
|
|
}.run(t)
|
|
}
|
|
|
|
func TestClientUpdateProperties(t *testing.T) {
|
|
t.Parallel()
|
|
|
|
encodingTestCases[pipewire.ClientUpdateProperties, *pipewire.ClientUpdateProperties]{
|
|
{"sample", samplePWContainer[0][1][1], pipewire.ClientUpdateProperties{Properties: &pipewire.SPADict{
|
|
{Key: pipewire.PW_KEY_REMOTE_INTENTION, Value: "manager"},
|
|
{Key: pipewire.PW_KEY_APP_NAME, Value: "pw-container"},
|
|
{Key: pipewire.PW_KEY_APP_PROCESS_BINARY, Value: "pw-container"},
|
|
{Key: pipewire.PW_KEY_APP_LANGUAGE, Value: "en_US.UTF-8"},
|
|
{Key: pipewire.PW_KEY_APP_PROCESS_ID, Value: "1443"},
|
|
{Key: pipewire.PW_KEY_APP_PROCESS_USER, Value: "alice"},
|
|
{Key: pipewire.PW_KEY_APP_PROCESS_HOST, Value: "nixos"},
|
|
{Key: pipewire.PW_KEY_APP_PROCESS_SESSION_ID, Value: "1"},
|
|
{Key: pipewire.PW_KEY_WINDOW_X11_DISPLAY, Value: ":0"},
|
|
{Key: "cpu.vm.name", Value: "qemu"},
|
|
{Key: "log.level", Value: "0"},
|
|
{Key: pipewire.PW_KEY_CPU_MAX_ALIGN, Value: "32"},
|
|
{Key: "default.clock.rate", Value: "48000"},
|
|
{Key: "default.clock.quantum", Value: "1024"},
|
|
{Key: "default.clock.min-quantum", Value: "32"},
|
|
{Key: "default.clock.max-quantum", Value: "2048"},
|
|
{Key: "default.clock.quantum-limit", Value: "8192"},
|
|
{Key: "default.clock.quantum-floor", Value: "4"},
|
|
{Key: "default.video.width", Value: "640"},
|
|
{Key: "default.video.height", Value: "480"},
|
|
{Key: "default.video.rate.num", Value: "25"},
|
|
{Key: "default.video.rate.denom", Value: "1"},
|
|
{Key: "clock.power-of-two-quantum", Value: "true"},
|
|
{Key: "link.max-buffers", Value: "64"},
|
|
{Key: "mem.warn-mlock", Value: "false"},
|
|
{Key: "mem.allow-mlock", Value: "true"},
|
|
{Key: "settings.check-quantum", Value: "false"},
|
|
{Key: "settings.check-rate", Value: "false"},
|
|
{Key: pipewire.PW_KEY_CORE_VERSION, Value: "1.4.7"},
|
|
{Key: pipewire.PW_KEY_CORE_NAME, Value: "pipewire-alice-1443"},
|
|
}}, nil},
|
|
}.run(t)
|
|
}
|