| #!/usr/bin/env bats |
| |
| load helpers |
| |
| function setup() { |
| requires root |
| setup_busybox |
| } |
| |
| function teardown() { |
| [ ! -v ROOT ] && return 0 # nothing to teardown |
| |
| # XXX runc does not unmount a container which |
| # shares mount namespace with the host. |
| umount -R --lazy "$ROOT"/bundle/rootfs |
| |
| teardown_bundle |
| } |
| |
| @test "runc run [host mount ns + hooks]" { |
| update_config ' .process.args = ["/bin/echo", "Hello World"] |
| | .hooks |= . + {"createRuntime": [{"path": "/bin/sh", "args": ["/bin/sh", "-c", "touch createRuntimeHook.$$"]}]} |
| | .linux.namespaces -= [{"type": "mount"}] |
| | .linux.maskedPaths = [] |
| | .linux.readonlyPaths = []' |
| runc run test_host_mntns |
| [ "$status" -eq 0 ] |
| runc delete -f test_host_mntns |
| |
| # There should be one such file. |
| run -0 ls createRuntimeHook.* |
| [ "$(echo "$output" | wc -w)" -eq 1 ] |
| } |