xfs
[Top] [All Lists]

[PATCH] [xfstests v2]: Don't hardcode paths to many binaries.

To: xfs@xxxxxxxxxxx
Subject: [PATCH] [xfstests v2]: Don't hardcode paths to many binaries.
From: Arkadiusz Miśkiewicz <arekm@xxxxxxxx>
Date: Thu, 9 Sep 2010 19:02:17 +0200
Cc: Arkadiusz Miśkiewicz <arekm@xxxxxxxx>
In-reply-to: <1284044278-17430-1-git-send-email-arekm@xxxxxxxx>
References: <1284044278-17430-1-git-send-email-arekm@xxxxxxxx>
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

<Prev in Thread] Current Thread [Next in Thread>