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/initproc_test.go | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) (limited to 'container/initproc_test.go') diff --git a/container/initproc_test.go b/container/initproc_test.go index eb55e4ec..2d72bd72 100644 --- a/container/initproc_test.go +++ b/container/initproc_test.go @@ -1,8 +1,28 @@ package container -import "testing" +import ( + "os" + "testing" +) func TestMountProcOp(t *testing.T) { + checkOpBehaviour(t, []opBehaviourTestCase{ + {"mkdir", &Params{ParentPerm: 0755}, + &MountProcOp{ + Target: MustAbs("/proc/"), + }, nil, nil, []kexpect{ + {"mkdirAll", expectArgs{"/sysroot/proc", os.FileMode(0755)}, nil, errUnique}, + }, wrapErrSelf(errUnique)}, + + {"success", &Params{ParentPerm: 0700}, + &MountProcOp{ + Target: MustAbs("/proc/"), + }, nil, nil, []kexpect{ + {"mkdirAll", expectArgs{"/sysroot/proc", os.FileMode(0700)}, nil, nil}, + {"mount", expectArgs{"proc", "/sysroot/proc", "proc", uintptr(0xe), ""}, nil, nil}, + }, nil}, + }) + checkOpsValid(t, []opValidTestCase{ {"nil", (*MountProcOp)(nil), false}, {"zero", new(MountProcOp), false}, -- cgit v1.3.1