hakurei/hst/grp_pwd_test.go
Ophestra cb9ebf0e15
All checks were successful
Test / Create distribution (push) Successful in 27s
Test / Sandbox (push) Successful in 41s
Test / Sandbox (race detector) (push) Successful in 41s
Test / Hpkg (push) Successful in 42s
Test / Hakurei (push) Successful in 47s
Test / Hakurei (race detector) (push) Successful in 46s
Test / Flake checks (push) Successful in 1m31s
hst/grp_pwd: specify new uid format
This leaves slots available for additional uid ranges in Rosa OS.

This breaks all existing installations! Users are required to fix ownership manually.

Closes #18.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-11-04 08:24:41 +09:00

38 lines
900 B
Go

package hst_test
import (
"strconv"
"testing"
"hakurei.app/hst"
)
func TestUIDString(t *testing.T) {
t.Parallel()
testCases := []struct {
val uint32
want string
}{
{hst.AppStart + hst.IdentityStart, "u0_a0"}, // uidStart
{hst.ToUser[uint32](hst.RangeSize-1, hst.IdentityEnd), "u9999_a9999"}, // uidEnd
{hst.IsolatedStart + hst.IdentityStart, "u0_i0"}, // isolatedStart
{(hst.RangeSize-1)*hst.UserOffset + hst.IsolatedEnd, "u9999_i9999"}, // isolatedEnd
{0, "0"}, // out of bounds
}
for _, tc := range testCases {
t.Run(strconv.Itoa(int(tc.val)), func(t *testing.T) {
t.Parallel()
if got := hst.UID(tc.val).String(); got != tc.want {
t.Fatalf("UID.String: %q, want %q", got, tc.want)
}
if got := hst.GID(tc.val).String(); got != tc.want {
t.Fatalf("GID.String: %q, want %q", got, tc.want)
}
})
}
}