xfstests: made test 215 backwards compatible with older version of bash.
A message that is not in the archive (sent off-list or not yet received): Fix for test 215
PATCH 1/1 xfstests: made test 215 backwards compatible with older version of bash.
Test 215 fails on older versions of bash (2.x), mainly due to the use of 'let' for arithemetic operations. Changed to 'expr'.
On branch fix-test-215
Changes to be committed:
215 +3 -2
@@ -68,8 +68,9 @@ $XFS_IO_PROG -F -f \ mtime2=`stat --printf="%Y" $testfile` ctime2=`stat --printf="%Z" $testfile` -let mtime_diff=$mtime2-$mtime1 -let ctime_diff=$ctime2-$ctime1 +# Allow support for older bash versions. +mtime_diff=`expr $mtime2 - $mtime1` +ctime_diff=`expr $ctime2 - $ctime1` if [ "$mtime_diff" -eq "0" ]; then echo "FAIL: mtime not update after mapped write"
--- 215 | 5 +++-- 1 files changed, 3 insertions(+), 2 deletions(-)
215 +3 -2
@@ -68,8 +68,9 @@ $XFS_IO_PROG -F -f \ mtime2=`stat --printf="%Y" $testfile` ctime2=`stat --printf="%Z" $testfile` -let mtime_diff=$mtime2-$mtime1 -let ctime_diff=$ctime2-$ctime1 +# Allow support for older bash versions. +mtime_diff=`expr $mtime2 - $mtime1` +ctime_diff=`expr $ctime2 - $ctime1` if [ "$mtime_diff" -eq "0" ]; then echo "FAIL: mtime not update after mapped write"
Signature · 6 lines
1.7.0.1 _______________________________________________ xfs mailing list [email protected] http://oss.sgi.com/mailman/listinfo/xfs
Quoted 2 lines · Akshay Lal
Test 215 fails on older versions of bash (2.x), mainly due to the use of 'let' for arithemetic operations. Changed to 'expr'.
If that is a problem for older bash versions, then there's going systemic problems throughout the xfstests suite. The let expression is used about 80 different places, and I don't see anything special about test 215 that makes it any different from other uses. i might be missing something, but there's not much context to go on from your changelog....
Perhaps upgrading your version of bash might be a better approach?
Cheers,
Dave.
Signature · 7 lines
Dave Chinner [email protected] _______________________________________________ xfs mailing list [email protected] http://oss.sgi.com/mailman/listinfo/xfs
Quoted 11 lines · Dave Chinner
Quoted 2 lines · Akshay Lal
Test 215 fails on older versions of bash (2.x), mainly due to the use of 'let' for arithemetic operations. Changed to 'expr'.
If that is a problem for older bash versions, then there's going systemic problems throughout the xfstests suite. The let expression is used about 80 different places, and I don't see anything special about test 215 that makes it any different from other uses. i might be missing something, but there's not much context to go on from your changelog....
Quoted 5 lines
Perhaps upgrading your version of bash might be a better approach?
Cheers,
Dave.
Also, a wholesale switch from expr to let was done not long ago, for very specific reasons - see below - so I don't think there's much interest in going back in the other direction.
Thanks,
-Eric
commit e714acc0ef37031b9a5a522703f2832f139c22e0
Author: Dave Chinner <[email protected]> Date: Wed Mar 25 20:53:36 2009 +0100
reduce the number of processes forked
One of the big cpu time consumers when running xfsqa on UML is forking of new processes. when looping lots of times, using 'expr' to calculate the loop counter increment means we fork at least once every loop. using shell builtins means that we don't fork and many tests run substantially faster.
Some tests are even runnable with this modification. e.g. 110 went from taking 4500s to run down to 9s with the loop iterators changed to avoid forking.
007 +1 -1
@@ -50,7 +50,7 @@ num_filenames=100 i=1 while [ $i -le $num_filenames ]; do echo "nametest.$i" >>$sourcefile - i=`expr $i + 1` + let i=$i+1 done mkdir $testdir/$seq
.... etc ....
_______________________________________________
xfs mailing list
[email protected]
http://oss.sgi.com/mailman/listinfo/xfs