aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorOphestra <cat@gensokyo.uk>2025-12-07 17:31:10 +0900
committerOphestra <cat@gensokyo.uk>2025-12-07 17:31:10 +0900
commit1b17ccda914de78a88e1edbb42ce70d963d4b5a2 (patch)
treebc82be23e45591f55b716e0d846e415dca7bac16
parent7c6fc1128b89ebfc22adc52bac1fdb9205e69150 (diff)
internal/system: optional op check parallelism
The PipeWire Op check cannot be made parallel due to the OS interaction. Signed-off-by: Ophestra <cat@gensokyo.uk>
-rw-r--r--internal/system/acl_test.go2
-rw-r--r--internal/system/dbus_test.go2
-rw-r--r--internal/system/dispatcher_test.go15
-rw-r--r--internal/system/link_test.go2
-rw-r--r--internal/system/mkdir_test.go2
-rw-r--r--internal/system/wayland_test.go2
-rw-r--r--internal/system/xhost_test.go2
7 files changed, 18 insertions, 9 deletions
diff --git a/internal/system/acl_test.go b/internal/system/acl_test.go
index f7829e24..70feaa8b 100644
--- a/internal/system/acl_test.go
+++ b/internal/system/acl_test.go
@@ -13,7 +13,7 @@ import (
func TestACLUpdateOp(t *testing.T) {
t.Parallel()
- checkOpBehaviour(t, []opBehaviourTestCase{
+ checkOpBehaviour(t, 0, []opBehaviourTestCase{
{"apply aclUpdate", 0xbeef, 0xff,
&aclUpdateOp{Process, "/proc/nonexistent", []acl.Perm{acl.Read, acl.Write, acl.Execute}}, []stub.Call{
call("verbose", stub.ExpectArgs{[]any{"applying ACL", &aclUpdateOp{Process, "/proc/nonexistent", []acl.Perm{acl.Read, acl.Write, acl.Execute}}}}, nil, nil),
diff --git a/internal/system/dbus_test.go b/internal/system/dbus_test.go
index 10d242ca..26e5b87a 100644
--- a/internal/system/dbus_test.go
+++ b/internal/system/dbus_test.go
@@ -18,7 +18,7 @@ import (
func TestDBusProxyOp(t *testing.T) {
t.Parallel()
- checkOpBehaviour(t, []opBehaviourTestCase{
+ checkOpBehaviour(t, 0, []opBehaviourTestCase{
{"dbusProxyStart", 0xdead, 0xff, &dbusProxyOp{
final: dbusNewFinalSample(4),
out: new(linePrefixWriter), // panics on write
diff --git a/internal/system/dispatcher_test.go b/internal/system/dispatcher_test.go
index 85bd45bf..ed162171 100644
--- a/internal/system/dispatcher_test.go
+++ b/internal/system/dispatcher_test.go
@@ -36,17 +36,26 @@ type opBehaviourTestCase struct {
wantErrRevert error
}
-func checkOpBehaviour(t *testing.T, testCases []opBehaviourTestCase) {
+const (
+ // checkNoParallel causes checkOpBehaviour to skip setting tests as parallel.
+ checkNoParallel = 1 << iota
+)
+
+func checkOpBehaviour(t *testing.T, flags int, testCases []opBehaviourTestCase) {
t.Helper()
t.Run("behaviour", func(t *testing.T) {
t.Helper()
- t.Parallel()
+ if flags&checkNoParallel == 0 {
+ t.Parallel()
+ }
for _, tc := range testCases {
t.Run(tc.name, func(t *testing.T) {
t.Helper()
- t.Parallel()
+ if flags&checkNoParallel == 0 {
+ t.Parallel()
+ }
var ec *Criteria
if tc.ec != 0xff {
diff --git a/internal/system/link_test.go b/internal/system/link_test.go
index d719931f..b1d845b6 100644
--- a/internal/system/link_test.go
+++ b/internal/system/link_test.go
@@ -10,7 +10,7 @@ import (
func TestHardlinkOp(t *testing.T) {
t.Parallel()
- checkOpBehaviour(t, []opBehaviourTestCase{
+ checkOpBehaviour(t, 0, []opBehaviourTestCase{
{"link", 0xbeef, 0xff, &hardlinkOp{hst.EPulse, "/run/user/1000/hakurei/9663730666a44cfc2a81610379e02ed6/pulse", "/run/user/1000/pulse/native"}, []stub.Call{
call("verbose", stub.ExpectArgs{[]any{"linking", &hardlinkOp{hst.EPulse, "/run/user/1000/hakurei/9663730666a44cfc2a81610379e02ed6/pulse", "/run/user/1000/pulse/native"}}}, nil, nil),
call("link", stub.ExpectArgs{"/run/user/1000/pulse/native", "/run/user/1000/hakurei/9663730666a44cfc2a81610379e02ed6/pulse"}, nil, stub.UniqueError(1)),
diff --git a/internal/system/mkdir_test.go b/internal/system/mkdir_test.go
index e8ffde2a..e5d97b3a 100644
--- a/internal/system/mkdir_test.go
+++ b/internal/system/mkdir_test.go
@@ -10,7 +10,7 @@ import (
func TestMkdirOp(t *testing.T) {
t.Parallel()
- checkOpBehaviour(t, []opBehaviourTestCase{
+ checkOpBehaviour(t, 0, []opBehaviourTestCase{
{"mkdir", 0xbeef, 0xff, &mkdirOp{User, "/tmp/hakurei.0/f2f3bcd492d0266438fa9bf164fe90d9", 0711, false}, []stub.Call{
call("verbose", stub.ExpectArgs{[]any{"ensuring directory", &mkdirOp{User, "/tmp/hakurei.0/f2f3bcd492d0266438fa9bf164fe90d9", 0711, false}}}, nil, nil),
call("mkdir", stub.ExpectArgs{"/tmp/hakurei.0/f2f3bcd492d0266438fa9bf164fe90d9", os.FileMode(0711)}, nil, stub.UniqueError(2)),
diff --git a/internal/system/wayland_test.go b/internal/system/wayland_test.go
index 5fe5ef08..0fdaf818 100644
--- a/internal/system/wayland_test.go
+++ b/internal/system/wayland_test.go
@@ -11,7 +11,7 @@ import (
func TestWaylandOp(t *testing.T) {
t.Parallel()
- checkOpBehaviour(t, []opBehaviourTestCase{
+ checkOpBehaviour(t, 0, []opBehaviourTestCase{
{"chmod", 0xbeef, 0xff, &waylandOp{nil,
m("/tmp/hakurei.1971/ebf083d1b175911782d413369b64ce7c/wayland"),
m("/run/user/1971/wayland-0"),
diff --git a/internal/system/xhost_test.go b/internal/system/xhost_test.go
index 75ad5b9b..72ecf2d6 100644
--- a/internal/system/xhost_test.go
+++ b/internal/system/xhost_test.go
@@ -11,7 +11,7 @@ import (
func TestXHostOp(t *testing.T) {
t.Parallel()
- checkOpBehaviour(t, []opBehaviourTestCase{
+ checkOpBehaviour(t, 0, []opBehaviourTestCase{
{"xcbChangeHosts revert", 0xbeef, hst.EX11, xhostOp("chronos"), []stub.Call{
call("verbosef", stub.ExpectArgs{"inserting entry %s to X11", []any{xhostOp("chronos")}}, nil, nil),
call("xcbChangeHosts", stub.ExpectArgs{xcb.HostMode(xcb.HostModeInsert), xcb.Family(xcb.FamilyServerInterpreted), "localuser\x00chronos"}, nil, stub.UniqueError(1)),