diff options
| author | Ophestra <cat@gensokyo.uk> | 2026-05-04 02:07:52 +0900 |
|---|---|---|
| committer | Ophestra <cat@gensokyo.uk> | 2026-05-04 02:29:56 +0900 |
| commit | da11b26ec16ef9ed61045fdbb03c4090286bfeba (patch) | |
| tree | ef6120c9c274276eb90976dc49a1a0808a3914b9 /container/initoverlay_test.go | |
| parent | 024489e800a3324e2305546598b606357606e274 (diff) | |
container/initoverlay: configure via fsconfig
This works around the page size limit at the cost of negligible performance regressions.
Closes #34.
Signed-off-by: Ophestra <cat@gensokyo.uk>
Diffstat (limited to 'container/initoverlay_test.go')
| -rw-r--r-- | container/initoverlay_test.go | 66 |
1 files changed, 33 insertions, 33 deletions
diff --git a/container/initoverlay_test.go b/container/initoverlay_test.go index 30dd3237..f0cde7ff 100644 --- a/container/initoverlay_test.go +++ b/container/initoverlay_test.go @@ -97,13 +97,12 @@ func TestMountOverlayOp(t *testing.T) { call("mkdirAll", stub.ExpectArgs{"/sysroot", os.FileMode(0705)}, nil, nil), call("mkdirTemp", stub.ExpectArgs{"/", "overlay.upper.*"}, "overlay.upper.32768", nil), call("mkdirTemp", stub.ExpectArgs{"/", "overlay.work.*"}, "overlay.work.32768", nil), - call("mount", stub.ExpectArgs{"overlay", "/sysroot", "overlay", uintptr(0), "" + - "upperdir=overlay.upper.32768," + - "workdir=overlay.work.32768," + - "lowerdir=" + - `/host/var/lib/planterette/base/debian\:f92c9052:` + - `/host/var/lib/planterette/app/org.chromium.Chromium@debian\:f92c9052,` + - "userxattr"}, nil, nil), + call("mountOverlay", stub.ExpectArgs{"/sysroot", [][2]string{ + {"upperdir", "overlay.upper.32768"}, + {"workdir", "overlay.work.32768"}, + {"lowerdir+", `/host/var/lib/planterette/base/debian:f92c9052`}, + {"lowerdir+", `/host/var/lib/planterette/app/org.chromium.Chromium@debian:f92c9052`}, + }}, nil, nil), }, nil}, {"short lower ro", &Params{ParentPerm: 0755}, &MountOverlayOp{ @@ -129,11 +128,10 @@ func TestMountOverlayOp(t *testing.T) { call("evalSymlinks", stub.ExpectArgs{"/mnt-root/nix/.ro-store0"}, "/mnt-root/nix/.ro-store0", nil), }, nil, []stub.Call{ call("mkdirAll", stub.ExpectArgs{"/nix/store", os.FileMode(0755)}, nil, nil), - call("mount", stub.ExpectArgs{"overlay", "/nix/store", "overlay", uintptr(0), "" + - "lowerdir=" + - "/host/mnt-root/nix/.ro-store:" + - "/host/mnt-root/nix/.ro-store0," + - "userxattr"}, nil, nil), + call("mountOverlay", stub.ExpectArgs{"/nix/store", [][2]string{ + {"lowerdir+", "/host/mnt-root/nix/.ro-store"}, + {"lowerdir+", "/host/mnt-root/nix/.ro-store0"}, + }}, nil, nil), }, nil}, {"success ro", &Params{ParentPerm: 0755}, &MountOverlayOp{ @@ -147,11 +145,10 @@ func TestMountOverlayOp(t *testing.T) { call("evalSymlinks", stub.ExpectArgs{"/mnt-root/nix/.ro-store0"}, "/mnt-root/nix/.ro-store0", nil), }, nil, []stub.Call{ call("mkdirAll", stub.ExpectArgs{"/sysroot/nix/store", os.FileMode(0755)}, nil, nil), - call("mount", stub.ExpectArgs{"overlay", "/sysroot/nix/store", "overlay", uintptr(0), "" + - "lowerdir=" + - "/host/mnt-root/nix/.ro-store:" + - "/host/mnt-root/nix/.ro-store0," + - "userxattr"}, nil, nil), + call("mountOverlay", stub.ExpectArgs{"/sysroot/nix/store", [][2]string{ + {"lowerdir+", "/host/mnt-root/nix/.ro-store"}, + {"lowerdir+", "/host/mnt-root/nix/.ro-store0"}, + }}, nil, nil), }, nil}, {"nil lower", &Params{ParentPerm: 0700}, &MountOverlayOp{ @@ -219,7 +216,11 @@ func TestMountOverlayOp(t *testing.T) { call("evalSymlinks", stub.ExpectArgs{"/mnt-root/nix/.ro-store"}, "/mnt-root/nix/ro-store", nil), }, nil, []stub.Call{ call("mkdirAll", stub.ExpectArgs{"/sysroot/nix/store", os.FileMode(0700)}, nil, nil), - call("mount", stub.ExpectArgs{"overlay", "/sysroot/nix/store", "overlay", uintptr(0), "upperdir=/host/mnt-root/nix/.rw-store/.upper,workdir=/host/mnt-root/nix/.rw-store/.work,lowerdir=/host/mnt-root/nix/ro-store,userxattr"}, nil, stub.UniqueError(0)), + call("mountOverlay", stub.ExpectArgs{"/sysroot/nix/store", [][2]string{ + {"upperdir", "/host/mnt-root/nix/.rw-store/.upper"}, + {"workdir", "/host/mnt-root/nix/.rw-store/.work"}, + {"lowerdir+", "/host/mnt-root/nix/ro-store"}, + }}, nil, stub.UniqueError(0)), }, stub.UniqueError(0)}, {"success single layer", &Params{ParentPerm: 0700}, &MountOverlayOp{ @@ -233,11 +234,11 @@ func TestMountOverlayOp(t *testing.T) { call("evalSymlinks", stub.ExpectArgs{"/mnt-root/nix/.ro-store"}, "/mnt-root/nix/ro-store", nil), }, nil, []stub.Call{ call("mkdirAll", stub.ExpectArgs{"/sysroot/nix/store", os.FileMode(0700)}, nil, nil), - call("mount", stub.ExpectArgs{"overlay", "/sysroot/nix/store", "overlay", uintptr(0), "" + - "upperdir=/host/mnt-root/nix/.rw-store/.upper," + - "workdir=/host/mnt-root/nix/.rw-store/.work," + - "lowerdir=/host/mnt-root/nix/ro-store," + - "userxattr"}, nil, nil), + call("mountOverlay", stub.ExpectArgs{"/sysroot/nix/store", [][2]string{ + {"upperdir", "/host/mnt-root/nix/.rw-store/.upper"}, + {"workdir", "/host/mnt-root/nix/.rw-store/.work"}, + {"lowerdir+", "/host/mnt-root/nix/ro-store"}, + }}, nil, nil), }, nil}, {"success", &Params{ParentPerm: 0700}, &MountOverlayOp{ @@ -261,16 +262,15 @@ func TestMountOverlayOp(t *testing.T) { call("evalSymlinks", stub.ExpectArgs{"/mnt-root/nix/.ro-store3"}, "/mnt-root/nix/ro-store3", nil), }, nil, []stub.Call{ call("mkdirAll", stub.ExpectArgs{"/sysroot/nix/store", os.FileMode(0700)}, nil, nil), - call("mount", stub.ExpectArgs{"overlay", "/sysroot/nix/store", "overlay", uintptr(0), "" + - "upperdir=/host/mnt-root/nix/.rw-store/.upper," + - "workdir=/host/mnt-root/nix/.rw-store/.work," + - "lowerdir=" + - "/host/mnt-root/nix/ro-store:" + - "/host/mnt-root/nix/ro-store0:" + - "/host/mnt-root/nix/ro-store1:" + - "/host/mnt-root/nix/ro-store2:" + - "/host/mnt-root/nix/ro-store3," + - "userxattr"}, nil, nil), + call("mountOverlay", stub.ExpectArgs{"/sysroot/nix/store", [][2]string{ + {"upperdir", "/host/mnt-root/nix/.rw-store/.upper"}, + {"workdir", "/host/mnt-root/nix/.rw-store/.work"}, + {"lowerdir+", "/host/mnt-root/nix/ro-store"}, + {"lowerdir+", "/host/mnt-root/nix/ro-store0"}, + {"lowerdir+", "/host/mnt-root/nix/ro-store1"}, + {"lowerdir+", "/host/mnt-root/nix/ro-store2"}, + {"lowerdir+", "/host/mnt-root/nix/ro-store3"}, + }}, nil, nil), }, nil}, }) |
