From 51304b03af49efc66926f259507aa3a208535890 Mon Sep 17 00:00:00 2001 From: Ophestra Date: Wed, 20 Aug 2025 19:55:51 +0900 Subject: container/initremount: check path equivalence by value Fixes regression introduced while integrating Absolute. Signed-off-by: Ophestra --- container/initremount_test.go | 52 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 container/initremount_test.go (limited to 'container/initremount_test.go') diff --git a/container/initremount_test.go b/container/initremount_test.go new file mode 100644 index 00000000..a59160b9 --- /dev/null +++ b/container/initremount_test.go @@ -0,0 +1,52 @@ +package container + +import ( + "syscall" + "testing" +) + +func TestRemountOp(t *testing.T) { + checkOpsBuilder(t, []opsBuilderTestCase{ + {"root", new(Ops).Remount(MustAbs("/"), syscall.MS_RDONLY), Ops{ + &RemountOp{ + Target: MustAbs("/"), + Flags: syscall.MS_RDONLY, + }, + }}, + }) + + checkOpIs(t, []opIsTestCase{ + {"zero", new(RemountOp), new(RemountOp), false}, + + {"target differs", &RemountOp{ + Target: MustAbs("/dev/"), + Flags: syscall.MS_RDONLY, + }, &RemountOp{ + Target: MustAbs("/"), + Flags: syscall.MS_RDONLY, + }, false}, + + {"flags differs", &RemountOp{ + Target: MustAbs("/"), + Flags: syscall.MS_RDONLY | syscall.MS_NODEV, + }, &RemountOp{ + Target: MustAbs("/"), + Flags: syscall.MS_RDONLY, + }, false}, + + {"equals", &RemountOp{ + Target: MustAbs("/"), + Flags: syscall.MS_RDONLY, + }, &RemountOp{ + Target: MustAbs("/"), + Flags: syscall.MS_RDONLY, + }, true}, + }) + + checkOpMeta(t, []opMetaTestCase{ + {"root", &RemountOp{ + Target: MustAbs("/"), + Flags: syscall.MS_RDONLY, + }, "remounting", `"/" flags 0x1`}, + }) +} -- cgit v1.3.1