From: Harald Hoyer Date: Tue, 30 Mar 2021 10:17:38 +0000 (+0200) Subject: fix(TEST DMSQUASH): shellcheck X-Git-Tag: 054~163 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=92798d7d1b6e17df6c933949b69b76b9ca1cbf07;p=thirdparty%2Fdracut.git fix(TEST DMSQUASH): shellcheck --- diff --git a/test/TEST-16-DMSQUASH/.shchkdir b/test/TEST-16-DMSQUASH/.shchkdir new file mode 100644 index 000000000..e69de29bb diff --git a/test/TEST-16-DMSQUASH/test-init.sh b/test/TEST-16-DMSQUASH/test-init.sh index 72c1807e6..7f2cd72cd 100755 --- a/test/TEST-16-DMSQUASH/test-init.sh +++ b/test/TEST-16-DMSQUASH/test-init.sh @@ -1,114 +1,10 @@ #!/bin/sh -getcmdline() { - while read -r _line || [ -n "$_line" ]; do - printf "%s" "$_line" - done < /proc/cmdline -} +. /lib/dracut-lib.sh -_dogetarg() { - local _o _val _doecho - unset _val - unset _o - unset _doecho - CMDLINE=$(getcmdline) - - for _o in $CMDLINE; do - if [ "${_o%%=*}" = "${1%%=*}" ]; then - if [ -n "${1#*=}" -a "${1#*=*}" != "${1}" ]; then - # if $1 has a "=", we want the exact match - if [ "$_o" = "$1" ]; then - _val="1" - unset _doecho - fi - continue - fi - - if [ "${_o#*=}" = "$_o" ]; then - # if cmdline argument has no "=", we assume "=1" - _val="1" - unset _doecho - continue - fi - - _val="${_o#*=}" - _doecho=1 - fi - done - if [ -n "$_val" ]; then - [ "x$_doecho" != "x" ] && echo "$_val" - return 0 - fi - return 1 -} - -getarg() { - local _deprecated _newoption - while [ $# -gt 0 ]; do - case $1 in - -d) - _deprecated=1 - shift - ;; - -y) - if _dogetarg $2 > /dev/null; then - if [ "$_deprecated" = "1" ]; then - [ -n "$_newoption" ] && warn "Kernel command line option '$2' is deprecated, use '$_newoption' instead." || warn "Option '$2' is deprecated." - fi - echo 1 - return 0 - fi - _deprecated=0 - shift 2 - ;; - -n) - if _dogetarg $2 > /dev/null; then - echo 0 - if [ "$_deprecated" = "1" ]; then - [ -n "$_newoption" ] && warn "Kernel command line option '$2' is deprecated, use '$_newoption=0' instead." || warn "Option '$2' is deprecated." - fi - return 1 - fi - _deprecated=0 - shift 2 - ;; - *) - if [ -z "$_newoption" ]; then - _newoption="$1" - fi - if _dogetarg $1; then - if [ "$_deprecated" = "1" ]; then - [ -n "$_newoption" ] && warn "Kernel command line option '$1' is deprecated, use '$_newoption' instead." || warn "Option '$1' is deprecated." - fi - return 0 - fi - _deprecated=0 - shift - ;; - esac - done - return 1 -} - -getargbool() { - local _b - unset _b - local _default - _default="$1" - shift - _b=$(getarg "$@") - [ $? -ne 0 -a -z "$_b" ] && _b="$_default" - if [ -n "$_b" ]; then - [ $_b = "0" ] && return 1 - [ $_b = "no" ] && return 1 - [ $_b = "off" ] && return 1 - fi - return 0 -} export PATH=/sbin:/bin:/usr/sbin:/usr/bin -strstr() { [ "${1##*"$2"*}" != "$1" ]; } -CMDLINE=$(while read line || [ -n "$line" ]; do echo $line; done < /proc/cmdline) -plymouth --quit +command -v plymouth > /dev/null 2>&1 && plymouth --quit exec > /dev/console 2>&1 + echo "dracut-root-block-success" | dd oflag=direct,dsync of=/dev/sdb export TERM=linux export PS1='initramfs-test:\w\$ ' @@ -119,4 +15,5 @@ echo "made it to the rootfs!" getargbool 0 rd.shell && sh -i echo "Powering down." mount -n -o remount,ro / +sync poweroff -f diff --git a/test/TEST-16-DMSQUASH/test.sh b/test/TEST-16-DMSQUASH/test.sh index 095127647..6bde17aa5 100755 --- a/test/TEST-16-DMSQUASH/test.sh +++ b/test/TEST-16-DMSQUASH/test.sh @@ -1,4 +1,5 @@ #!/bin/bash +# shellcheck disable=SC2034 TEST_DESCRIPTION="root filesystem on a LiveCD dmsquash filesystem" KVERSION="${KVERSION-$(uname -r)}" @@ -8,7 +9,8 @@ KVERSION="${KVERSION-$(uname -r)}" test_check() { for pdir in $(python -c "import site; print(site.getsitepackages())" | sed -e 's/\[\(.*\)\]/\1/' -e "s/', /' /g"); do - pdir1=$(echo $pdir | sed "s/^'\(.*\)'$/\1/") + # shellcheck disable=SC2001 + pdir1=$(echo "$pdir" | sed "s/^'\(.*\)'$/\1/") if [[ -d $pdir1/imgcreate ]]; then return 0 fi @@ -40,7 +42,9 @@ test_run() { test_setup() { mkdir -p -- "$TESTDIR"/overlay ( + # shellcheck disable=SC2030 export initdir="$TESTDIR"/overlay + # shellcheck disable=SC1090 . "$basedir"/dracut-init.sh inst_multiple poweroff shutdown inst_hook shutdown-emergency 000 ./hard-off.sh @@ -50,7 +54,7 @@ test_setup() { dd if=/dev/zero of="$TESTDIR"/root.img count=100 - $basedir/dracut.sh -l -i "$TESTDIR"/overlay / \ + "$basedir"/dracut.sh -l -i "$TESTDIR"/overlay / \ -a "debug dmsquash-live qemu" \ -o "rngd" \ -d "piix ide-gd_mod ata_piix ext3 sd_mod" \ @@ -61,10 +65,12 @@ test_setup() { kernel="$KVERSION" # Create what will eventually be our root filesystem onto an overlay ( + # shellcheck disable=SC2031 export initdir="$TESTDIR"/root-source + # shellcheck disable=SC1090 . "$basedir"/dracut-init.sh ( - cd "$initdir" + cd "$initdir" || exit mkdir -p -- dev sys proc etc var/run tmp mkdir -p root usr/bin usr/lib usr/lib64 usr/sbin for i in bin sbin lib lib64; do @@ -73,13 +79,19 @@ test_setup() { ) inst_multiple sh df free ls shutdown poweroff stty cat ps ln ip \ mount dmesg dhclient mkdir cp ping dhclient \ - umount strace less dd + umount strace less 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 "$basedir/modules.d/35network-legacy/dhclient-script.sh" "/sbin/dhclient-script" inst "$basedir/modules.d/35network-legacy/ifup.sh" "/sbin/ifup" + + inst_simple "${basedir}/modules.d/99base/dracut-lib.sh" "/lib/dracut-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 syslinux isohybrid for f in /usr/share/syslinux/*; do inst_simple "$f" @@ -87,11 +99,11 @@ test_setup() { inst_simple /etc/os-release inst ./test-init.sh /sbin/init inst "$TESTDIR"/initramfs.testing "/boot/initramfs-$KVERSION.img" - [[ -f /etc/machine-id ]] && read MACHINE_ID < /etc/machine-id + [[ -f /etc/machine-id ]] && read -r MACHINE_ID < /etc/machine-id VMLINUZ="/lib/modules/${KVERSION}/vmlinuz" if ! [[ -e $VMLINUZ ]]; then - if [[ $MACHINE_ID ]] && ([[ -d /boot/${MACHINE_ID} ]] || [[ -L /boot/${MACHINE_ID} ]]); then + if [[ $MACHINE_ID ]] && { [[ -d /boot/${MACHINE_ID} ]] || [[ -L /boot/${MACHINE_ID} ]]; }; then VMLINUZ="/boot/${MACHINE_ID}/$KVERSION/linux" fi fi @@ -110,4 +122,5 @@ test_cleanup() { return 0 } +# shellcheck disable=SC1090 . "$testdir"/test-functions