aboutsummaryrefslogtreecommitdiffhomepage
path: root/system
diff options
context:
space:
mode:
authorOphestra <cat@gensokyo.uk>2025-09-10 23:50:22 +0900
committerOphestra <cat@gensokyo.uk>2025-09-10 23:50:22 +0900
commit8df01b71d4df56c8b601ca8398b9c09315b69cb8 (patch)
treefc02800617f81acdd03e933afcdb38377497dca5 /system
parent985c4dd2fc175d8c52304ee387a71e7d855b421a (diff)
system: remove test package
This prepares the Commit and Revert methods for testing via stub. Signed-off-by: Ophestra <cat@gensokyo.uk>
Diffstat (limited to 'system')
-rw-r--r--system/system_test.go85
1 files changed, 39 insertions, 46 deletions
diff --git a/system/system_test.go b/system/system_test.go
index cbe3dfc4..3ab6c13d 100644
--- a/system/system_test.go
+++ b/system/system_test.go
@@ -1,35 +1,28 @@
-package system_test
+package system
import (
- "reflect"
"strconv"
"testing"
- _ "unsafe"
-
- "hakurei.app/system"
)
-//go:linkname criteriaHasType hakurei.app/system.(*Criteria).hasType
-func criteriaHasType(_ *system.Criteria, _ system.Enablement) bool
-
func TestCriteria(t *testing.T) {
testCases := []struct {
name string
- ec, t system.Enablement
+ ec, t Enablement
want bool
}{
- {"nil", 0xff, system.EWayland, true},
- {"nil user", 0xff, system.User, false},
- {"all", system.EWayland | system.EX11 | system.EDBus | system.EPulse | system.User | system.Process, system.Process, true},
+ {"nil", 0xff, EWayland, true},
+ {"nil user", 0xff, User, false},
+ {"all", EWayland | EX11 | EDBus | EPulse | User | Process, Process, true},
}
for _, tc := range testCases {
t.Run(tc.name, func(t *testing.T) {
- var criteria *system.Criteria
+ var criteria *Criteria
if tc.ec != 0xff {
- criteria = (*system.Criteria)(&tc.ec)
+ criteria = (*Criteria)(&tc.ec)
}
- if got := criteriaHasType(criteria, tc.t); got != tc.want {
+ if got := criteria.hasType(tc.t); got != tc.want {
t.Errorf("hasType: got %v, want %v",
got, tc.want)
}
@@ -39,23 +32,23 @@ func TestCriteria(t *testing.T) {
func TestTypeString(t *testing.T) {
testCases := []struct {
- e system.Enablement
+ e Enablement
want string
}{
- {system.EWayland, system.EWayland.String()},
- {system.EX11, system.EX11.String()},
- {system.EDBus, system.EDBus.String()},
- {system.EPulse, system.EPulse.String()},
- {system.User, "user"},
- {system.Process, "process"},
- {system.User | system.Process, "user, process"},
- {system.EWayland | system.User | system.Process, "wayland, user, process"},
- {system.EX11 | system.Process, "x11, process"},
+ {EWayland, EWayland.String()},
+ {EX11, EX11.String()},
+ {EDBus, EDBus.String()},
+ {EPulse, EPulse.String()},
+ {User, "user"},
+ {Process, "process"},
+ {User | Process, "user, process"},
+ {EWayland | User | Process, "wayland, user, process"},
+ {EX11 | Process, "x11, process"},
}
for _, tc := range testCases {
t.Run("label type string "+strconv.Itoa(int(tc.e)), func(t *testing.T) {
- if got := system.TypeString(tc.e); got != tc.want {
+ if got := TypeString(tc.e); got != tc.want {
t.Errorf("TypeString: %q, want %q", got, tc.want)
}
})
@@ -71,7 +64,7 @@ func TestNew(t *testing.T) {
t.Errorf("recover: %v, want %v", r, want)
}
}()
- system.New(nil, 0)
+ New(nil, 0)
})
t.Run("uid", func(t *testing.T) {
@@ -81,13 +74,13 @@ func TestNew(t *testing.T) {
t.Errorf("recover: %v, want %v", r, want)
}
}()
- system.New(t.Context(), -1)
+ New(t.Context(), -1)
})
})
- sys := system.New(t.Context(), 0xdeadbeef)
- if got := reflect.ValueOf(sys).Elem().FieldByName("ctx"); got.IsNil() {
- t.Errorf("New: ctx = %#v", got)
+ sys := New(t.Context(), 0xdeadbeef)
+ if sys.ctx == nil {
+ t.Error("New: ctx = nil")
}
if got := sys.UID(); got != 0xdeadbeef {
t.Errorf("UID: %d", got)
@@ -97,56 +90,56 @@ func TestNew(t *testing.T) {
func TestEqual(t *testing.T) {
testCases := []struct {
name string
- sys *system.I
- v *system.I
+ sys *I
+ v *I
want bool
}{
{"simple UID",
- system.New(t.Context(), 150),
- system.New(t.Context(), 150),
+ New(t.Context(), 150),
+ New(t.Context(), 150),
true},
{"simple UID differ",
- system.New(t.Context(), 150),
- system.New(t.Context(), 151),
+ New(t.Context(), 150),
+ New(t.Context(), 151),
false},
{"simple UID nil",
- system.New(t.Context(), 150),
+ New(t.Context(), 150),
nil,
false},
{"op length mismatch",
- system.New(t.Context(), 150).
+ New(t.Context(), 150).
ChangeHosts("chronos"),
- system.New(t.Context(), 150).
+ New(t.Context(), 150).
ChangeHosts("chronos").
Ensure("/run", 0755),
false},
{"op value mismatch",
- system.New(t.Context(), 150).
+ New(t.Context(), 150).
ChangeHosts("chronos").
Ensure("/run", 0644),
- system.New(t.Context(), 150).
+ New(t.Context(), 150).
ChangeHosts("chronos").
Ensure("/run", 0755),
false},
{"op type mismatch",
- system.New(t.Context(), 150).
+ New(t.Context(), 150).
ChangeHosts("chronos").
CopyFile(new([]byte), "/home/ophestra/xdg/config/pulse/cookie", 0, 256),
- system.New(t.Context(), 150).
+ New(t.Context(), 150).
ChangeHosts("chronos").
Ensure("/run", 0755),
false},
{"op equals",
- system.New(t.Context(), 150).
+ New(t.Context(), 150).
ChangeHosts("chronos").
Ensure("/run", 0755),
- system.New(t.Context(), 150).
+ New(t.Context(), 150).
ChangeHosts("chronos").
Ensure("/run", 0755),
true},