1
0
mirror of https://gitlab.alpinelinux.org/alpine/cloud/tiny-cloud.git synced 2025-12-16 03:42:44 +03:00
tiny-cloud/tests/init-early.test
2023-05-22 00:34:28 +00:00

39 lines
908 B
Bash
Executable File

#!/usr/bin/env atf-sh
# vim:set ft=sh
# shellcheck shell=sh
. $(atf_get_srcdir)/test_env.sh
export PREFIX="$srcdir"
export MOCK=echo
lib="$srcdir"/lib/tiny-cloud/init
init_tests \
save_userdata_plain \
save_userdata_compressed
save_userdata_plain_body() {
fake_userdata_nocloud <<-EOF
#userdata
EOF
CLOUD="nocloud" atf_check -e match:"NoCloud 'meta-data' is empty" \
sh -c ". \"$lib\"; init__save_userdata"
atf_check -o match:"^#userdata" cat var/lib/cloud/user-data
}
save_userdata_compressed_body() {
for comp in gzip bzip2 xz lzma lzop lz4 zstd; do
# fake_userdata_nocloud will set PATH so dont run it in a subshell
printf "%s\n" "#userdata" | $comp -c > tmpfile
fake_userdata_nocloud < tmpfile
CLOUD="nocloud" atf_check \
-e 'ignore' \
sh -c ". \"$lib\"; init__save_userdata"
if ! grep "^#userdata" var/lib/cloud/user-data; then
atf_fail "$comp failed"
fi
done
}