Stop hardcoding paths to getfattr, setfattr, attr, quota, xfs_quota, killall, indent and xfs_copy binaries. Signed-off-by: Arkadiusz Miśkiewicz <arekm@xxxxxxxx> - new --- 020 | 10 +++++----- 021 | 4 ++-- 062 | 6 +++--- 073 | 10 +++++----- 085 | 2 +- 094 | 2 +- 103 | 2 +- 122 | 2 +- 167 | 5 ++--- 186 | 4 ++-- 187 | 4 ++-- 227 | 2 +- common.config | 8 ++++++++ common.quota | 4 ++-- common.rc | 4 +++- 15 files changed, 39 insertions(+), 30 deletions(-) diff --git a/020 b/020 index 0118e61..7f4fb5a 100755 --- a/020 +++ b/020 @@ -49,7 +49,7 @@ _filter() _attr() { - attr $* 2>$tmp.err >$tmp.out + $ATTR_PROG $* 2>$tmp.err >$tmp.out exit=$? _filter $tmp.out _filter $tmp.err 1>&2 @@ -58,7 +58,7 @@ _attr() _getfattr() { - getfattr $* 2>$tmp.err >$tmp.out + $GETFATTR_PROG $* 2>$tmp.err >$tmp.out exit=$? _filter $tmp.out _filter $tmp.err 1>&2 @@ -82,8 +82,8 @@ _attr_list() _supported_fs xfs udf _supported_os Linux -[ -x /usr/bin/attr ] || _notrun "attr is not installed" -[ -x /usr/bin/getfattr ] || _notrun "getfattr is not installed" +[ -n $ATTR_PROG ] || _notrun "attr is not installed" +[ -n $GETFATTR_PROG ] || _notrun "getfattr is not installed" _setup_testdir @@ -145,7 +145,7 @@ echo "*** remove lots of attributes" v=0 while [ $v -lt 1000 ] do - if ! attr -r "attribute_$v" $testfile >>$seq.full + if ! $ATTR_PROG -r "attribute_$v" $testfile >>$seq.full then echo "!!! failed to remove \"attribute_$v\"" exit 1 diff --git a/021 b/021 index 18284eb..10c4611 100755 --- a/021 +++ b/021 @@ -76,8 +76,8 @@ _getfattr() _supported_fs xfs _supported_os Linux -[ -x /usr/bin/attr ] || _notrun "attr is not installed" -[ -x /usr/bin/getfattr ] || _notrun "getfattr is not installed" +[ -n $ATTR_PROG ] || _notrun "attr is not installed" +[ -n $GETFATTR_PROG ] || _notrun "getfattr is not installed" _require_scratch diff --git a/062 b/062 index 76ad513..2bae6a3 100755 --- a/062 +++ b/062 @@ -93,12 +93,12 @@ _linux_attr_calls() getfattr() { - /usr/bin/getfattr --absolute-names -dh $@ 2>&1 | _filter_scratch + $GETFATTR_PROG --absolute-names -dh $@ 2>&1 | _filter_scratch } setfattr() { - /usr/bin/setfattr $@ 2>&1 | _filter_scratch + $SETFATTR_PROG $@ 2>&1 | _filter_scratch } _create_test_bed() @@ -219,7 +219,7 @@ echo; echo _backup() { # NB: no filtering of scratch here... (need to restore too) - /usr/bin/getfattr --absolute-names -dh -R -m '.' $SCRATCH_MNT >$1 + $GETFATTR_PROG --absolute-names -dh -R -m '.' $SCRATCH_MNT >$1 echo BACKUP $1 >>$seq.full cat $1 >> $seq.full [ ! -s $1 ] && echo "warning: $1 (backup file) is empty" diff --git a/073 b/073 index 7ce6efb..18257d4 100755 --- a/073 +++ b/073 @@ -130,7 +130,7 @@ _supported_fs xfs _supported_os Linux [ "$USE_EXTERNAL" = yes ] && _notrun "Cannot xfs_copy with external devices" -[ -x /usr/sbin/xfs_copy ] || _notrun "xfs_copy binary not yet installed" +[ -n "$XFS_COPY_PROG" ] || _notrun "xfs_copy binary not yet installed" _require_scratch _require_loop @@ -145,12 +145,12 @@ umount $SCRATCH_MNT 2>/dev/null echo echo === copying scratch device to single target -xfs_copy $SCRATCH_DEV $imgs.image | _filter_copy '#' $imgs.image '#' '#' +$XFS_COPY_PROG $SCRATCH_DEV $imgs.image | _filter_copy '#' $imgs.image '#' '#' _verify_copy $imgs.image $SCRATCH_DEV $SCRATCH_MNT echo echo === copying scratch device to single target, duplicate UUID -xfs_copy -d $SCRATCH_DEV $imgs.image | _filter_copy '#' $imgs.image '#' '#' +$XFS_COPY_PROG -d $SCRATCH_DEV $imgs.image | _filter_copy '#' $imgs.image '#' '#' _verify_copy $imgs.image $SCRATCH_DEV $SCRATCH_MNT echo @@ -163,7 +163,7 @@ mount -t xfs -o loop $imgs.source $imgs.source_dir loop2=`mount | grep $imgs.source | grep -o -e 'loop=.*[^),]' | grep -o -e '/.*$'` cp -a $here $imgs.source_dir mount -t xfs -o remount,ro $imgs.source $imgs.source_dir -xfs_copy $imgs.source $imgs.image | _filter_copy '#' $imgs.image '#' '#' +$XFS_COPY_PROG $imgs.source $imgs.image | _filter_copy '#' $imgs.image '#' '#' _verify_copy $imgs.image $imgs.source $imgs.source_dir # HACK WARNING: @@ -174,7 +174,7 @@ losetup -d $loop2 > /dev/null 2>&1 echo echo === copying scratch device to multiple targets -xfs_copy -L$imgs.log -b $SCRATCH_DEV $imgs.image1 $imgs.image2 \ +$XFS_COPY_PROG -L$imgs.log -b $SCRATCH_DEV $imgs.image1 $imgs.image2 \ | _filter_copy '#' $imgs.image1 '#' $imgs.image2 _verify_copy $imgs.image1 $SCRATCH_DEV $SCRATCH_MNT _verify_copy $imgs.image2 $SCRATCH_DEV $SCRATCH_MNT diff --git a/085 b/085 index 361aec1..f4a45b7 100755 --- a/085 +++ b/085 @@ -71,7 +71,7 @@ _print_logstate # curious if FS consistent at start if false; then - if /usr/sbin/xfs_check $SCRATCH_DEV; then + if $XFS_CHECK_PROG $SCRATCH_DEV; then echo "*** checked ok ***" fi fi diff --git a/094 b/094 index 8e8b5e7..75fc565 100755 --- a/094 +++ b/094 @@ -47,7 +47,7 @@ _supported_fs xfs _supported_os IRIX Linux _require_realtime _require_scratch -_require_command /usr/sbin/xfs_io +_require_command $XFS_IO_PROG xfs_io _filter_realtime_flag() { diff --git a/103 b/103 index 8f7e45b..4a6bcb1 100755 --- a/103 +++ b/103 @@ -78,7 +78,7 @@ _filter_noymlinks_flag() # real QA test starts here _supported_os Linux IRIX _supported_fs xfs -_require_command /usr/sbin/xfs_io +_require_command $XFS_IO_PROG xfs_io _require_scratch _create_scratch diff --git a/122 b/122 index 4c11556..5f1e10c 100755 --- a/122 +++ b/122 @@ -40,7 +40,7 @@ trap "rm -f $tmp.*; exit \$status" 0 1 2 3 15 # real QA test starts here _supported_fs xfs _supported_os Linux -_require_command /usr/bin/indent +_require_command $INDENT_PROG "indent" # filter out known changes to xfs type sizes _type_size_filter() diff --git a/167 b/167 index 98b55e6..ccb6c2a 100755 --- a/167 +++ b/167 @@ -27,7 +27,6 @@ owner=dgc@xxxxxxx seq=`basename $0` echo "QA output created by $seq" -killall="/usr/bin/killall" here=`pwd` tmp=/tmp/$$ rm -f $seq.full @@ -36,7 +35,7 @@ trap "_cleanup; exit \$status" 0 1 2 3 15 _cleanup() { - killall -r -q -TERM fsstress 2> /dev/null + $KILLALL_PROG -r -q -TERM fsstress 2> /dev/null sync # ensures all fsstress processes died _cleanup_testdir } @@ -58,7 +57,7 @@ workout() _supported_fs xfs _supported_os Linux -[ -x $killall ] || _notrun "$killall executable not found" +[ -n "$KILLALL_PROG" ] || _notrun "killall executable not found" _setup_testdir _require_scratch diff --git a/186 b/186 index 643f4b1..80c406d 100755 --- a/186 +++ b/186 @@ -64,7 +64,7 @@ _create_eas() start_num=$1 end_num=$2 for i in `seq $start_num $end_num`; do - setfattr -n user.$i -v 0xbabe $fork_dir + $SETFATTR_PROG -n user.$i -v 0xbabe $fork_dir done } @@ -73,7 +73,7 @@ _rmv_eas() start_num=$1 end_num=$2 for i in `seq $start_num $end_num`; do - setfattr -x user.$i $fork_dir + $SETFATTR_PROG -x user.$i $fork_dir done } diff --git a/187 b/187 index 6a489d0..ad28051 100755 --- a/187 +++ b/187 @@ -106,8 +106,8 @@ echo "" _scratch_mount -o noattr2 cd $SCRATCH_MNT touch testfile -setfattr -n user.test -v 0xbabe testfile -getfattr testfile +$SETFATTR_PROG -n user.test -v 0xbabe testfile +$GETFATTR_PROG testfile cd $here $UMOUNT_PROG $SCRATCH_MNT $XFS_DB_PROG -c version $SCRATCH_DEV 2>&1 | _filter_version diff --git a/227 b/227 index ac6189c..cb7fa70 100644 --- a/227 +++ b/227 @@ -87,7 +87,7 @@ fragment_freespace() create_attrs() { for foo in `seq 0 1 $1`; do - setfattr -n user.$foo -v 0xbabe $2 + $SETFATTR_PROG -n user.$foo -v 0xbabe $2 done } diff --git a/common.config b/common.config index 04bdcf6..3642139 100644 --- a/common.config +++ b/common.config @@ -150,6 +150,14 @@ export XFSDUMP_PROG="`set_prog_path xfsdump`" export XFSRESTORE_PROG="`set_prog_path xfsrestore`" export XFSINVUTIL_PROG="`set_prog_path xfsinvutil`" export DBENCH_PROG="`set_prog_path dbench`" +export GETFATTR_PROG="`set_prog_path getfattr`" +export SETFATTR_PROG="`set_prog_path setfattr`" +export ATTR_PROG="`set_prog_path attr`" +export QUOTA_PROG="`set_prog_path quota`" +export XFS_QUOTA_PROG="`set_prog_path xfs_quota`" +export KILLALL_PROG="`set_prog_path killall`" +export INDENT_PROG="`set_prog_path indent`" +export XFS_COPY_PROG="`set_prog_path xfs_copy`" # Generate a comparable xfsprogs version number in the form of # major * 10000 + minor * 100 + release diff --git a/common.quota b/common.quota index efb3ef9..868e563 100644 --- a/common.quota +++ b/common.quota @@ -26,7 +26,7 @@ # _require_quota() { - [ -x /usr/bin/quota ] || _notrun "Quota user tools not installed" + [ -n $QUOTA_PROG ] || _notrun "Quota user tools not installed" if [ $FSTYP = "xfs" ]; then [ -f /proc/fs/xfs/xqmstat ] || _notrun "Installed kernel does not support XFS quota" elif [ $FSTYP != "gfs2" ]; then @@ -42,7 +42,7 @@ _require_xfs_quota() { src/feature -q $TEST_DEV [ $? -ne 0 ] && _notrun "Installed kernel does not support XFS quota" - [ -x /usr/sbin/xfs_quota ] || _notrun "XFS quota user tools not installed" + [ -n $XFS_QUOTA_PROG ] || _notrun "XFS quota user tools not installed" } # diff --git a/common.rc b/common.rc index 08d4f71..bc2d318 100644 --- a/common.rc +++ b/common.rc @@ -779,10 +779,12 @@ _require_realtime() } # this test requires that a specified command (executable) exists +# $1 - command, $2 - name for error message # _require_command() { - [ -x "$1" ] || _notrun "$1 utility required, skipped this test" + [ -n "$1" ] && _cmd="$1" || _cmd="$2" + [ -n "$1" -a -x "$1" ] || _notrun "$_cmd utility required, skipped this test" } # this test requires that external log/realtime devices are not in use -- 1.7.2.2 _______________________________________________ xfs mailing list xfs@xxxxxxxxxxx http://oss.sgi.com/mailman/listinfo/xfs