From e61237961448ab1fedf7975715fac753ccc7acef Mon Sep 17 00:00:00 2001 From: Jinshan Xiong Date: Wed, 6 Apr 2016 09:48:10 -0700 Subject: [PATCH] Make zfs test easier to run in local install When ZFS is installed by 'make install', programs will be installed into '/usr/local'. ZFS test scripts can't locate programs 'zpool' that caused tests failure. Fix typo in help message. Add sanity check to for ksh and generate a useful error message. Signed-off-by: Jinshan Xiong Signed-off-by: Brian Behlendorf Closes #4495 --- scripts/zfs-tests.sh | 9 +++++++- tests/zfs-tests/include/default.cfg.in | 29 +++++++++++++------------- tests/zfs-tests/include/libtest.shlib | 7 ------- 3 files changed, 23 insertions(+), 22 deletions(-) diff --git a/scripts/zfs-tests.sh b/scripts/zfs-tests.sh index dada219171..01fb2b2899 100755 --- a/scripts/zfs-tests.sh +++ b/scripts/zfs-tests.sh @@ -177,7 +177,7 @@ $0 -r linux-fast # Cleanup a previous run of the test suite prior to testing, run the # default (linux) suite of tests and perform no cleanup on exit. -$0 -c +$0 -x EOF } @@ -250,6 +250,13 @@ if [ $(sudo whoami) != "root" ]; then fail "Passwordless sudo access required." fi +# +# Check if ksh exists +# +if [ -z "$(which ksh 2>/dev/null)" ]; then + fail "This test suite requires ksh." +fi + # # Verify the ZFS module stack if loaded. # diff --git a/tests/zfs-tests/include/default.cfg.in b/tests/zfs-tests/include/default.cfg.in index 2711c70746..2fd9a98303 100644 --- a/tests/zfs-tests/include/default.cfg.in +++ b/tests/zfs-tests/include/default.cfg.in @@ -29,6 +29,20 @@ # . $STF_SUITE/include/commands.cfg + +# Common paths +bindir=@bindir@ +sbindir=@sbindir@ + +# ZFS Commands +export ZDB=${ZDB:-${sbindir}/zdb} +export ZFS=${ZFS:-${sbindir}/zfs} +export ZHACK=${ZHACK:-${sbindir}/zhack} +export ZINJECT=${ZINJECT:-${sbindir}/zinject} +export ZPOOL=${ZPOOL:-${sbindir}/zpool} +export ZTEST=${ZTEST:-${sbindir}/ztest} +export ZPIOS=${ZPIOS:-${sbindir}/zpios} + . $STF_SUITE/include/libtest.shlib # Optionally override the installed ZFS commands to run in-tree @@ -45,21 +59,8 @@ export RT_SHORT="1" export ZONE_POOL="zonepool" export ZONE_CTR="zonectr" -# Common paths -bindir=@bindir@ -sbindir=@sbindir@ -helperdir=@datarootdir@/@PACKAGE@/zfs-tests/bin - -# ZFS Commands -ZDB=${ZDB:-${sbindir}/zdb} -ZFS=${ZFS:-${sbindir}/zfs} -ZHACK=${ZHACK:-${sbindir}/zhack} -ZINJECT=${ZINJECT:-${sbindir}/zinject} -ZPOOL=${ZPOOL:-${sbindir}/zpool} -ZTEST=${ZTEST:-${sbindir}/ztest} -ZPIOS=${ZPIOS:-${sbindir}/zpios} - # Test Suite Specific Commands +helperdir=@datarootdir@/@PACKAGE@/zfs-tests/bin export CHG_USR_EXEC=${CHG_USR_EXEC:-${helperdir}/chg_usr_exec} export DEVNAME2DEVID=${DEVNAME2DEVID:-${helperdir}/devname2devid} export DIR_RD_UPDATE=${DIR_RD_UPDATE:-${helperdir}/dir_rd_update} diff --git a/tests/zfs-tests/include/libtest.shlib b/tests/zfs-tests/include/libtest.shlib index 10ef5a99f9..1ac3d06411 100644 --- a/tests/zfs-tests/include/libtest.shlib +++ b/tests/zfs-tests/include/libtest.shlib @@ -31,13 +31,6 @@ . ${STF_TOOLS}/include/logapi.shlib -ZDB=${ZDB:-/sbin/zdb} -ZFS=${ZFS:-/sbin/zfs} -ZINJECT=${ZINJECT:-/sbin/zinject} -ZHACK=${ZHACK:-/sbin/zhack} -ZPOOL=${ZPOOL:-/sbin/zpool} -ZTEST=${ZTEST:-/sbin/ztest} - # Determine if this is a Linux test system # # Return 0 if platform Linux, 1 if otherwise