summaryrefslogtreecommitdiffstats
path: root/test/TEST-50-DISSECT/test.sh
diff options
context:
space:
mode:
Diffstat (limited to '')
-rwxr-xr-xtest/TEST-50-DISSECT/test.sh52
1 files changed, 52 insertions, 0 deletions
diff --git a/test/TEST-50-DISSECT/test.sh b/test/TEST-50-DISSECT/test.sh
new file mode 100755
index 0000000..073ca8c
--- /dev/null
+++ b/test/TEST-50-DISSECT/test.sh
@@ -0,0 +1,52 @@
+#!/usr/bin/env bash
+# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
+# ex: ts=8 sw=4 sts=4 et filetype=sh
+set -e
+TEST_DESCRIPTION="test systemd-dissect"
+IMAGE_NAME="dissect"
+TEST_NO_NSPAWN=1
+
+. $TEST_BASE_DIR/test-functions
+
+command -v mksquashfs >/dev/null 2>&1 || exit 0
+command -v veritysetup >/dev/null 2>&1 || exit 0
+command -v sfdisk >/dev/null 2>&1 || exit 0
+
+# Need loop devices for systemd-dissect
+test_create_image() {
+ create_empty_image_rootdir
+
+ # Create what will eventually be our root filesystem onto an overlay
+ # If some pieces are missing from the host, skip rather than fail
+ (
+ LOG_LEVEL=5
+ setup_basic_environment
+ mask_supporting_services
+
+ instmods loop =block
+ instmods squashfs =squashfs
+ instmods dm_verity =md
+ install_dmevent
+ generate_module_dependencies
+ inst_binary losetup
+
+ BASICTOOLS=(
+ bash
+ cat
+ mount
+ )
+ oldinitdir=$initdir
+ export initdir=$TESTDIR/minimal
+ mkdir -p $initdir/usr/lib $initdir/etc
+ setup_basic_dirs
+ install_basic_tools
+ cp $os_release $initdir/usr/lib/os-release
+ ln -s ../usr/lib/os-release $initdir/etc/os-release
+ echo MARKER=1 >> $initdir/usr/lib/os-release
+ mksquashfs $initdir $oldinitdir/usr/share/minimal.raw
+ veritysetup format $oldinitdir/usr/share/minimal.raw $oldinitdir/usr/share/minimal.verity | grep '^Root hash:' | cut -f2 | tr -d '\n' > $oldinitdir/usr/share/minimal.roothash
+ export initdir=$oldinitdir
+ )
+}
+
+do_test "$@" 50