internal/uevent: kobject_action lookup
All checks were successful
Test / Create distribution (push) Successful in 1m16s
Test / Sandbox (push) Successful in 3m12s
Test / Hakurei (push) Successful in 4m13s
Test / ShareFS (push) Successful in 4m22s
Test / Sandbox (race detector) (push) Successful in 5m35s
Test / Hakurei (race detector) (push) Successful in 6m46s
Test / Flake checks (push) Successful in 1m47s

This is encoded as part of kobject uevent message headers.

Signed-off-by: Ophestra <cat@gensokyo.uk>
This commit is contained in:
2026-03-27 22:37:36 +09:00
parent c61188649b
commit ee22847dde
3 changed files with 189 additions and 0 deletions

View File

@@ -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)
}
})
}