]> git.ipfire.org Git - thirdparty/dracut.git/commitdiff
test(16): make DMSQUASH test use the test dracut modules
authorLaszlo Gombos <laszlo.gombos@gmail.com>
Mon, 21 Nov 2022 01:38:02 +0000 (01:38 +0000)
committerAntonio Álvarez Feijoo <antonio.feijoo@suse.com>
Tue, 22 Nov 2022 07:42:21 +0000 (08:42 +0100)
test/TEST-16-DMSQUASH/finished-false.sh [deleted file]
test/TEST-16-DMSQUASH/hard-off.sh [deleted file]
test/TEST-16-DMSQUASH/test.sh

diff --git a/test/TEST-16-DMSQUASH/finished-false.sh b/test/TEST-16-DMSQUASH/finished-false.sh
deleted file mode 100755 (executable)
index ecdbef9..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-#!/bin/sh
-exit 1
diff --git a/test/TEST-16-DMSQUASH/hard-off.sh b/test/TEST-16-DMSQUASH/hard-off.sh
deleted file mode 100755 (executable)
index 01acb19..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/bin/sh
-getargbool 0 rd.shell || poweroff -f
-getargbool 0 failme && poweroff -f
index 33ef5aaf9a825e85e440344a496012c213cc0cf6..d8a7bc799abd65fdf39152cc56b18bb1add9c459 100755 (executable)
@@ -7,12 +7,10 @@ KVERSION="${KVERSION-$(uname -r)}"
 
 # Uncomment these to debug failures
 #DEBUGFAIL="rd.shell rd.debug rd.live.debug loglevel=7"
-#DEBUGTOOLS="setsid ls cat sfdisk"
 
 test_run() {
     dd if=/dev/zero of="$TESTDIR"/marker.img bs=1MiB count=1
     declare -a disk_args=()
-    # shellcheck disable=SC2034
     declare -i disk_index=0
     qemu_add_drive_args disk_index disk_args "$TESTDIR"/marker.img marker
     qemu_add_drive_args disk_index disk_args "$TESTDIR"/root.img root
@@ -60,53 +58,25 @@ test_run() {
 }
 
 test_setup() {
-    mkdir -p -- "$TESTDIR"/overlay/source
     # Create what will eventually be our root filesystem onto an overlay
-    (
-        # shellcheck disable=SC2030
-        # shellcheck disable=SC2031
-        export initdir="$TESTDIR"/overlay/source
-        # shellcheck disable=SC1090
-        . "$basedir"/dracut-init.sh
-        (
-            cd "$initdir" || exit
-            mkdir -p -- dev sys proc etc var/run tmp
-            mkdir -p root usr/bin usr/lib usr/lib64 usr/sbin
-        )
-        inst_simple /etc/os-release
-        [[ -f /etc/machine-id ]] && read -r MACHINE_ID < /etc/machine-id
-
-        inst ./test-init.sh /sbin/init
-        inst_simple "${basedir}/modules.d/99base/dracut-lib.sh" "/lib/dracut-lib.sh"
-        inst_simple "${basedir}/modules.d/99base/dracut-dev-lib.sh" "/lib/dracut-dev-lib.sh"
-        inst_binary "${basedir}/dracut-util" "/usr/bin/dracut-util"
-        ln -s dracut-util "${initdir}/usr/bin/dracut-getarg"
-        ln -s dracut-util "${initdir}/usr/bin/dracut-getargs"
-
-        inst_multiple mkdir ln dd stty mount poweroff grep "$DEBUGTOOLS"
-
-        cp -a -- /etc/ld.so.conf* "$initdir"/etc
-        ldconfig -r "$initdir"
-    )
+    "$basedir"/dracut.sh -l --keep --tmpdir "$TESTDIR" \
+        -m "test-root" \
+        -i ./test-init.sh /sbin/init \
+        -i "${basedir}/modules.d/99base/dracut-lib.sh" "/lib/dracut-lib.sh" \
+        -i "${basedir}/modules.d/99base/dracut-dev-lib.sh" "/lib/dracut-dev-lib.sh" \
+        --no-hostonly --no-hostonly-cmdline --nomdadmconf --nohardlink \
+        -f "$TESTDIR"/initramfs.root "$KVERSION" || return 1
+    mkdir -p "$TESTDIR"/overlay/source && mv "$TESTDIR"/dracut.*/initramfs/* "$TESTDIR"/overlay/source && rm -rf "$TESTDIR"/dracut.*
 
     # second, install the files needed to make the root filesystem
-    (
-        # shellcheck disable=SC2030
-        # shellcheck disable=SC2031
-        export initdir=$TESTDIR/overlay
-        # shellcheck disable=SC1090
-        . "$basedir"/dracut-init.sh
-        inst_multiple sfdisk poweroff cp umount sync dd mkfs.ext4 mksquashfs
-        inst_hook initqueue 01 ./create-root.sh
-        inst_hook initqueue/finished 01 ./finished-false.sh
-    )
-
     # create an initramfs that will create the target root filesystem.
     # We do it this way so that we do not risk trashing the host mdraid
     # devices, volume groups, encrypted partitions, etc.
     "$basedir"/dracut.sh -l -i "$TESTDIR"/overlay / \
-        --modules "rootfs-block qemu" \
+        --modules "test-makeroot rootfs-block qemu" \
         --drivers "ext4 sd_mod" \
+        --install "sfdisk mkfs.ext4 mksquashfs" \
+        --include ./create-root.sh /lib/dracut/hooks/initqueue/01-create-root.sh \
         --no-hostonly --no-hostonly-cmdline --no-early-microcode --nofscks --nomdadmconf --nohardlink --nostrip \
         --force "$TESTDIR"/initramfs.makeroot "$KVERSION" || return 1
     rm -rf -- "$TESTDIR"/overlay
@@ -115,7 +85,6 @@ test_setup() {
     dd if=/dev/zero of="$TESTDIR"/marker.img bs=1MiB count=1
     dd if=/dev/zero of="$TESTDIR"/root.img bs=1MiB count=160
     declare -a disk_args=()
-    # shellcheck disable=SC2034
     declare -i disk_index=0
     qemu_add_drive_args disk_index disk_args "$TESTDIR"/marker.img marker
     qemu_add_drive_args disk_index disk_args "$TESTDIR"/root.img root
@@ -131,34 +100,22 @@ test_setup() {
         return 1
     fi
 
-    (
-        # shellcheck disable=SC2030
-        # shellcheck disable=SC2031
-        export initdir="$TESTDIR"/overlay
-        # shellcheck disable=SC1090
-        . "$basedir"/dracut-init.sh
-        inst_multiple poweroff shutdown mkfs.ext4
-        inst_hook shutdown-emergency 000 ./hard-off.sh
-        inst_hook emergency 000 ./hard-off.sh
-    )
     "$basedir"/dracut.sh -l -i "$TESTDIR"/overlay / \
-        --modules "dash dmsquash-live qemu" \
+        --modules "test dash dmsquash-live qemu" \
         --omit "rngd" \
         --drivers "ext4 sd_mod" \
+        --install "mkfs.ext4" \
         --no-hostonly --no-hostonly-cmdline \
         --force "$TESTDIR"/initramfs.testing "$KVERSION" || return 1
 
-    ls -sh "$TESTDIR"/initramfs.testing
-
     "$basedir"/dracut.sh -l -i "$TESTDIR"/overlay / \
-        --modules "dmsquash-live-autooverlay qemu" \
+        --modules "test dmsquash-live-autooverlay qemu" \
         --omit "rngd" \
         --drivers "ext4 sd_mod" \
+        --install "mkfs.ext4" \
         --no-hostonly --no-hostonly-cmdline \
         --force "$TESTDIR"/initramfs.testing-autooverlay "$KVERSION" || return 1
 
-    ls -sh "$TESTDIR"/initramfs.testing-autooverlay
-
     rm -rf -- "$TESTDIR"/overlay
 }