diff options
Diffstat (limited to '')
-rw-r--r-- | tests/special-hooks-using-helpers | 28 | ||||
-rw-r--r-- | tests/special-hooks-using-helpers-and-env-vars | 31 |
2 files changed, 59 insertions, 0 deletions
diff --git a/tests/special-hooks-using-helpers b/tests/special-hooks-using-helpers new file mode 100644 index 0000000..a211746 --- /dev/null +++ b/tests/special-hooks-using-helpers @@ -0,0 +1,28 @@ +#!/bin/sh +set -eu +export LC_ALL=C.UTF-8 +mkfifo /tmp/myfifo +mkdir /tmp/root +ln -s /real /tmp/root/link +mkdir /tmp/root/real +run_testA() { + echo content > /tmp/foo + # shellcheck disable=SC2094 + { { { {{ CMD }} --hook-helper /tmp/root root setup '' 1 upload /tmp/foo "$1" < /tmp/myfifo 3>&-; echo $? >&3; printf "\\000\\000adios"; + } | {{ CMD }} --hook-listener 1 3>&- >/tmp/myfifo; echo $?; } 3>&1; + } | { read -r xs1; [ "$xs1" -eq 0 ]; read -r xs2; [ "$xs2" -eq 0 ]; } + echo content | diff -u - /tmp/root/real/foo + rm /tmp/foo + rm /tmp/root/real/foo +} +run_testA link/foo +run_testA /link/foo +run_testA ///link///foo/// +run_testA /././link/././foo/././ +run_testA /link/../link/foo +run_testA /link/../../link/foo +run_testA /../../link/foo +rmdir /tmp/root/real +rm /tmp/root/link +rmdir /tmp/root +rm /tmp/myfifo diff --git a/tests/special-hooks-using-helpers-and-env-vars b/tests/special-hooks-using-helpers-and-env-vars new file mode 100644 index 0000000..7a1ffeb --- /dev/null +++ b/tests/special-hooks-using-helpers-and-env-vars @@ -0,0 +1,31 @@ +#!/bin/sh +set -eu +export LC_ALL=C.UTF-8 +cat << 'SCRIPT' > /tmp/script.sh +#!/bin/sh +set -eu +echo "MMDEBSTRAP_APT_CONFIG $MMDEBSTRAP_APT_CONFIG" +echo "$MMDEBSTRAP_HOOK" >> /tmp/hooks +[ "$MMDEBSTRAP_MODE" = "root" ] +echo test-content $MMDEBSTRAP_HOOK > test +{{ CMD }} --hook-helper "$1" "$MMDEBSTRAP_MODE" "$MMDEBSTRAP_HOOK" '' 1 upload test /test <&$MMDEBSTRAP_HOOKSOCK >&$MMDEBSTRAP_HOOKSOCK +rm test +echo "content inside chroot:" +cat "$1/test" +[ "test-content $MMDEBSTRAP_HOOK" = "$(cat "$1/test")" ] +{{ CMD }} --hook-helper "$1" "$MMDEBSTRAP_MODE" "$MMDEBSTRAP_HOOK" '' 1 download /test test <&$MMDEBSTRAP_HOOKSOCK >&$MMDEBSTRAP_HOOKSOCK +echo "content outside chroot:" +cat test +[ "test-content $MMDEBSTRAP_HOOK" = "$(cat test)" ] +rm test +SCRIPT +chmod +x /tmp/script.sh +{{ CMD }} --mode=root --variant=apt \ + --setup-hook=/tmp/script.sh \ + --extract-hook=/tmp/script.sh \ + --essential-hook=/tmp/script.sh \ + --customize-hook=/tmp/script.sh \ + {{ DIST }} /tmp/debian-chroot {{ MIRROR }} +printf "setup\nextract\nessential\ncustomize\n" | diff -u - /tmp/hooks +rm /tmp/script.sh /tmp/hooks +rm -r /tmp/debian-chroot |