aboutsummaryrefslogtreecommitdiffhomepage
path: root/hst/fsoverlay_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'hst/fsoverlay_test.go')
-rw-r--r--hst/fsoverlay_test.go14
1 files changed, 13 insertions, 1 deletions
diff --git a/hst/fsoverlay_test.go b/hst/fsoverlay_test.go
index 1b14e7c9..e1ae21b5 100644
--- a/hst/fsoverlay_test.go
+++ b/hst/fsoverlay_test.go
@@ -5,6 +5,7 @@ import (
"hakurei.app/check"
"hakurei.app/container"
+ "hakurei.app/fhs"
"hakurei.app/hst"
)
@@ -14,7 +15,7 @@ func TestFSOverlay(t *testing.T) {
checkFs(t, []fsTestCase{
{"nil", (*hst.FSOverlay)(nil), false, nil, nil, nil, "<invalid>"},
{"nil lower", &hst.FSOverlay{Target: m("/etc"), Lower: []*check.Absolute{nil}}, false, nil, nil, nil, "<invalid>"},
- {"zero lower", &hst.FSOverlay{Target: m("/etc"), Upper: m("/"), Work: m("/")}, false, nil, nil, nil, "<invalid>"},
+ {"zero lower", &hst.FSOverlay{Target: m("/etc"), Work: m("/")}, false, nil, nil, nil, "<invalid>"},
{"zero lower ro", &hst.FSOverlay{Target: m("/etc")}, false, nil, nil, nil, "<invalid>"},
{"short lower", &hst.FSOverlay{Target: m("/etc"), Lower: ms("/etc")}, false, nil, nil, nil, "<invalid>"},
@@ -62,5 +63,16 @@ func TestFSOverlay(t *testing.T) {
Work: m("/tmp/work"),
}}, m("/"), ms("/tmp/upper", "/tmp/work", "/tmp/.src0", "/tmp/.src1"),
"w*/:/tmp/upper:/tmp/work:/tmp/.src0:/tmp/.src1"},
+
+ {"ephemeral", &hst.FSOverlay{
+ Target: m("/"),
+ Lower: ms("/tmp/.src0", "/tmp/.src1"),
+ Upper: m("/tmp/upper"),
+ }, true, container.Ops{&container.MountOverlayOp{
+ Target: m("/"),
+ Lower: ms("/tmp/.src0", "/tmp/.src1", "/tmp/upper"),
+ Upper: fhs.AbsRoot,
+ }}, m("/"), ms("/tmp/upper", "/tmp/.src0", "/tmp/.src1"),
+ "e*/:/tmp/upper:/tmp/.src0:/tmp/.src1"},
})
}