Move KVERSION and USE_NETWORK definition to test-functions.
Add option for qemu_add_drive_args to initialize drive with size.
# shellcheck disable=SC2034
TEST_DESCRIPTION="root filesystem on a ext4 filesystem"
-KVERSION=${KVERSION-$(uname -r)}
-
# Uncomment this to debug failures
# DEBUGFAIL="rd.shell rd.break"
test_run() {
- dd if=/dev/zero of="$TESTDIR"/marker.img bs=1MiB count=1
declare -a disk_args=()
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
+ test_marker_reset
"$testdir"/run-qemu \
"${disk_args[@]}" \
-device i6300esb -watchdog-action poweroff \
-append "panic=1 oops=panic softlockup_panic=1 systemd.crash_reboot \"root=LABEL= rdinit=/bin/sh\" rw systemd.log_level=debug systemd.log_target=console rd.retry=3 rd.debug console=ttyS0,115200n81 rd.shell=0 $DEBUGFAIL" \
-initrd "$TESTDIR"/initramfs.testing || return 1
- grep -U --binary-files=binary -F -m 1 -q dracut-root-block-success "$TESTDIR"/marker.img
+ test_marker_check || return 1
}
test_setup() {
-f "$TESTDIR"/initramfs.makeroot "$KVERSION" || return 1
rm -rf -- "$TESTDIR"/overlay
- 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=()
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
+ qemu_add_drive_args disk_index disk_args "$TESTDIR"/marker.img marker 1
+ qemu_add_drive_args disk_index disk_args "$TESTDIR"/root.img root 80
# Invoke KVM and/or QEMU to actually create the target filesystem.
"$testdir"/run-qemu \
"${disk_args[@]}" \
-append "root=/dev/dracut/root rw rootfstype=ext4 quiet console=ttyS0,115200n81 selinux=0" \
-initrd "$TESTDIR"/initramfs.makeroot || return 1
- grep -U --binary-files=binary -F -m 1 -q dracut-root-block-created "$TESTDIR"/marker.img || return 1
+ test_marker_check dracut-root-block-created || return 1
rm -- "$TESTDIR"/marker.img
# 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)
command -v systemctl &> /dev/null
}
-KVERSION="${KVERSION-$(uname -r)}"
-
# Uncomment this to debug failures
#DEBUGFAIL="rd.shell=1 rd.break=pre-mount"
test_run() {
- dd if=/dev/zero of="$TESTDIR"/marker.img bs=1MiB count=1
declare -a disk_args=()
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
+ test_marker_reset
"$testdir"/run-qemu \
"${disk_args[@]}" \
-append "panic=1 oops=panic softlockup_panic=1 systemd.crash_reboot root=LABEL=dracut rw loglevel=77 systemd.log_level=debug systemd.log_target=console rd.retry=3 rd.info console=ttyS0,115200n81 selinux=0 init=/sbin/init rd.shell=0 $DEBUGFAIL" \
-initrd "$TESTDIR"/initramfs.testing || return 1
- grep -U --binary-files=binary -F -m 1 -q dracut-root-block-success "$TESTDIR"/marker.img
+ test_marker_check || return 1
}
test_setup() {
-f "$TESTDIR"/initramfs.makeroot "$KVERSION" || return 1
rm -rf -- "$TESTDIR"/overlay
- 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=()
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
+ qemu_add_drive_args disk_index disk_args "$TESTDIR"/marker.img marker 1
+ qemu_add_drive_args disk_index disk_args "$TESTDIR"/root.img root 80
# Invoke KVM and/or QEMU to actually create the target filesystem.
"$testdir"/run-qemu \
"${disk_args[@]}" \
-append "root=/dev/fakeroot rw rootfstype=ext4 quiet console=ttyS0,115200n81 selinux=0" \
-initrd "$TESTDIR"/initramfs.makeroot || return 1
- grep -U --binary-files=binary -F -m 1 -q dracut-root-block-created "$TESTDIR"/marker.img || return 1
+ test_marker_check dracut-root-block-created || return 1
rm -- "$TESTDIR"/marker.img
# systemd-analyze.sh calls man indirectly
# shellcheck disable=SC2034
TEST_DESCRIPTION="root filesystem on a btrfs filesystem with /usr subvolume"
-KVERSION=${KVERSION-$(uname -r)}
-
# Uncomment this to debug failures
#DEBUGFAIL="rd.shell rd.break"
echo "CLIENT TEST START: $test_name"
- dd if=/dev/zero of="$TESTDIR"/marker.img bs=1MiB count=1
declare -a disk_args=()
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.btrfs root
qemu_add_drive_args disk_index disk_args "$TESTDIR"/usr.btrfs usr
+ test_marker_reset
"$testdir"/run-qemu \
"${disk_args[@]}" \
-device i6300esb -watchdog-action poweroff \
-append "panic=1 oops=panic softlockup_panic=1 systemd.crash_reboot root=LABEL=dracut $client_opts loglevel=7 rd.retry=3 rd.info console=ttyS0,115200n81 selinux=0 rd.debug rd.shell=0 $DEBUGFAIL" \
-initrd "$TESTDIR"/initramfs.testing || return 1
- if ! grep -U --binary-files=binary -F -m 1 -q dracut-root-block-success "$TESTDIR"/marker.img; then
+ if ! test_marker_check; then
echo "CLIENT TEST END: $test_name [FAILED]"
return 1
fi
rm -rf -- "$TESTDIR"/overlay
# Create the blank file to use as a root filesystem
- dd if=/dev/zero of="$TESTDIR"/root.btrfs bs=1MiB count=160
- dd if=/dev/zero of="$TESTDIR"/usr.btrfs bs=1MiB count=160
- dd if=/dev/zero of="$TESTDIR"/marker.img bs=1MiB count=1
declare -a disk_args=()
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.btrfs root
- qemu_add_drive_args disk_index disk_args "$TESTDIR"/usr.btrfs usr
+ qemu_add_drive_args disk_index disk_args "$TESTDIR"/marker.img marker 1
+ qemu_add_drive_args disk_index disk_args "$TESTDIR"/root.btrfs root 160
+ qemu_add_drive_args disk_index disk_args "$TESTDIR"/usr.btrfs usr 160
# Invoke KVM and/or QEMU to actually create the target filesystem.
"$testdir"/run-qemu \
-append "root=/dev/dracut/root rw rootfstype=btrfs quiet console=ttyS0,115200n81 selinux=0" \
-initrd "$TESTDIR"/initramfs.makeroot || return 1
- if ! grep -U --binary-files=binary -F -m 1 -q dracut-root-block-created "$TESTDIR"/marker.img; then
+ if ! test_marker_check dracut-root-block-created; then
echo "Could not create root filesystem"
return 1
fi
command -v systemctl &> /dev/null
}
-export KVERSION=${KVERSION-$(uname -r)}
-
# Uncomment this to debug failures
#DEBUGFAIL="rd.shell rd.break"
#DEBUGOUT="quiet systemd.log_level=debug systemd.log_target=console loglevel=77 rd.info rd.debug"
echo "CLIENT TEST START: $test_name"
- dd if=/dev/zero of="$TESTDIR"/marker.img bs=1MiB count=1
declare -a disk_args=()
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.btrfs root
qemu_add_drive_args disk_index disk_args "$TESTDIR"/usr.btrfs usr
+ test_marker_reset
"$testdir"/run-qemu \
"${disk_args[@]}" \
-append "systemd.unit=testsuite.target systemd.mask=systemd-firstboot panic=1 oops=panic softlockup_panic=1 systemd.crash_reboot root=LABEL=dracut $client_opts rd.retry=3 console=ttyS0,115200n81 selinux=0 $DEBUGOUT rd.shell=0 $DEBUGFAIL" \
-initrd "$TESTDIR"/initramfs.testing || return 1
- if ! grep -U --binary-files=binary -F -m 1 -q dracut-root-block-success "$TESTDIR"/marker.img; then
+ if ! test_marker_check; then
echo "CLIENT TEST END: $test_name [FAILED]"
return 1
fi
rm -rf -- "$TESTDIR"/overlay/*
# Create the blank file to use as a root filesystem
- dd if=/dev/zero of="$TESTDIR"/root.btrfs bs=1MiB count=160
- dd if=/dev/zero of="$TESTDIR"/usr.btrfs bs=1MiB count=160
- 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.btrfs root
- qemu_add_drive_args disk_index disk_args "$TESTDIR"/usr.btrfs usr
+ qemu_add_drive_args disk_index disk_args "$TESTDIR"/marker.img marker 1
+ qemu_add_drive_args disk_index disk_args "$TESTDIR"/root.btrfs root 160
+ qemu_add_drive_args disk_index disk_args "$TESTDIR"/usr.btrfs usr 160
# Invoke KVM and/or QEMU to actually create the target filesystem.
"$testdir"/run-qemu \
-append "root=/dev/fakeroot rw rootfstype=btrfs quiet console=ttyS0,115200n81 selinux=0" \
-initrd "$TESTDIR"/initramfs.makeroot || return 1
- if ! grep -U --binary-files=binary -F -m 1 -q dracut-root-block-created "$TESTDIR"/marker.img; then
+ if ! test_marker_check dracut-root-block-created; then
echo "Could not create root filesystem"
return 1
fi
# shellcheck disable=SC2034
TEST_DESCRIPTION="root filesystem on an encrypted LVM PV on a RAID-5"
-KVERSION=${KVERSION-$(uname -r)}
-
# Uncomment this to debug failures
#DEBUGFAIL="rd.shell rd.udev.log-priority=debug loglevel=70 systemd.log_target=kmsg"
#DEBUGFAIL="rd.break rd.shell rd.debug debug"
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"/raid-2.img raid2
qemu_add_drive_args disk_index disk_args "$TESTDIR"/raid-3.img raid3
+ test_marker_reset
"$testdir"/run-qemu \
"${disk_args[@]}" \
-append "panic=1 oops=panic softlockup_panic=1 systemd.crash_reboot root=/dev/dracut/root rd.auto rw rd.retry=10 console=ttyS0,115200n81 selinux=0 rd.shell=0 $DEBUGFAIL" \
-initrd "$TESTDIR"/initramfs.testing || return 1
- grep -U --binary-files=binary -F -m 1 -q dracut-root-block-success "$TESTDIR"/marker.img
+ test_marker_check || return 1
}
test_setup() {
rm -rf -- "$TESTDIR"/overlay
# Create the blank files to use as a root filesystem
- dd if=/dev/zero of="$TESTDIR"/raid-1.img bs=1MiB count=40
- dd if=/dev/zero of="$TESTDIR"/raid-2.img bs=1MiB count=40
- dd if=/dev/zero of="$TESTDIR"/raid-3.img bs=1MiB count=40
- 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"/raid-1.img raid1
- qemu_add_drive_args disk_index disk_args "$TESTDIR"/raid-2.img raid2
- qemu_add_drive_args disk_index disk_args "$TESTDIR"/raid-3.img raid3
+ qemu_add_drive_args disk_index disk_args "$TESTDIR"/marker.img marker 1
+ qemu_add_drive_args disk_index disk_args "$TESTDIR"/raid-1.img raid1 40
+ qemu_add_drive_args disk_index disk_args "$TESTDIR"/raid-2.img raid2 40
+ qemu_add_drive_args disk_index disk_args "$TESTDIR"/raid-3.img raid3 40
"$testdir"/run-qemu \
"${disk_args[@]}" \
-append "root=/dev/cannotreach rw rootfstype=ext4 console=ttyS0,115200n81 selinux=0" \
-initrd "$TESTDIR"/initramfs.makeroot || return 1
- grep -U --binary-files=binary -F -m 1 -q dracut-root-block-created "$TESTDIR"/marker.img || return 1
+ test_marker_check dracut-root-block-created || return 1
eval "$(grep -F -a -m 1 ID_FS_UUID "$TESTDIR"/marker.img)"
(
# shellcheck disable=SC2034
TEST_DESCRIPTION="root filesystem on LVM PV"
-KVERSION=${KVERSION-$(uname -r)}
-
# Uncomment this to debug failures
#DEBUGFAIL="rd.break rd.shell"
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"/disk-2.img disk2
qemu_add_drive_args disk_index disk_args "$TESTDIR"/disk-3.img disk3
+ test_marker_reset
"$testdir"/run-qemu \
"${disk_args[@]}" \
-append "panic=1 oops=panic softlockup_panic=1 systemd.crash_reboot root=/dev/dracut/root rw rd.auto=1 quiet rd.retry=3 rd.info console=ttyS0,115200n81 selinux=0 rd.debug rd.shell=0 $DEBUGFAIL" \
-initrd "$TESTDIR"/initramfs.testing || return 1
- grep -U --binary-files=binary -F -m 1 -q dracut-root-block-success "$TESTDIR"/marker.img
+ test_marker_check || return 1
}
test_setup() {
rm -rf -- "$TESTDIR"/overlay
# Create the blank files to use as a root filesystem
- dd if=/dev/zero of="$TESTDIR"/disk-1.img bs=1MiB count=40
- dd if=/dev/zero of="$TESTDIR"/disk-2.img bs=1MiB count=40
- dd if=/dev/zero of="$TESTDIR"/disk-3.img bs=1MiB count=40
- 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"/disk-1.img disk1
- qemu_add_drive_args disk_index disk_args "$TESTDIR"/disk-2.img disk2
- qemu_add_drive_args disk_index disk_args "$TESTDIR"/disk-3.img disk3
+ qemu_add_drive_args disk_index disk_args "$TESTDIR"/marker.img marker 1
+ qemu_add_drive_args disk_index disk_args "$TESTDIR"/disk-1.img disk1 40
+ qemu_add_drive_args disk_index disk_args "$TESTDIR"/disk-2.img disk2 40
+ qemu_add_drive_args disk_index disk_args "$TESTDIR"/disk-3.img disk3 40
"$testdir"/run-qemu \
"${disk_args[@]}" \
-append "root=/dev/fakeroot rw rootfstype=ext4 quiet console=ttyS0,115200n81 selinux=0" \
-initrd "$TESTDIR"/initramfs.makeroot || return 1
- grep -U --binary-files=binary -F -m 1 -q dracut-root-block-created "$TESTDIR"/marker.img || return 1
+ test_marker_check dracut-root-block-created || return 1
(
# shellcheck disable=SC2031
# shellcheck disable=SC2034
TEST_DESCRIPTION="root filesystem on an encrypted LVM PV on a degraded RAID-5"
-KVERSION=${KVERSION-$(uname -r)}
-
# Uncomment this to debug failures
#DEBUGFAIL="rd.shell rd.break rd.debug"
#DEBUGFAIL="rd.shell rd.break=pre-mount udev.log-priority=debug"
client_run() {
echo "CLIENT TEST START: $*"
- 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"/raid-2.img raid2
qemu_add_drive_args disk_index disk_args "$TESTDIR"/raid-3.img raid3
+ test_marker_reset
"$testdir"/run-qemu \
"${disk_args[@]}" \
-append "panic=1 oops=panic softlockup_panic=1 systemd.crash_reboot $* systemd.log_target=kmsg root=LABEL=root rw rd.retry=10 rd.info console=ttyS0,115200n81 log_buf_len=2M selinux=0 rd.shell=0 $DEBUGFAIL " \
-initrd "$TESTDIR"/initramfs.testing
- if ! grep -U --binary-files=binary -F -m 1 -q dracut-root-block-success "$TESTDIR"/marker.img; then
+ if ! test_marker_check; then
echo "CLIENT TEST END: $* [FAIL]"
return 1
fi
rm -rf -- "$TESTDIR"/overlay
# Create the blank files to use as a root filesystem
- dd if=/dev/zero of="$TESTDIR"/raid-1.img bs=1MiB count=40
- dd if=/dev/zero of="$TESTDIR"/raid-2.img bs=1MiB count=40
- dd if=/dev/zero of="$TESTDIR"/raid-3.img bs=1MiB count=40
- 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"/raid-1.img raid1
- qemu_add_drive_args disk_index disk_args "$TESTDIR"/raid-2.img raid2
- qemu_add_drive_args disk_index disk_args "$TESTDIR"/raid-3.img raid3
+ qemu_add_drive_args disk_index disk_args "$TESTDIR"/marker.img marker 1
+ qemu_add_drive_args disk_index disk_args "$TESTDIR"/raid-1.img raid1 40
+ qemu_add_drive_args disk_index disk_args "$TESTDIR"/raid-2.img raid2 40
+ qemu_add_drive_args disk_index disk_args "$TESTDIR"/raid-3.img raid3 40
"$testdir"/run-qemu \
"${disk_args[@]}" \
-append "root=/dev/fakeroot rw rootfstype=ext4 quiet console=ttyS0,115200n81 selinux=0" \
-initrd "$TESTDIR"/initramfs.makeroot || return 1
- grep -U --binary-files=binary -F -m 1 -q dracut-root-block-created "$TESTDIR"/marker.img || return 1
+ test_marker_check dracut-root-block-created || return 1
eval "$(grep -F --binary-files=text -m 1 MD_UUID "$TESTDIR"/marker.img)"
eval "$(grep -F -a -m 1 ID_FS_UUID "$TESTDIR"/marker.img)"
echo "$ID_FS_UUID" > "$TESTDIR"/luksuuid
# shellcheck disable=SC2034
TEST_DESCRIPTION="root filesystem on LVM on encrypted partitions of a RAID-5"
-KVERSION=${KVERSION-$(uname -r)}
-
# Uncomment this to debug failures
#DEBUGFAIL="rd.shell rd.break" # udev.log-priority=debug
#DEBUGFAIL="rd.shell rd.udev.log-priority=debug loglevel=70 systemd.log_target=kmsg systemd.log_target=debug"
test_run() {
LUKSARGS=$(cat "$TESTDIR"/luks.txt)
- dd if=/dev/zero of="$TESTDIR"/marker.img bs=1MiB count=1
-
echo "CLIENT TEST START: $LUKSARGS"
declare -a disk_args=()
qemu_add_drive_args disk_index disk_args "$TESTDIR"/disk-2.img disk2
qemu_add_drive_args disk_index disk_args "$TESTDIR"/disk-3.img disk3
+ test_marker_reset
"$testdir"/run-qemu \
"${disk_args[@]}" \
-append "panic=1 oops=panic softlockup_panic=1 systemd.crash_reboot root=/dev/dracut/root rw rd.auto rd.retry=20 console=ttyS0,115200n81 selinux=0 rd.debug rootwait $LUKSARGS rd.shell=0 $DEBUGFAIL" \
-initrd "$TESTDIR"/initramfs.testing
- grep -U --binary-files=binary -F -m 1 -q dracut-root-block-success "$TESTDIR"/marker.img || return 1
+ test_marker_check || return 1
echo "CLIENT TEST END: [OK]"
- dd if=/dev/zero of="$TESTDIR"/marker.img bs=1MiB count=1
+ test_marker_reset
echo "CLIENT TEST START: Any LUKS"
"$testdir"/run-qemu \
"${disk_args[@]}" \
-append "panic=1 oops=panic softlockup_panic=1 systemd.crash_reboot root=/dev/dracut/root rw quiet rd.auto rd.retry=20 rd.info console=ttyS0,115200n81 selinux=0 rd.debug $DEBUGFAIL" \
-initrd "$TESTDIR"/initramfs.testing
- grep -U --binary-files=binary -F -m 1 -q dracut-root-block-success "$TESTDIR"/marker.img || return 1
+ test_marker_check || return 1
echo "CLIENT TEST END: [OK]"
- dd if=/dev/zero of="$TESTDIR"/marker.img bs=1MiB count=1
+ test_marker_reset
echo "CLIENT TEST START: Wrong LUKS UUID"
"$testdir"/run-qemu \
"${disk_args[@]}" \
-append "panic=1 oops=panic softlockup_panic=1 systemd.crash_reboot root=/dev/dracut/root rw quiet rd.auto rd.retry=10 rd.info console=ttyS0,115200n81 selinux=0 rd.debug $DEBUGFAIL rd.luks.uuid=failme" \
-initrd "$TESTDIR"/initramfs.testing
- grep -U --binary-files=binary -F -m 1 -q dracut-root-block-success "$TESTDIR"/marker.img && return 1
+ test_marker_check && return 1
echo "CLIENT TEST END: [OK]"
return 0
rm -rf -- "$TESTDIR"/overlay
# Create the blank files to use as a root filesystem
- dd if=/dev/zero of="$TESTDIR"/disk-1.img bs=1MiB count=40
- dd if=/dev/zero of="$TESTDIR"/disk-2.img bs=1MiB count=40
- dd if=/dev/zero of="$TESTDIR"/disk-3.img bs=1MiB count=40
- 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"/disk-1.img disk1
- qemu_add_drive_args disk_index disk_args "$TESTDIR"/disk-2.img disk2
- qemu_add_drive_args disk_index disk_args "$TESTDIR"/disk-3.img disk3
+ qemu_add_drive_args disk_index disk_args "$TESTDIR"/marker.img marker 1
+ qemu_add_drive_args disk_index disk_args "$TESTDIR"/disk-1.img disk1 40
+ qemu_add_drive_args disk_index disk_args "$TESTDIR"/disk-2.img disk2 40
+ qemu_add_drive_args disk_index disk_args "$TESTDIR"/disk-3.img disk3 40
"$testdir"/run-qemu \
"${disk_args[@]}" \
-append "root=/dev/fakeroot rw rootfstype=ext4 quiet console=ttyS0,115200n81 selinux=0" \
-initrd "$TESTDIR"/initramfs.makeroot || return 1
- grep -U --binary-files=binary -F -m 1 -q dracut-root-block-created "$TESTDIR"/marker.img || return 1
+ test_marker_check dracut-root-block-created || return 1
cryptoUUIDS=$(grep -F --binary-files=text -m 3 ID_FS_UUID "$TESTDIR"/marker.img)
for uuid in $cryptoUUIDS; do
eval "$uuid"
# shellcheck disable=SC2034
TEST_DESCRIPTION="root filesystem on LVM PV on a isw dmraid"
-KVERSION=${KVERSION-$(uname -r)}
-
# Uncomment this to debug failures
#DEBUGFAIL="rd.shell"
#DEBUGFAIL="$DEBUGFAIL udev.log-priority=debug"
client_run() {
echo "CLIENT TEST START: $*"
- 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"/disk-1.img disk1
qemu_add_drive_args disk_index disk_args "$TESTDIR"/disk-2.img disk2
+ test_marker_reset
"$testdir"/run-qemu \
"${disk_args[@]}" \
-append "panic=1 oops=panic softlockup_panic=1 systemd.crash_reboot $* root=LABEL=root rw debug rd.retry=5 rd.debug console=ttyS0,115200n81 selinux=0 rd.info rd.shell=0 $DEBUGFAIL" \
-initrd "$TESTDIR"/initramfs.testing || return 1
- if ! grep -U --binary-files=binary -F -m 1 -q dracut-root-block-success "$TESTDIR"/marker.img; then
+ if ! test_marker_check; then
echo "CLIENT TEST END: $* [FAIL]"
return 1
fi
rm -rf -- "$TESTDIR"/overlay
# Create the blank files to use as a root filesystem
- dd if=/dev/zero of="$TESTDIR"/disk-1.img bs=1MiB count=100
- dd if=/dev/zero of="$TESTDIR"/disk-2.img bs=1MiB count=100
- 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"/disk-1.img disk1
- qemu_add_drive_args disk_index disk_args "$TESTDIR"/disk-2.img disk2
+ qemu_add_drive_args disk_index disk_args "$TESTDIR"/marker.img marker 1
+ qemu_add_drive_args disk_index disk_args "$TESTDIR"/disk-1.img disk1 100
+ qemu_add_drive_args disk_index disk_args "$TESTDIR"/disk-2.img disk2 100
# Invoke KVM and/or QEMU to actually create the target filesystem.
"$testdir"/run-qemu \
"${disk_args[@]}" \
-append "root=/dev/dracut/root rw rootfstype=ext4 quiet console=ttyS0,115200n81 selinux=0" \
-initrd "$TESTDIR"/initramfs.makeroot || return 1
- grep -U --binary-files=binary -F -m 1 -q dracut-root-block-created "$TESTDIR"/marker.img || return 1
+ test_marker_check dracut-root-block-created || return 1
eval "$(grep -F --binary-files=text -m 1 MD_UUID "$TESTDIR"/marker.img)"
if [[ -z $MD_UUID ]]; then
# shellcheck disable=SC2034
TEST_DESCRIPTION="root filesystem on multiple device btrfs"
-KVERSION=${KVERSION-$(uname -r)}
-
# Uncomment this to debug failures
#DEBUGFAIL="rd.shell"
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"/raid-3.img raid3
qemu_add_drive_args disk_index disk_args "$TESTDIR"/raid-4.img raid4
+ test_marker_reset
"$testdir"/run-qemu \
"${disk_args[@]}" \
-append "panic=1 oops=panic softlockup_panic=1 systemd.crash_reboot root=LABEL=root rw rd.retry=3 rd.info console=ttyS0,115200n81 selinux=0 rd.shell=0 $DEBUGFAIL" \
-initrd "$TESTDIR"/initramfs.testing
- grep -U --binary-files=binary -F -m 1 -q dracut-root-block-success "$TESTDIR"/marker.img || return 1
+ test_marker_check || return 1
}
test_setup() {
rm -rf -- "$TESTDIR"/overlay
# Create the blank files to use as a root filesystem
- dd if=/dev/zero of="$TESTDIR"/raid-1.img bs=1MiB count=150
- dd if=/dev/zero of="$TESTDIR"/raid-2.img bs=1MiB count=150
- dd if=/dev/zero of="$TESTDIR"/raid-3.img bs=1MiB count=150
- dd if=/dev/zero of="$TESTDIR"/raid-4.img bs=1MiB count=150
- 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"/raid-1.img raid1
- qemu_add_drive_args disk_index disk_args "$TESTDIR"/raid-2.img raid2
- qemu_add_drive_args disk_index disk_args "$TESTDIR"/raid-3.img raid3
- qemu_add_drive_args disk_index disk_args "$TESTDIR"/raid-4.img raid4
+ qemu_add_drive_args disk_index disk_args "$TESTDIR"/marker.img marker 1
+ qemu_add_drive_args disk_index disk_args "$TESTDIR"/raid-1.img raid1 150
+ qemu_add_drive_args disk_index disk_args "$TESTDIR"/raid-2.img raid2 150
+ qemu_add_drive_args disk_index disk_args "$TESTDIR"/raid-3.img raid3 150
+ qemu_add_drive_args disk_index disk_args "$TESTDIR"/raid-4.img raid4 150
"$testdir"/run-qemu \
"${disk_args[@]}" \
-append "root=/dev/fakeroot rw quiet console=ttyS0,115200n81 selinux=0" \
-initrd "$TESTDIR"/initramfs.makeroot || return 1
- grep -U --binary-files=binary -F -m 1 -q dracut-root-block-created "$TESTDIR"/marker.img || return 1
+ test_marker_check dracut-root-block-created || return 1
(
# shellcheck disable=SC2031
# shellcheck disable=SC2034
TEST_DESCRIPTION="live root on a squash filesystem"
-KVERSION="${KVERSION-$(uname -r)}"
-
# Uncomment these to debug failures
#DEBUGFAIL="rd.shell rd.debug rd.live.debug loglevel=7"
test_run() {
- dd if=/dev/zero of="$TESTDIR"/marker.img bs=1MiB count=1
declare -a disk_args=()
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
+ test_marker_reset
"$testdir"/run-qemu \
"${disk_args[@]}" \
-boot order=d \
-append "rd.live.image rd.live.overlay.overlayfs=1 rd.live.dir=testdir root=LABEL=dracut console=ttyS0,115200n81 quiet selinux=0 rd.info rd.shell=0 panic=1 oops=panic softlockup_panic=1 $DEBUGFAIL" \
-initrd "$TESTDIR"/initramfs.testing
- grep -U --binary-files=binary -F -m 1 -q dracut-root-block-success -- "$TESTDIR"/marker.img || return 1
+ test_marker_check || return 1
rootPartitions=$(sfdisk -d "$TESTDIR"/root.img | grep -c 'root\.img[0-9]')
[ "$rootPartitions" -eq 1 ] || return 1
rm -rf -- "$TESTDIR"/overlay
# Create the blank file to use as a root filesystem
- 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=()
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
+ qemu_add_drive_args disk_index disk_args "$TESTDIR"/marker.img marker 1
+ qemu_add_drive_args disk_index disk_args "$TESTDIR"/root.img root 160
# Invoke KVM and/or QEMU to actually create the target filesystem.
"$testdir"/run-qemu \
-append "root=/dev/dracut/root rw rootfstype=ext4 quiet console=ttyS0,115200n81 selinux=0" \
-initrd "$TESTDIR"/initramfs.makeroot || return 1
- if ! grep -U --binary-files=binary -F -m 1 -q dracut-root-block-created "$TESTDIR"/marker.img; then
+ if ! test_marker_check dracut-root-block-created; then
echo "Could not create root filesystem"
return 1
fi
# shellcheck disable=SC2034
TEST_DESCRIPTION="root filesystem on LVM PV with thin pool"
-KVERSION=${KVERSION-$(uname -r)}
-
# Uncomment this to debug failures
#DEBUGFAIL="rd.break rd.shell"
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"/disk-2.img disk2
qemu_add_drive_args disk_index disk_args "$TESTDIR"/disk-3.img disk3
+ test_marker_reset
"$testdir"/run-qemu \
"${disk_args[@]}" \
-append "panic=1 oops=panic softlockup_panic=1 systemd.crash_reboot root=/dev/dracut/root rw rd.auto=1 quiet rd.retry=3 rd.info console=ttyS0,115200n81 selinux=0 rd.debug rd.shell=0 $DEBUGFAIL" \
-initrd "$TESTDIR"/initramfs.testing || return 1
- grep -U --binary-files=binary -F -m 1 -q dracut-root-block-success "$TESTDIR"/marker.img || return 1
+ test_marker_check || return 1
}
test_setup() {
rm -rf -- "$TESTDIR"/overlay
# Create the blank files to use as a root filesystem
- dd if=/dev/zero of="$TESTDIR"/disk-1.img bs=1MiB count=40
- dd if=/dev/zero of="$TESTDIR"/disk-2.img bs=1MiB count=40
- dd if=/dev/zero of="$TESTDIR"/disk-3.img bs=1MiB count=40
- 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"/disk-1.img disk1
- qemu_add_drive_args disk_index disk_args "$TESTDIR"/disk-2.img disk2
- qemu_add_drive_args disk_index disk_args "$TESTDIR"/disk-3.img disk3
+ qemu_add_drive_args disk_index disk_args "$TESTDIR"/marker.img marker 1
+ qemu_add_drive_args disk_index disk_args "$TESTDIR"/disk-1.img disk1 40
+ qemu_add_drive_args disk_index disk_args "$TESTDIR"/disk-2.img disk2 40
+ qemu_add_drive_args disk_index disk_args "$TESTDIR"/disk-3.img disk3 40
"$testdir"/run-qemu \
"${disk_args[@]}" \
-append "root=/dev/fakeroot rw rootfstype=ext4 quiet console=ttyS0,115200n81 selinux=0" \
-initrd "$TESTDIR"/initramfs.makeroot || return 1
- grep -U --binary-files=binary -F -m 1 -q dracut-root-block-created "$TESTDIR"/marker.img || return 1
+ test_marker_check dracut-root-block-created || return 1
(
# shellcheck disable=SC2031
#!/bin/bash
-[ -z "$USE_NETWORK" ] && USE_NETWORK="network-legacy"
-
# shellcheck disable=SC2034
TEST_DESCRIPTION="root filesystem on NFS with $USE_NETWORK"
-KVERSION=${KVERSION-$(uname -r)}
-
# Uncomment this to debug failures
#DEBUGFAIL="rd.debug loglevel=7 rd.break=initqueue rd.shell"
SERVER_DEBUG="rd.debug loglevel=7"
declare -a disk_args=()
# shellcheck disable=SC2034
declare -i disk_index=0
- qemu_add_drive_args disk_index disk_args "$TESTDIR"/server.img root 1
+ qemu_add_drive_args disk_index disk_args "$TESTDIR"/server.img root 0 1
"$testdir"/run-qemu \
"${disk_args[@]}" \
echo "CLIENT TEST START: $test_name"
# Need this so kvm-qemu will boot (needs non-/dev/zero local disk)
- dd if=/dev/zero of="$TESTDIR"/marker.img bs=1MiB count=1
- dd if=/dev/zero of="$TESTDIR"/marker2.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"/marker2.img marker2
+ qemu_add_drive_args disk_index disk_args "$TESTDIR"/marker.img marker 1
+ qemu_add_drive_args disk_index disk_args "$TESTDIR"/marker2.img marker2 1
cmdline="$cmdline rd.net.timeout.dhcp=30"
"$testdir"/run-qemu \
-initrd "$TESTDIR"/initramfs.testing
# shellcheck disable=SC2181
- if [[ $? -ne 0 ]] || ! grep -U --binary-files=binary -F -m 1 -q nfs-OK "$TESTDIR"/marker.img; then
+ if [[ $? -ne 0 ]] || ! test_marker_check nfs-OK; then
echo "CLIENT TEST END: $test_name [FAILED - BAD EXIT]"
return 1
fi
return 1
fi
- if ! grep -U --binary-files=binary -F -m 1 -q nfsfetch-OK "$TESTDIR"/marker2.img; then
+ if ! test_marker_check nfsfetch-OK marker2.img; then
echo "CLIENT TEST END: $test_name [FAILED - NFS FETCH FAILED]"
return 1
fi
-f "$TESTDIR"/initramfs.makeroot "$KVERSION" || return 1
rm -rf -- "$TESTDIR"/server
- dd if=/dev/zero of="$TESTDIR"/server.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"/server.img root
+ qemu_add_drive_args disk_index disk_args "$TESTDIR"/marker.img marker 1
+ qemu_add_drive_args disk_index disk_args "$TESTDIR"/server.img root 80
# Invoke KVM and/or QEMU to actually create the target filesystem.
"$testdir"/run-qemu \
"${disk_args[@]}" \
-append "root=/dev/dracut/root rw rootfstype=ext4 quiet console=ttyS0,115200n81 selinux=0" \
-initrd "$TESTDIR"/initramfs.makeroot || return 1
- grep -U --binary-files=binary -F -m 1 -q dracut-root-block-created "$TESTDIR"/marker.img || return 1
+ test_marker_check dracut-root-block-created || return 1
# Make an overlay with needed tools for the test harness
(
#!/bin/bash
-[ -z "$USE_NETWORK" ] && USE_NETWORK="network-legacy"
-
# shellcheck disable=SC2034
TEST_DESCRIPTION="root filesystem over iSCSI with $USE_NETWORK"
-KVERSION=${KVERSION-$(uname -r)}
-
#DEBUGFAIL="rd.shell rd.break rd.debug loglevel=7 "
#SERVER_DEBUG="rd.debug loglevel=7"
#SERIAL="tcp:127.0.0.1:9999"
declare -a disk_args=()
declare -i disk_index=0
- qemu_add_drive_args disk_index disk_args "$TESTDIR"/server.img serverroot 1
+ qemu_add_drive_args disk_index disk_args "$TESTDIR"/server.img serverroot 0 1
qemu_add_drive_args disk_index disk_args "$TESTDIR"/singleroot.img singleroot
qemu_add_drive_args disk_index disk_args "$TESTDIR"/raid0-1.img raid0-1
qemu_add_drive_args disk_index disk_args "$TESTDIR"/raid0-2.img raid0-2
shift
echo "CLIENT TEST START: $test_name"
- dd if=/dev/zero of="$TESTDIR"/marker.img bs=1MiB count=1
declare -a disk_args=()
declare -i disk_index=0
qemu_add_drive_args disk_index disk_args "$TESTDIR"/marker.img marker
+ test_marker_reset
"$testdir"/run-qemu \
"${disk_args[@]}" \
-net nic,macaddr=52:54:00:12:34:00,model=e1000 \
-initrd "$TESTDIR"/initramfs.testing
# shellcheck disable=SC2181
- if [[ $? -ne 0 ]] || ! grep -U --binary-files=binary -F -m 1 -q iscsi-OK "$TESTDIR"/marker.img; then
+ if [[ $? -ne 0 ]] || ! test_marker_check iscsi-OK; then
echo "CLIENT TEST END: $test_name [FAILED - BAD EXIT]"
return 1
fi
-f "$TESTDIR"/initramfs.makeroot "$KVERSION" || return 1
rm -rf -- "$TESTDIR"/overlay
- dd if=/dev/zero of="$TESTDIR"/marker.img bs=1MiB count=1
- dd if=/dev/zero of="$TESTDIR"/singleroot.img bs=1MiB count=200
- dd if=/dev/zero of="$TESTDIR"/raid0-1.img bs=1MiB count=100
- dd if=/dev/zero of="$TESTDIR"/raid0-2.img bs=1MiB count=100
-
declare -a disk_args=()
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"/singleroot.img singleroot
- qemu_add_drive_args disk_index disk_args "$TESTDIR"/raid0-1.img raid0-1
- qemu_add_drive_args disk_index disk_args "$TESTDIR"/raid0-2.img raid0-2
+ qemu_add_drive_args disk_index disk_args "$TESTDIR"/marker.img marker 1
+ qemu_add_drive_args disk_index disk_args "$TESTDIR"/singleroot.img singleroot 200
+ qemu_add_drive_args disk_index disk_args "$TESTDIR"/raid0-1.img raid0-1 100
+ qemu_add_drive_args disk_index disk_args "$TESTDIR"/raid0-2.img raid0-2 100
# Invoke KVM and/or QEMU to actually create the target filesystem.
"$testdir"/run-qemu \
"${disk_args[@]}" \
-append "root=/dev/fakeroot rw rootfstype=ext4 quiet console=ttyS0,115200n81 selinux=0" \
-initrd "$TESTDIR"/initramfs.makeroot || return 1
- grep -U --binary-files=binary -F -m 1 -q dracut-root-block-created "$TESTDIR"/marker.img || return 1
+ test_marker_check dracut-root-block-created || return 1
rm -- "$TESTDIR"/marker.img
# shellcheck disable=SC2031
-f "$TESTDIR"/initramfs.makeroot "$KVERSION" || return 1
rm -rf -- "$TESTDIR"/overlay
- dd if=/dev/zero of="$TESTDIR"/server.img bs=1MiB count=60
- 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"/server.img root
+ qemu_add_drive_args disk_index disk_args "$TESTDIR"/marker.img marker 1
+ qemu_add_drive_args disk_index disk_args "$TESTDIR"/server.img root 60
# Invoke KVM and/or QEMU to actually create the target filesystem.
"$testdir"/run-qemu \
"${disk_args[@]}" \
-append "root=/dev/dracut/root rw rootfstype=ext4 quiet console=ttyS0,115200n81 selinux=0" \
-initrd "$TESTDIR"/initramfs.makeroot || return 1
- grep -U --binary-files=binary -F -m 1 -q dracut-root-block-created "$TESTDIR"/marker.img || return 1
+ test_marker_check dracut-root-block-created || return 1
rm -- "$TESTDIR"/marker.img
# Make an overlay with needed tools for the test harness
#!/bin/bash
-[ -z "$USE_NETWORK" ] && USE_NETWORK="network-legacy"
-
# shellcheck disable=SC2034
TEST_DESCRIPTION="root filesystem over multiple iSCSI with $USE_NETWORK"
-KVERSION=${KVERSION-$(uname -r)}
-
#DEBUGFAIL="rd.shell rd.break rd.debug loglevel=7 "
#SERVER_DEBUG="rd.debug loglevel=7"
#SERIAL="tcp:127.0.0.1:9999"
declare -a disk_args=()
declare -i disk_index=0
- qemu_add_drive_args disk_index disk_args "$TESTDIR"/server.img serverroot 1
+ qemu_add_drive_args disk_index disk_args "$TESTDIR"/server.img serverroot 0 1
qemu_add_drive_args disk_index disk_args "$TESTDIR"/singleroot.img singleroot
qemu_add_drive_args disk_index disk_args "$TESTDIR"/raid0-1.img raid0-1
qemu_add_drive_args disk_index disk_args "$TESTDIR"/raid0-2.img raid0-2
shift
echo "CLIENT TEST START: $test_name"
- dd if=/dev/zero of="$TESTDIR"/marker.img bs=1MiB count=1
declare -a disk_args=()
declare -i disk_index=0
qemu_add_drive_args disk_index disk_args "$TESTDIR"/marker.img marker
+ test_marker_reset
"$testdir"/run-qemu \
"${disk_args[@]}" \
-net nic,macaddr=52:54:00:12:34:00,model=e1000 \
-net socket,connect=127.0.0.1:12331 \
-append "panic=1 oops=panic softlockup_panic=1 systemd.crash_reboot rw rd.auto rd.retry=50 console=ttyS0,115200n81 selinux=0 rd.debug=0 rd.shell=0 $DEBUGFAIL $*" \
-initrd "$TESTDIR"/initramfs.testing
- if ! grep -U --binary-files=binary -F -m 1 -q iscsi-OK "$TESTDIR"/marker.img; then
+ if ! test_marker_check iscsi-OK; then
echo "CLIENT TEST END: $test_name [FAILED - BAD EXIT]"
return 1
fi
-f "$TESTDIR"/initramfs.makeroot "$KVERSION" || return 1
rm -rf -- "$TESTDIR"/overlay
- dd if=/dev/zero of="$TESTDIR"/marker.img bs=1MiB count=1
- dd if=/dev/zero of="$TESTDIR"/singleroot.img bs=1MiB count=200
- dd if=/dev/zero of="$TESTDIR"/raid0-1.img bs=1MiB count=100
- dd if=/dev/zero of="$TESTDIR"/raid0-2.img bs=1MiB count=100
-
declare -a disk_args=()
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"/singleroot.img singleroot
- qemu_add_drive_args disk_index disk_args "$TESTDIR"/raid0-1.img raid0-1
- qemu_add_drive_args disk_index disk_args "$TESTDIR"/raid0-2.img raid0-2
+ qemu_add_drive_args disk_index disk_args "$TESTDIR"/marker.img marker 1
+ qemu_add_drive_args disk_index disk_args "$TESTDIR"/singleroot.img singleroot 200
+ qemu_add_drive_args disk_index disk_args "$TESTDIR"/raid0-1.img raid0-1 100
+ qemu_add_drive_args disk_index disk_args "$TESTDIR"/raid0-2.img raid0-2 100
# Invoke KVM and/or QEMU to actually create the target filesystem.
"$testdir"/run-qemu \
"${disk_args[@]}" \
-append "root=/dev/fakeroot rw rootfstype=ext4 quiet console=ttyS0,115200n81 selinux=0" \
-initrd "$TESTDIR"/initramfs.makeroot || return 1
- grep -U --binary-files=binary -F -m 1 -q dracut-root-block-created "$TESTDIR"/marker.img || return 1
+ test_marker_check dracut-root-block-created || return 1
rm -- "$TESTDIR"/marker.img
# shellcheck disable=SC2031
-f "$TESTDIR"/initramfs.makeroot "$KVERSION" || return 1
rm -rf -- "$TESTDIR"/overlay
- dd if=/dev/zero of="$TESTDIR"/server.img bs=1MiB count=60
- 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"/server.img root
+ qemu_add_drive_args disk_index disk_args "$TESTDIR"/marker.img marker 1
+ qemu_add_drive_args disk_index disk_args "$TESTDIR"/server.img root 60
# Invoke KVM and/or QEMU to actually create the target filesystem.
"$testdir"/run-qemu \
"${disk_args[@]}" \
-append "root=/dev/dracut/root rw rootfstype=ext4 quiet console=ttyS0,115200n81 selinux=0" \
-initrd "$TESTDIR"/initramfs.makeroot || return 1
- grep -U --binary-files=binary -F -m 1 -q dracut-root-block-created "$TESTDIR"/marker.img || return 1
+ test_marker_check dracut-root-block-created || return 1
rm -- "$TESTDIR"/marker.img
# Make an overlay with needed tools for the test harness
#!/bin/bash
-[ -z "$USE_NETWORK" ] && USE_NETWORK="network-legacy"
-
# shellcheck disable=SC2034
TEST_DESCRIPTION="root filesystem on NBD with $USE_NETWORK"
-KVERSION=${KVERSION-$(uname -r)}
-
# Uncomment this to debug failures
# DEBUGFAIL="rd.debug systemd.log_target=console loglevel=7"
#DEBUGFAIL="rd.shell rd.break rd.debug systemd.log_target=console loglevel=7 systemd.log_level=debug"
echo "CLIENT TEST START: $test_name"
- dd if=/dev/zero of="$TESTDIR"/marker.img bs=1MiB count=1
declare -a disk_args=()
declare -i disk_index=0
qemu_add_drive_args disk_index disk_args "$TESTDIR"/marker.img marker
+ test_marker_reset
"$testdir"/run-qemu \
"${disk_args[@]}" \
-net nic,macaddr="$mac",model=e1000 \
-initrd "$TESTDIR"/initramfs.testing
# shellcheck disable=SC2181
- if [[ $? -ne 0 ]] || ! grep -U --binary-files=binary -F -m 1 -q nbd-OK "$TESTDIR"/marker.img; then
+ if [[ $? -ne 0 ]] || ! test_marker_check nbd-OK "$TESTDIR"/marker.img; then
echo "CLIENT TEST END: $test_name [FAILED - BAD EXIT]"
return 1
fi
-f "$TESTDIR"/initramfs.makeroot "$KVERSION" || return 1
rm -rf -- "$TESTDIR"/overlay
- dd if=/dev/zero of="$TESTDIR"/encrypted.img bs=1MiB count=120
- 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"/encrypted.img root
+ qemu_add_drive_args disk_index disk_args "$TESTDIR"/marker.img marker 1
+ qemu_add_drive_args disk_index disk_args "$TESTDIR"/encrypted.img root 120
# Invoke KVM and/or QEMU to actually create the target filesystem.
"$testdir"/run-qemu \
"${disk_args[@]}" \
-append "root=/dev/fakeroot rw quiet console=ttyS0,115200n81 selinux=0" \
-initrd "$TESTDIR"/initramfs.makeroot || return 1
- grep -U --binary-files=binary -F -m 1 -q dracut-root-block-created "$TESTDIR"/marker.img || return 1
+ test_marker_check dracut-root-block-created || return 1
grep -F -a -m 1 ID_FS_UUID "$TESTDIR"/marker.img > "$TESTDIR"/luks.uuid
}
--no-hostonly-cmdline -N \
-f "$TESTDIR"/initramfs.makeroot "$KVERSION" || return 1
- dd if=/dev/zero of="$TESTDIR"/unencrypted.img bs=1MiB count=120
- 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"/unencrypted.img root
+ qemu_add_drive_args disk_index disk_args "$TESTDIR"/marker.img marker 1
+ qemu_add_drive_args disk_index disk_args "$TESTDIR"/unencrypted.img root 120
# Invoke KVM and/or QEMU to actually create the target filesystem.
"$testdir"/run-qemu \
"${disk_args[@]}" \
-append "root=/dev/dracut/root rw rootfstype=ext4 quiet console=ttyS0,115200n81 selinux=0" \
-initrd "$TESTDIR"/initramfs.makeroot || return 1
- grep -U --binary-files=binary -F -m 1 -q dracut-root-block-created "$TESTDIR"/marker.img || return 1
+ test_marker_check dracut-root-block-created || return 1
rm -fr "$TESTDIR"/overlay
}
--no-hostonly-cmdline -N \
-f "$TESTDIR"/initramfs.makeroot "$KVERSION" || return 1
- dd if=/dev/zero of="$TESTDIR"/server.img bs=1MiB count=120
- 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"/server.img root
+ qemu_add_drive_args disk_index disk_args "$TESTDIR"/marker.img marker 1
+ qemu_add_drive_args disk_index disk_args "$TESTDIR"/server.img root 120
# Invoke KVM and/or QEMU to actually create the target filesystem.
"$testdir"/run-qemu \
"${disk_args[@]}" \
-append "root=/dev/dracut/root rw rootfstype=ext4 quiet console=ttyS0,115200n81 selinux=0" \
-initrd "$TESTDIR"/initramfs.makeroot || return 1
- grep -U --binary-files=binary -F -m 1 -q dracut-root-block-created "$TESTDIR"/marker.img || return 1
+ test_marker_check dracut-root-block-created || return 1
rm -fr "$TESTDIR"/overlay
}
#!/bin/bash
-[ -z "$USE_NETWORK" ] && USE_NETWORK="network-legacy"
-
# shellcheck disable=SC2034
TEST_DESCRIPTION="root filesystem on NFS with multiple nics with $USE_NETWORK"
-KVERSION=${KVERSION-$(uname -r)}
-
# Uncomment this to debug failures
#DEBUGFAIL="loglevel=7 rd.shell rd.break"
#SERIAL="tcp:127.0.0.1:9999"
echo "CLIENT TEST START: $test_name"
- dd if=/dev/zero of="$TESTDIR"/marker.img bs=1MiB count=1
declare -a disk_args=()
# shellcheck disable=SC2034
declare -i disk_index=0
cmdline="$cmdline rd.net.timeout.dhcp=30"
# Invoke KVM and/or QEMU to actually create the target filesystem.
+ test_marker_reset
"$testdir"/run-qemu \
"${disk_args[@]}" \
-net socket,connect=127.0.0.1:12350 \
-f "$TESTDIR"/initramfs.makeroot "$KVERSION" || return 1
rm -rf -- "$TESTDIR"/overlay
- dd if=/dev/zero of="$TESTDIR"/server.img bs=1MiB count=120
- 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"/server.img root
+ qemu_add_drive_args disk_index disk_args "$TESTDIR"/marker.img marker 1
+ qemu_add_drive_args disk_index disk_args "$TESTDIR"/server.img root 120
# Invoke KVM and/or QEMU to actually create the target filesystem.
"$testdir"/run-qemu \
"${disk_args[@]}" \
-append "root=/dev/dracut/root rw rootfstype=ext4 quiet console=ttyS0,115200n81 selinux=0" \
-initrd "$TESTDIR"/initramfs.makeroot || return 1
- grep -U --binary-files=binary -F -m 1 -q dracut-root-block-created "$TESTDIR"/marker.img || return 1
+ test_marker_check dracut-root-block-created || return 1
# Make an overlay with needed tools for the test harness
(
udevadm control --reload
udevadm settle
set -e
-# save a partition at the beginning for future flagging purposes
-sfdisk /dev/sda << EOF
-,1M
-,
-EOF
-udevadm settle
-mkfs.ext4 -L dracut /dev/sda2
+mkfs.ext4 -L dracut /dev/disk/by-id/ata-disk_root
mkdir -p /root
-mount -t ext4 /dev/sda2 /root
+mount -t ext4 /dev/disk/by-id/ata-disk_root /root
cp -a -t /root /source/*
mkdir -p /root/run
umount /root
-echo "dracut-root-block-created" | dd oflag=direct,dsync of=/dev/sda1
+echo "dracut-root-block-created" | dd oflag=direct,dsync of=/dev/disk/by-id/ata-disk_marker
sync
poweroff -f
# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
# ex: ts=8 sw=4 sts=4 et filetype=sh
-[ -z "$USE_NETWORK" ] && USE_NETWORK="network-legacy"
-
# shellcheck disable=SC2034
TEST_DESCRIPTION="root filesystem on NFS with bridging/bonding/vlan with $USE_NETWORK"
-KVERSION=${KVERSION-$(uname -r)}
-
# Uncomment this to debug failures
#DEBUGFAIL="rd.shell rd.break"
#SERIAL="tcp:127.0.0.1:9999"
}
test_setup() {
- # Make server root
- dd if=/dev/zero of="$TESTDIR"/server.ext4 bs=1M count=120
-
kernel=$KVERSION
rm -rf -- "$TESTDIR"/overlay
(
--no-hostonly-cmdline -N \
-f "$TESTDIR"/initramfs.makeroot "$KVERSION" || return 1
+ declare -a disk_args=()
+ declare -i disk_index=0
+ qemu_add_drive_args disk_index disk_args "$TESTDIR"/marker.img marker 1
+ qemu_add_drive_args disk_index disk_args "$TESTDIR"/server.ext4 root 120
+
# Invoke KVM and/or QEMU to actually create the target filesystem.
"$testdir"/run-qemu \
- -drive format=raw,index=0,media=disk,file="$TESTDIR"/server.ext4 \
+ "${disk_args[@]}" \
-append "root=/dev/dracut/root rw rootfstype=ext4 quiet console=ttyS0,115200n81 selinux=0" \
-initrd "$TESTDIR"/initramfs.makeroot || return 1
- grep -U --binary-files=binary -F -m 1 -q dracut-root-block-created "$TESTDIR"/server.ext4 || return 1
+ test_marker_check dracut-root-block-created || return 1
+ rm -- "$TESTDIR"/marker.img
rm -fr "$TESTDIR"/overlay
# Make an overlay with needed tools for the test harness
echo "TESTDIR=\"$TESTDIR\"" > .testdir${TEST_RUN_ID:+-$TEST_RUN_ID}
export TESTDIR
+KVERSION=${KVERSION-$(uname -r)}
+
+[ -z "$USE_NETWORK" ] && USE_NETWORK="network-legacy"
+
if [[ -z $basedir ]]; then basedir="$(realpath ../..)"; fi
command -v test_check &> /dev/null || test_check() {
# args: name of the argument array variable (set to () at start)
# filename: filename of the raw disk image
# id-name: name of the disk in /dev/disk/by-id -> /dev/disk/by-id/ata-disk_$name
+# size: optional file size in MiB (0 implies size is not set)
# bootindex: optional bootindex number
#
# to be used later with `qemu … "${args[@]}" …`
# ```
# declare -a disk_args=()
# declare -i disk_index=0
-# qemu_add_drive_args disk_index disk_args "$TESTDIR"/root.ext3 root 1
+# qemu_add_drive_args disk_index disk_args "$TESTDIR"/root.ext3 root 0 1
# qemu_add_drive_args disk_index disk_args "$TESTDIR"/client.img client
# qemu_add_drive_args disk_index disk_args "$TESTDIR"/iscsidisk2.img iscsidisk2
# qemu_add_drive_args disk_index disk_args "$TESTDIR"/iscsidisk3.img iscsidisk3
local index=${!1}
local file=$3
local name=${4:-$index}
- local bootindex=$5
+ local size=${5:-0}
+ local bootindex=$6
+
+ if [ "${size}" -ne 0 ]; then
+ dd if=/dev/zero of="${file}" bs=1MiB count="${size}"
+ fi
eval "${2}"'+=(' \
-drive "if=none,format=raw,file=${file},id=drive-sata${index}" \
let "${1}++"
}
+test_marker_reset() {
+ dd if=/dev/zero of="$TESTDIR"/marker.img bs=1MiB count=1
+}
+
+test_marker_check() {
+ local marker=${1:-dracut-root-block-success}
+ local file=${2:-marker.img}
+
+ grep -U --binary-files=binary -F -m 1 -q "$marker" "$TESTDIR/$file"
+ return $?
+}
+
while (($# > 0)); do
case $1 in
--run)