Skip to content

Commit 609afbf

Browse files
committed
Check hardlink and symlink in test
1 parent bd051ed commit 609afbf

1 file changed

Lines changed: 16 additions & 0 deletions

File tree

Tests/CLITests/Subcommands/Containers/TestCLIExport.swift

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,12 +26,22 @@ class TestCLIExportCommand: CLITest {
2626
let name = getTestName()
2727
try doLongRun(name: name, autoRemove: false)
2828
defer {
29+
try? doStop(name: name)
2930
try? doRemove(name: name)
3031
}
3132

3233
let mustBeInImage = "must-be-in-image"
3334
_ = try doExec(name: name, cmd: ["sh", "-c", "echo \(mustBeInImage) > /foo"])
3435

36+
_ = try doExec(name: name, cmd: ["sh", "-c", "mkdir -p /parent/child"])
37+
let hardlinkMustRemain = "hardlink-must-remain"
38+
_ = try doExec(name: name, cmd: ["sh", "-c", "echo \(hardlinkMustRemain) > /parent/child/bar"])
39+
_ = try doExec(name: name, cmd: ["sh", "-c", "ln /parent/child/bar /bar"])
40+
41+
let symlinkMustRemain = "symlink-must-remain"
42+
_ = try doExec(name: name, cmd: ["sh", "-c", "echo \(symlinkMustRemain) > /parent/child/baz"])
43+
_ = try doExec(name: name, cmd: ["sh", "-c", "ln /parent/child/baz /baz"])
44+
3545
try doStop(name: name)
3646
try doExport(name: name, image: name)
3747
defer {
@@ -46,5 +56,11 @@ class TestCLIExportCommand: CLITest {
4656

4757
let foo = try doExec(name: exported, cmd: ["cat", "/foo"])
4858
#expect(foo == mustBeInImage + "\n")
59+
60+
let bar = try doExec(name: exported, cmd: ["cat", "/bar"])
61+
#expect(bar == hardlinkMustRemain + "\n")
62+
63+
let baz = try doExec(name: exported, cmd: ["cat", "/baz"])
64+
#expect(baz == symlinkMustRemain + "\n")
4965
}
5066
}

0 commit comments

Comments
 (0)