From 09d284498109b847da0da1e2c5f883268a7f2d46 Mon Sep 17 00:00:00 2001 From: Ophestra Date: Thu, 21 Aug 2025 21:59:07 +0900 Subject: container/init: wrap syscall helper functions This allows tests to stub all kernel behaviour, enabling measurement of all function call arguments and error injection. Signed-off-by: Ophestra --- container/inittmpfs_test.go | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'container/inittmpfs_test.go') diff --git a/container/inittmpfs_test.go b/container/inittmpfs_test.go index c9245869..8110f446 100644 --- a/container/inittmpfs_test.go +++ b/container/inittmpfs_test.go @@ -1,11 +1,34 @@ package container import ( + "io/fs" + "os" "syscall" "testing" ) func TestMountTmpfsOp(t *testing.T) { + checkOpBehaviour(t, []opBehaviourTestCase{ + {"size oob", new(Params), &MountTmpfsOp{ + Size: -1, + }, nil, nil, nil, msg.WrapErr(fs.ErrInvalid, "size -1 out of bounds")}, + + {"success", new(Params), &MountTmpfsOp{ + FSName: "ephemeral", + Path: MustAbs("/run/user/1000/"), + Size: 1 << 10, + Perm: 0700, + }, nil, nil, []kexpect{ + {"mountTmpfs", expectArgs{ + "ephemeral", // fsname + "/sysroot/run/user/1000", // target + uintptr(0), // flags + 0x400, // size + os.FileMode(0700), // perm + }, nil, nil}, + }, nil}, + }) + checkOpsValid(t, []opValidTestCase{ {"nil", (*MountTmpfsOp)(nil), false}, {"zero", new(MountTmpfsOp), false}, -- cgit v1.3.1