From 387edf547eb09b27ca6d49772eb048d729f09cf4 Mon Sep 17 00:00:00 2001 From: Rob Landley Date: Sat, 20 Sep 2014 13:09:14 -0500 Subject: [PATCH] Move testsuite out of scripts/test into its own top level tests directory, and make ctrl-c kill "make test" more reliably. --- scripts/{test/testing.sh => runtest.sh} | 6 +++--- scripts/test.sh | 18 ++++++++++-------- {scripts/test => tests}/basename.test | 0 {scripts/test => tests}/blkid.test | 2 +- {scripts/test => tests}/blkid/cramfs.bz2 | Bin {scripts/test => tests}/blkid/ext2.bz2 | Bin {scripts/test => tests}/blkid/ext3.bz2 | Bin {scripts/test => tests}/blkid/ext4.bz2 | Bin {scripts/test => tests}/blkid/f2fs.bz2 | Bin {scripts/test => tests}/blkid/minix.bz2 | Bin {scripts/test => tests}/blkid/msdos.bz2 | Bin {scripts/test => tests}/blkid/ntfs.bz2 | Bin {scripts/test => tests}/blkid/reiser3.bz2 | Bin {scripts/test => tests}/blkid/squashfs.bz2 | Bin {scripts/test => tests}/blkid/vfat.bz2 | Bin {scripts/test => tests}/blkid/xfs.bz2 | Bin {scripts/test => tests}/bzcat.test | 0 {scripts/test => tests}/cat.test | 0 {scripts/test => tests}/chgrp.test | 0 {scripts/test => tests}/chmod.test | 0 {scripts/test => tests}/cksum.test | 0 {scripts/test => tests}/cmp.test | 0 {scripts/test => tests}/cp.test | 0 {scripts/test => tests}/cpio.test | 0 {scripts/test => tests}/cut.test | 0 {scripts/test => tests}/dd.test | 0 {scripts/test => tests}/dirname.test | 0 {scripts/test => tests}/du.test | 0 {scripts/test => tests}/echo.test | 0 {scripts/test => tests}/expand.test | 0 {scripts/test => tests}/expr.test | 0 {scripts/test => tests}/factor.test | 0 {scripts/test => tests}/find.test | 0 {scripts/test => tests}/grep.test | 0 {scripts/test => tests}/groupadd.test | 0 {scripts/test => tests}/groupdel.test | 0 {scripts/test => tests}/head.test | 0 {scripts/test => tests}/hostname.test | 0 {scripts/test => tests}/link.test | 0 {scripts/test => tests}/ln.test | 0 {scripts/test => tests}/losetup.test | 0 {scripts/test => tests}/ls.test | 0 {scripts/test => tests}/lsattr.test | 0 {scripts/test => tests}/md5sum.test | 0 {scripts/test => tests}/mkdir.test | 0 {scripts/test => tests}/mkfifo.test | 0 {scripts/test => tests}/modinfo.test | 0 {scripts/test => tests}/mount.test | 0 {scripts/test => tests}/mv.test | 0 {scripts/test => tests}/nl.test | 0 {scripts/test => tests}/pgrep.test | 0 {scripts/test => tests}/printf.test | 0 {scripts/test => tests}/pwd.test | 0 {scripts/test => tests}/readlink.test | 0 {scripts/test => tests}/renice.test | 0 {scripts/test => tests}/rev.test | 0 {scripts/test => tests}/rm.test | 0 {scripts/test => tests}/rmdir.test | 0 {scripts/test => tests}/seq.test | 0 {scripts/test => tests}/sha1sum.test | 0 {scripts/test => tests}/sort.test | 0 {scripts/test => tests}/split.test | 0 {scripts/test => tests}/tac.test | 0 {scripts/test => tests}/tail.test | 0 {scripts/test => tests}/tar.test | 0 {scripts/test => tests}/test.test | 0 {scripts/test => tests}/touch.test | 0 {scripts/test => tests}/useradd.test | 0 {scripts/test => tests}/uudecode.test | 0 {scripts/test => tests}/uuencode.test | 0 {scripts/test => tests}/wc.test | 0 {scripts/test => tests}/xargs.test | 0 {scripts/test => tests}/xzcat.test | 0 {scripts/test => tests}/zcat.test | 0 74 files changed, 14 insertions(+), 12 deletions(-) rename scripts/{test/testing.sh => runtest.sh} (98%) rename {scripts/test => tests}/basename.test (100%) rename {scripts/test => tests}/blkid.test (98%) rename {scripts/test => tests}/blkid/cramfs.bz2 (100%) rename {scripts/test => tests}/blkid/ext2.bz2 (100%) rename {scripts/test => tests}/blkid/ext3.bz2 (100%) rename {scripts/test => tests}/blkid/ext4.bz2 (100%) rename {scripts/test => tests}/blkid/f2fs.bz2 (100%) rename {scripts/test => tests}/blkid/minix.bz2 (100%) rename {scripts/test => tests}/blkid/msdos.bz2 (100%) rename {scripts/test => tests}/blkid/ntfs.bz2 (100%) rename {scripts/test => tests}/blkid/reiser3.bz2 (100%) rename {scripts/test => tests}/blkid/squashfs.bz2 (100%) rename {scripts/test => tests}/blkid/vfat.bz2 (100%) rename {scripts/test => tests}/blkid/xfs.bz2 (100%) rename {scripts/test => tests}/bzcat.test (100%) rename {scripts/test => tests}/cat.test (100%) rename {scripts/test => tests}/chgrp.test (100%) rename {scripts/test => tests}/chmod.test (100%) rename {scripts/test => tests}/cksum.test (100%) rename {scripts/test => tests}/cmp.test (100%) rename {scripts/test => tests}/cp.test (100%) rename {scripts/test => tests}/cpio.test (100%) rename {scripts/test => tests}/cut.test (100%) rename {scripts/test => tests}/dd.test (100%) rename {scripts/test => tests}/dirname.test (100%) rename {scripts/test => tests}/du.test (100%) rename {scripts/test => tests}/echo.test (100%) rename {scripts/test => tests}/expand.test (100%) rename {scripts/test => tests}/expr.test (100%) rename {scripts/test => tests}/factor.test (100%) rename {scripts/test => tests}/find.test (100%) rename {scripts/test => tests}/grep.test (100%) rename {scripts/test => tests}/groupadd.test (100%) rename {scripts/test => tests}/groupdel.test (100%) rename {scripts/test => tests}/head.test (100%) rename {scripts/test => tests}/hostname.test (100%) rename {scripts/test => tests}/link.test (100%) rename {scripts/test => tests}/ln.test (100%) rename {scripts/test => tests}/losetup.test (100%) rename {scripts/test => tests}/ls.test (100%) rename {scripts/test => tests}/lsattr.test (100%) rename {scripts/test => tests}/md5sum.test (100%) rename {scripts/test => tests}/mkdir.test (100%) rename {scripts/test => tests}/mkfifo.test (100%) rename {scripts/test => tests}/modinfo.test (100%) rename {scripts/test => tests}/mount.test (100%) rename {scripts/test => tests}/mv.test (100%) rename {scripts/test => tests}/nl.test (100%) rename {scripts/test => tests}/pgrep.test (100%) rename {scripts/test => tests}/printf.test (100%) rename {scripts/test => tests}/pwd.test (100%) rename {scripts/test => tests}/readlink.test (100%) rename {scripts/test => tests}/renice.test (100%) rename {scripts/test => tests}/rev.test (100%) rename {scripts/test => tests}/rm.test (100%) rename {scripts/test => tests}/rmdir.test (100%) rename {scripts/test => tests}/seq.test (100%) rename {scripts/test => tests}/sha1sum.test (100%) rename {scripts/test => tests}/sort.test (100%) rename {scripts/test => tests}/split.test (100%) rename {scripts/test => tests}/tac.test (100%) rename {scripts/test => tests}/tail.test (100%) rename {scripts/test => tests}/tar.test (100%) rename {scripts/test => tests}/test.test (100%) rename {scripts/test => tests}/touch.test (100%) rename {scripts/test => tests}/useradd.test (100%) rename {scripts/test => tests}/uudecode.test (100%) rename {scripts/test => tests}/uuencode.test (100%) rename {scripts/test => tests}/wc.test (100%) rename {scripts/test => tests}/xargs.test (100%) rename {scripts/test => tests}/xzcat.test (100%) rename {scripts/test => tests}/zcat.test (100%) diff --git a/scripts/test/testing.sh b/scripts/runtest.sh similarity index 98% rename from scripts/test/testing.sh rename to scripts/runtest.sh index ea2d6c4..08be6fa 100644 --- a/scripts/test/testing.sh +++ b/scripts/runtest.sh @@ -51,7 +51,7 @@ optional() # The testing function -testing () +testing() { NAME="$1" [ -z "$1" ] && NAME=$2 @@ -101,7 +101,7 @@ testing () # the file is assumed to already be there and only its library dependencies # are copied. -function mkchroot +mkchroot() { [ $# -lt 2 ] && return @@ -130,7 +130,7 @@ function mkchroot # Needed commands listed on command line # Script fed to stdin. -function dochroot +dochroot() { mkdir tmpdir4chroot mount -t ramfs tmpdir4chroot tmpdir4chroot diff --git a/scripts/test.sh b/scripts/test.sh index 550c395..81d9f34 100755 --- a/scripts/test.sh +++ b/scripts/test.sh @@ -2,34 +2,36 @@ [ -z "$TOPDIR" ] && TOPDIR="$(pwd)" -rm -rf testdir -mkdir -p testdir/testdir +trap 'kill $(jobs -p) 2>/dev/null; exit 1' INT + +rm -rf generated/testdir +mkdir -p generated/testdir/testdir if [ -z "$TEST_HOST" ] then if [ $# -ne 0 ] then - PREFIX=testdir/ scripts/single.sh "$@" || exit 1 + PREFIX=generated/testdir/ scripts/single.sh "$@" || exit 1 else - make install_flat PREFIX=testdir || exit 1 + make install_flat PREFIX=generated/testdir || exit 1 fi fi -cd testdir +cd generated/testdir PATH="$PWD:$PATH" cd testdir -. "$TOPDIR"/scripts/test/testing.sh +. "$TOPDIR"/scripts/runtest.sh [ -f "$TOPDIR/generated/config.h" ] && export OPTIONFLAGS=:$(echo $(sed -nr 's/^#define CFG_(.*) 1/\1/p' "$TOPDIR/generated/config.h") | sed 's/ /:/g') if [ $# -ne 0 ] then for i in "$@" do - . "$TOPDIR"/scripts/test/$i.test + . "$TOPDIR"/tests/$i.test done else - for i in "$TOPDIR"/scripts/test/*.test + for i in "$TOPDIR"/tests/*.test do CMDNAME="$(echo "$i" | sed 's@.*/\(.*\)\.test@\1@')" if [ -h ../$CMDNAME ] || [ ! -z "$TEST_HOST" ] diff --git a/scripts/test/basename.test b/tests/basename.test similarity index 100% rename from scripts/test/basename.test rename to tests/basename.test diff --git a/scripts/test/blkid.test b/tests/blkid.test similarity index 98% rename from scripts/test/blkid.test rename to tests/blkid.test index 0026aeb..3f676df 100755 --- a/scripts/test/blkid.test +++ b/tests/blkid.test @@ -4,7 +4,7 @@ #testing "name" "command" "result" "infile" "stdin" -BDIR="$TOPDIR/scripts/test/blkid" +BDIR="$TOPDIR/tests/blkid" bzcat "$BDIR"/squashfs.bz2 > temp.img testing "blkid file" "blkid temp.img" 'temp.img: TYPE="squashfs"\n' "" "" diff --git a/scripts/test/blkid/cramfs.bz2 b/tests/blkid/cramfs.bz2 similarity index 100% rename from scripts/test/blkid/cramfs.bz2 rename to tests/blkid/cramfs.bz2 diff --git a/scripts/test/blkid/ext2.bz2 b/tests/blkid/ext2.bz2 similarity index 100% rename from scripts/test/blkid/ext2.bz2 rename to tests/blkid/ext2.bz2 diff --git a/scripts/test/blkid/ext3.bz2 b/tests/blkid/ext3.bz2 similarity index 100% rename from scripts/test/blkid/ext3.bz2 rename to tests/blkid/ext3.bz2 diff --git a/scripts/test/blkid/ext4.bz2 b/tests/blkid/ext4.bz2 similarity index 100% rename from scripts/test/blkid/ext4.bz2 rename to tests/blkid/ext4.bz2 diff --git a/scripts/test/blkid/f2fs.bz2 b/tests/blkid/f2fs.bz2 similarity index 100% rename from scripts/test/blkid/f2fs.bz2 rename to tests/blkid/f2fs.bz2 diff --git a/scripts/test/blkid/minix.bz2 b/tests/blkid/minix.bz2 similarity index 100% rename from scripts/test/blkid/minix.bz2 rename to tests/blkid/minix.bz2 diff --git a/scripts/test/blkid/msdos.bz2 b/tests/blkid/msdos.bz2 similarity index 100% rename from scripts/test/blkid/msdos.bz2 rename to tests/blkid/msdos.bz2 diff --git a/scripts/test/blkid/ntfs.bz2 b/tests/blkid/ntfs.bz2 similarity index 100% rename from scripts/test/blkid/ntfs.bz2 rename to tests/blkid/ntfs.bz2 diff --git a/scripts/test/blkid/reiser3.bz2 b/tests/blkid/reiser3.bz2 similarity index 100% rename from scripts/test/blkid/reiser3.bz2 rename to tests/blkid/reiser3.bz2 diff --git a/scripts/test/blkid/squashfs.bz2 b/tests/blkid/squashfs.bz2 similarity index 100% rename from scripts/test/blkid/squashfs.bz2 rename to tests/blkid/squashfs.bz2 diff --git a/scripts/test/blkid/vfat.bz2 b/tests/blkid/vfat.bz2 similarity index 100% rename from scripts/test/blkid/vfat.bz2 rename to tests/blkid/vfat.bz2 diff --git a/scripts/test/blkid/xfs.bz2 b/tests/blkid/xfs.bz2 similarity index 100% rename from scripts/test/blkid/xfs.bz2 rename to tests/blkid/xfs.bz2 diff --git a/scripts/test/bzcat.test b/tests/bzcat.test similarity index 100% rename from scripts/test/bzcat.test rename to tests/bzcat.test diff --git a/scripts/test/cat.test b/tests/cat.test similarity index 100% rename from scripts/test/cat.test rename to tests/cat.test diff --git a/scripts/test/chgrp.test b/tests/chgrp.test similarity index 100% rename from scripts/test/chgrp.test rename to tests/chgrp.test diff --git a/scripts/test/chmod.test b/tests/chmod.test similarity index 100% rename from scripts/test/chmod.test rename to tests/chmod.test diff --git a/scripts/test/cksum.test b/tests/cksum.test similarity index 100% rename from scripts/test/cksum.test rename to tests/cksum.test diff --git a/scripts/test/cmp.test b/tests/cmp.test similarity index 100% rename from scripts/test/cmp.test rename to tests/cmp.test diff --git a/scripts/test/cp.test b/tests/cp.test similarity index 100% rename from scripts/test/cp.test rename to tests/cp.test diff --git a/scripts/test/cpio.test b/tests/cpio.test similarity index 100% rename from scripts/test/cpio.test rename to tests/cpio.test diff --git a/scripts/test/cut.test b/tests/cut.test similarity index 100% rename from scripts/test/cut.test rename to tests/cut.test diff --git a/scripts/test/dd.test b/tests/dd.test similarity index 100% rename from scripts/test/dd.test rename to tests/dd.test diff --git a/scripts/test/dirname.test b/tests/dirname.test similarity index 100% rename from scripts/test/dirname.test rename to tests/dirname.test diff --git a/scripts/test/du.test b/tests/du.test similarity index 100% rename from scripts/test/du.test rename to tests/du.test diff --git a/scripts/test/echo.test b/tests/echo.test similarity index 100% rename from scripts/test/echo.test rename to tests/echo.test diff --git a/scripts/test/expand.test b/tests/expand.test similarity index 100% rename from scripts/test/expand.test rename to tests/expand.test diff --git a/scripts/test/expr.test b/tests/expr.test similarity index 100% rename from scripts/test/expr.test rename to tests/expr.test diff --git a/scripts/test/factor.test b/tests/factor.test similarity index 100% rename from scripts/test/factor.test rename to tests/factor.test diff --git a/scripts/test/find.test b/tests/find.test similarity index 100% rename from scripts/test/find.test rename to tests/find.test diff --git a/scripts/test/grep.test b/tests/grep.test similarity index 100% rename from scripts/test/grep.test rename to tests/grep.test diff --git a/scripts/test/groupadd.test b/tests/groupadd.test similarity index 100% rename from scripts/test/groupadd.test rename to tests/groupadd.test diff --git a/scripts/test/groupdel.test b/tests/groupdel.test similarity index 100% rename from scripts/test/groupdel.test rename to tests/groupdel.test diff --git a/scripts/test/head.test b/tests/head.test similarity index 100% rename from scripts/test/head.test rename to tests/head.test diff --git a/scripts/test/hostname.test b/tests/hostname.test similarity index 100% rename from scripts/test/hostname.test rename to tests/hostname.test diff --git a/scripts/test/link.test b/tests/link.test similarity index 100% rename from scripts/test/link.test rename to tests/link.test diff --git a/scripts/test/ln.test b/tests/ln.test similarity index 100% rename from scripts/test/ln.test rename to tests/ln.test diff --git a/scripts/test/losetup.test b/tests/losetup.test similarity index 100% rename from scripts/test/losetup.test rename to tests/losetup.test diff --git a/scripts/test/ls.test b/tests/ls.test similarity index 100% rename from scripts/test/ls.test rename to tests/ls.test diff --git a/scripts/test/lsattr.test b/tests/lsattr.test similarity index 100% rename from scripts/test/lsattr.test rename to tests/lsattr.test diff --git a/scripts/test/md5sum.test b/tests/md5sum.test similarity index 100% rename from scripts/test/md5sum.test rename to tests/md5sum.test diff --git a/scripts/test/mkdir.test b/tests/mkdir.test similarity index 100% rename from scripts/test/mkdir.test rename to tests/mkdir.test diff --git a/scripts/test/mkfifo.test b/tests/mkfifo.test similarity index 100% rename from scripts/test/mkfifo.test rename to tests/mkfifo.test diff --git a/scripts/test/modinfo.test b/tests/modinfo.test similarity index 100% rename from scripts/test/modinfo.test rename to tests/modinfo.test diff --git a/scripts/test/mount.test b/tests/mount.test similarity index 100% rename from scripts/test/mount.test rename to tests/mount.test diff --git a/scripts/test/mv.test b/tests/mv.test similarity index 100% rename from scripts/test/mv.test rename to tests/mv.test diff --git a/scripts/test/nl.test b/tests/nl.test similarity index 100% rename from scripts/test/nl.test rename to tests/nl.test diff --git a/scripts/test/pgrep.test b/tests/pgrep.test similarity index 100% rename from scripts/test/pgrep.test rename to tests/pgrep.test diff --git a/scripts/test/printf.test b/tests/printf.test similarity index 100% rename from scripts/test/printf.test rename to tests/printf.test diff --git a/scripts/test/pwd.test b/tests/pwd.test similarity index 100% rename from scripts/test/pwd.test rename to tests/pwd.test diff --git a/scripts/test/readlink.test b/tests/readlink.test similarity index 100% rename from scripts/test/readlink.test rename to tests/readlink.test diff --git a/scripts/test/renice.test b/tests/renice.test similarity index 100% rename from scripts/test/renice.test rename to tests/renice.test diff --git a/scripts/test/rev.test b/tests/rev.test similarity index 100% rename from scripts/test/rev.test rename to tests/rev.test diff --git a/scripts/test/rm.test b/tests/rm.test similarity index 100% rename from scripts/test/rm.test rename to tests/rm.test diff --git a/scripts/test/rmdir.test b/tests/rmdir.test similarity index 100% rename from scripts/test/rmdir.test rename to tests/rmdir.test diff --git a/scripts/test/seq.test b/tests/seq.test similarity index 100% rename from scripts/test/seq.test rename to tests/seq.test diff --git a/scripts/test/sha1sum.test b/tests/sha1sum.test similarity index 100% rename from scripts/test/sha1sum.test rename to tests/sha1sum.test diff --git a/scripts/test/sort.test b/tests/sort.test similarity index 100% rename from scripts/test/sort.test rename to tests/sort.test diff --git a/scripts/test/split.test b/tests/split.test similarity index 100% rename from scripts/test/split.test rename to tests/split.test diff --git a/scripts/test/tac.test b/tests/tac.test similarity index 100% rename from scripts/test/tac.test rename to tests/tac.test diff --git a/scripts/test/tail.test b/tests/tail.test similarity index 100% rename from scripts/test/tail.test rename to tests/tail.test diff --git a/scripts/test/tar.test b/tests/tar.test similarity index 100% rename from scripts/test/tar.test rename to tests/tar.test diff --git a/scripts/test/test.test b/tests/test.test similarity index 100% rename from scripts/test/test.test rename to tests/test.test diff --git a/scripts/test/touch.test b/tests/touch.test similarity index 100% rename from scripts/test/touch.test rename to tests/touch.test diff --git a/scripts/test/useradd.test b/tests/useradd.test similarity index 100% rename from scripts/test/useradd.test rename to tests/useradd.test diff --git a/scripts/test/uudecode.test b/tests/uudecode.test similarity index 100% rename from scripts/test/uudecode.test rename to tests/uudecode.test diff --git a/scripts/test/uuencode.test b/tests/uuencode.test similarity index 100% rename from scripts/test/uuencode.test rename to tests/uuencode.test diff --git a/scripts/test/wc.test b/tests/wc.test similarity index 100% rename from scripts/test/wc.test rename to tests/wc.test diff --git a/scripts/test/xargs.test b/tests/xargs.test similarity index 100% rename from scripts/test/xargs.test rename to tests/xargs.test diff --git a/scripts/test/xzcat.test b/tests/xzcat.test similarity index 100% rename from scripts/test/xzcat.test rename to tests/xzcat.test diff --git a/scripts/test/zcat.test b/tests/zcat.test similarity index 100% rename from scripts/test/zcat.test rename to tests/zcat.test -- 2.7.4