aboutsummaryrefslogtreecommitdiffhomepage
path: root/internal/uevent/action_test.go
diff options
context:
space:
mode:
authorOphestra <cat@gensokyo.uk>2026-03-27 22:37:36 +0900
committerOphestra <cat@gensokyo.uk>2026-03-27 22:39:43 +0900
commitee22847dde5c02027a4f180f1f32a69adc3aaf70 (patch)
treec1cdd5a0b546cfe2903e197c4658098960a67254 /internal/uevent/action_test.go
parentc61188649b757ba81c813ff2f7351a3d393cdce1 (diff)
internal/uevent: kobject_action lookup
This is encoded as part of kobject uevent message headers. Signed-off-by: Ophestra <cat@gensokyo.uk>
Diffstat (limited to 'internal/uevent/action_test.go')
-rw-r--r--internal/uevent/action_test.go32
1 files changed, 32 insertions, 0 deletions
diff --git a/internal/uevent/action_test.go b/internal/uevent/action_test.go
new file mode 100644
index 00000000..1a552f15
--- /dev/null
+++ b/internal/uevent/action_test.go
@@ -0,0 +1,32 @@
+package uevent_test
+
+import (
+ "syscall"
+ "testing"
+
+ "hakurei.app/internal/uevent"
+)
+
+func TestKobjectAction(t *testing.T) {
+ t.Parallel()
+
+ adeT(t, "add", uevent.KOBJ_ADD, "add", nil, nil)
+ adeT(t, "remove", uevent.KOBJ_REMOVE, "remove", nil, nil)
+ adeT(t, "change", uevent.KOBJ_CHANGE, "change", nil, nil)
+ adeT(t, "move", uevent.KOBJ_MOVE, "move", nil, nil)
+ adeT(t, "online", uevent.KOBJ_ONLINE, "online", nil, nil)
+ adeT(t, "offline", uevent.KOBJ_OFFLINE, "offline", nil, nil)
+ adeT(t, "bind", uevent.KOBJ_BIND, "bind", nil, nil)
+ adeT(t, "unbind", uevent.KOBJ_UNBIND, "unbind", nil, nil)
+
+ adeT(t, "unsupported", uevent.KobjectAction(0xbad), "explode",
+ uevent.UnsupportedActionError("explode"), syscall.EINVAL)
+ t.Run("oob string", func(t *testing.T) {
+ t.Parallel()
+
+ const want = "unsupported kobject_action 2989"
+ if got := uevent.KobjectAction(0xbad).String(); got != want {
+ t.Errorf("String: %q, want %q", got, want)
+ }
+ })
+}