From: Laszlo Gombos Date: Tue, 8 Nov 2022 04:28:36 +0000 (+0000) Subject: test: make test 01 and 02 use the test dracut modules X-Git-Tag: 058~60 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=fac851814f8a6563026c6c29e8dd484e08f70b63;p=thirdparty%2Fdracut.git test: make test 01 and 02 use the test dracut modules --- diff --git a/test/TEST-01-BASIC/finished-false.sh b/test/TEST-01-BASIC/finished-false.sh deleted file mode 100755 index ecdbef95d..000000000 --- a/test/TEST-01-BASIC/finished-false.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/sh -exit 1 diff --git a/test/TEST-01-BASIC/hard-off.sh b/test/TEST-01-BASIC/hard-off.sh deleted file mode 100755 index 01acb1958..000000000 --- a/test/TEST-01-BASIC/hard-off.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh -getargbool 0 rd.shell || poweroff -f -getargbool 0 failme && poweroff -f diff --git a/test/TEST-01-BASIC/test.sh b/test/TEST-01-BASIC/test.sh index b782e7ee1..204a3d99e 100755 --- a/test/TEST-01-BASIC/test.sh +++ b/test/TEST-01-BASIC/test.sh @@ -10,7 +10,6 @@ KVERSION=${KVERSION-$(uname -r)} 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 @@ -25,59 +24,25 @@ test_run() { } test_setup() { - kernel=$KVERSION # Create what will eventually be our root filesystem onto an overlay - ( - # shellcheck disable=SC2030 - export initdir=$TESTDIR/overlay/source - mkdir -p "$initdir" - # 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_multiple sh df free ls shutdown poweroff stty cat ps ln \ - mount dmesg mkdir cp \ - umount strace less setsid dd sync - for _terminfodir in /lib/terminfo /etc/terminfo /usr/share/terminfo; do - [ -f ${_terminfodir}/l/linux ] && break - done - inst_multiple -o ${_terminfodir}/l/linux - - 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 grep - inst_simple /etc/os-release - inst ./test-init.sh /sbin/init - find_binary plymouth > /dev/null && inst_multiple plymouth - 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=SC2031 - # shellcheck disable=SC2030 - export initdir=$TESTDIR/overlay - # shellcheck disable=SC1090 - . "$basedir"/dracut-init.sh - inst_multiple sfdisk mkfs.ext3 poweroff cp umount sync dd - 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 / \ - -m "dash rootfs-block kernel-modules qemu" \ + -m "test-makeroot dash rootfs-block kernel-modules" \ -d "piix ide-gd_mod ata_piix ext3 sd_mod" \ + -I "mkfs.ext3" \ + -i ./create-root.sh /lib/dracut/hooks/initqueue/01-create-root.sh \ --nomdadmconf \ --no-hostonly-cmdline -N \ -f "$TESTDIR"/initramfs.makeroot "$KVERSION" || return 1 @@ -86,7 +51,6 @@ test_setup() { dd if=/dev/zero of="$TESTDIR"/root.img bs=1MiB count=80 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 @@ -99,19 +63,9 @@ test_setup() { grep -U --binary-files=binary -F -m 1 -q dracut-root-block-created "$TESTDIR"/marker.img || return 1 rm -- "$TESTDIR"/marker.img - ( - # shellcheck disable=SC2031 - export initdir=$TESTDIR/overlay - # shellcheck disable=SC1090 - . "$basedir"/dracut-init.sh - inst_multiple poweroff shutdown dd - inst_hook shutdown-emergency 000 ./hard-off.sh - inst_hook emergency 000 ./hard-off.sh - ) - # make sure --omit-drivers does not filter out drivers using regexp to test for an earlier regression (assuming there is no one letter linux kernel module needed to run the test) "$basedir"/dracut.sh -l -i "$TESTDIR"/overlay / \ - -a "debug watchdog" \ + -a "test watchdog" \ -d "piix ide-gd_mod ata_piix ext3 sd_mod i6300esb ib700wdt" \ --omit-drivers 'a b c d e f g h i j k l m n o p q r s t u v w x y z' \ --no-hostonly-cmdline -N \ diff --git a/test/TEST-02-SYSTEMD/finished-false.sh b/test/TEST-02-SYSTEMD/finished-false.sh deleted file mode 100755 index ecdbef95d..000000000 --- a/test/TEST-02-SYSTEMD/finished-false.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/sh -exit 1 diff --git a/test/TEST-02-SYSTEMD/hard-off.sh b/test/TEST-02-SYSTEMD/hard-off.sh deleted file mode 100755 index 01acb1958..000000000 --- a/test/TEST-02-SYSTEMD/hard-off.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh -getargbool 0 rd.shell || poweroff -f -getargbool 0 failme && poweroff -f diff --git a/test/TEST-02-SYSTEMD/test.sh b/test/TEST-02-SYSTEMD/test.sh index 948817d17..b915b8f95 100755 --- a/test/TEST-02-SYSTEMD/test.sh +++ b/test/TEST-02-SYSTEMD/test.sh @@ -13,7 +13,6 @@ KVERSION="${KVERSION-$(uname -r)}" 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 @@ -27,59 +26,25 @@ test_run() { } test_setup() { - kernel=$KVERSION # Create what will eventually be our root filesystem onto an overlay - ( - # shellcheck disable=SC2030 - export initdir=$TESTDIR/overlay/source - mkdir -p "$initdir" - # 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_multiple sh df free ls shutdown poweroff stty cat ps ln \ - mount dmesg mkdir cp \ - umount strace less setsid systemd-analyze dd sync - for _terminfodir in /lib/terminfo /etc/terminfo /usr/share/terminfo; do - [ -f ${_terminfodir}/l/linux ] && break - done - inst_multiple -o ${_terminfodir}/l/linux - - 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 grep - inst_simple /etc/os-release - inst ./test-init.sh /sbin/init - find_binary plymouth > /dev/null && inst_multiple plymouth - 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=SC2031 - # shellcheck disable=SC2030 - export initdir=$TESTDIR/overlay - # shellcheck disable=SC1090 - . "$basedir"/dracut-init.sh - inst_multiple sfdisk mkfs.ext3 poweroff cp umount dd - 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 / \ - -m "dash rootfs-block kernel-modules qemu" \ + -m "test-makeroot dash rootfs-block kernel-modules qemu" \ -d "piix ide-gd_mod ata_piix ext3 sd_mod" \ + -I "mkfs.ext3" \ + -i ./create-root.sh /lib/dracut/hooks/initqueue/01-create-root.sh \ --nomdadmconf \ --no-hostonly-cmdline -N \ -f "$TESTDIR"/initramfs.makeroot "$KVERSION" || return 1 @@ -88,7 +53,6 @@ test_setup() { dd if=/dev/zero of="$TESTDIR"/root.img bs=1MiB count=80 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 @@ -101,26 +65,14 @@ test_setup() { grep -U --binary-files=binary -F -m 1 -q dracut-root-block-created "$TESTDIR"/marker.img || return 1 rm -- "$TESTDIR"/marker.img - ( - # shellcheck disable=SC2031 - export initdir=$TESTDIR/overlay - # shellcheck disable=SC1090 - . "$basedir"/dracut-init.sh - inst_multiple poweroff shutdown dd true - - inst_hook shutdown-emergency 000 ./hard-off.sh - - # systemd-analyze.sh calls man indirectly - # make the man command succeed always - inst "$(find_binary true)" "/usr/bin/man" - inst_hook pre-pivot 000 ./systemd-analyze.sh - - inst_hook emergency 000 ./hard-off.sh - ) + # systemd-analyze.sh calls man indirectly + # make the man command succeed always "$basedir"/dracut.sh -l -i "$TESTDIR"/overlay / \ - -a "debug systemd" \ + -a "test systemd" \ -o "network kernel-network-modules" \ -d "piix ide-gd_mod ata_piix ext3 sd_mod" \ + -i ./systemd-analyze.sh /lib/dracut/hooks/pre-pivot/00-systemd-analyze.sh \ + -i "/bin/true" "/usr/bin/man" \ --no-hostonly-cmdline -N \ -f "$TESTDIR"/initramfs.testing "$KVERSION" || return 1 } diff --git a/test/TEST-03-USR-MOUNT/test.sh b/test/TEST-03-USR-MOUNT/test.sh index 8826c5289..80d267856 100755 --- a/test/TEST-03-USR-MOUNT/test.sh +++ b/test/TEST-03-USR-MOUNT/test.sh @@ -93,7 +93,6 @@ test_setup() { -a "test watchdog" \ -o "network kernel-network-modules" \ -d "piix ide-gd_mod ata_piix btrfs sd_mod i6300esb ib700wdt" \ - -I "dd" \ --no-hostonly-cmdline -N \ -f "$TESTDIR"/initramfs.testing "$KVERSION" || return 1 rm -rf -- "$TESTDIR"/overlay