Skip to content

Commit

Permalink
add tests for env param in hooks
Browse files Browse the repository at this point in the history
Signed-off-by: lfbzhm <[email protected]>
  • Loading branch information
lifubang committed Dec 11, 2024
1 parent 6c2bcc6 commit 53ccb05
Showing 1 changed file with 38 additions and 0 deletions.
38 changes: 38 additions & 0 deletions tests/integration/hooks.bats
Original file line number Diff line number Diff line change
Expand Up @@ -42,3 +42,41 @@ function teardown() {
[[ "$output" == *"error running $hook hook #1:"* ]]
done
}

@test "runc run [hook with env]" {
update_config '.process.args = ["/bin/true"]'
update_config '.process.env = ["mm=nn"]'
# All hooks except Poststop.
for hook in prestart createRuntime createContainer startContainer poststart; do
echo "testing hook $hook"
# shellcheck disable=SC2016
update_config '.hooks = {
"'$hook'": [{
"path": "/bin/sh",
"args": ["/bin/sh", "-c", "[ \"$mm\"==\"tt\" ] && echo yes, we got tt from the env mm && exit 1 || exit 0"],
"env": ["mm=tt"]
}]
}'
mm=nn runc run "test_hook-$hook"
[ "$status" -ne 0 ]
[[ "$output" == *"yes, we got tt from the env mm"* ]]
done
}

@test "runc run [hook without env does not inherit host env]" {
update_config '.process.args = ["/bin/true"]'
update_config '.process.env = ["mm=nn"]'
# All hooks except Poststop.
for hook in prestart createRuntime createContainer startContainer poststart; do
echo "testing hook $hook"
# shellcheck disable=SC2016
update_config '.hooks = {
"'$hook'": [{
"path": "/bin/sh",
"args": ["/bin/sh", "-c", "[[ \"$mm\" == \"nn\" ]] && echo \"$mm\" && exit 1 || exit 0"]
}]
}'
mm=nn runc run "test_hook-$hook"
[ "$status" -eq 0 ]
done
}

0 comments on commit 53ccb05

Please sign in to comment.