diff mbox series

[06/24] xfs: wrap xfs_db calls to the test device

Message ID 160013421410.2923511.10970678307725348190.stgit@magnolia (mailing list archive)
State New, archived
Headers show
Series fstests: tons of random fixes | expand

Commit Message

Darrick J. Wong Sept. 15, 2020, 1:43 a.m. UTC
From: Darrick J. Wong <darrick.wong@oracle.com>

Create a _test_xfs_db analogue to _scratch_xfs_db so that we can
encapsulate whatever strange test fs options were fed to us by the test
runner.

Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
---
 common/xfs    |   13 +++++++++++++
 tests/xfs/003 |   14 +++++++-------
 tests/xfs/016 |    4 ++--
 tests/xfs/045 |    2 +-
 4 files changed, 23 insertions(+), 10 deletions(-)

Comments

Zorro Lang Sept. 16, 2020, 2:25 a.m. UTC | #1
On Mon, Sep 14, 2020 at 06:43:34PM -0700, Darrick J. Wong wrote:
> From: Darrick J. Wong <darrick.wong@oracle.com>
> 
> Create a _test_xfs_db analogue to _scratch_xfs_db so that we can
> encapsulate whatever strange test fs options were fed to us by the test
> runner.
> 
> Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
> ---

Good to me,
Reviewed-by: Zorro Lang <zlang@redhat.com>

>  common/xfs    |   13 +++++++++++++
>  tests/xfs/003 |   14 +++++++-------
>  tests/xfs/016 |    4 ++--
>  tests/xfs/045 |    2 +-
>  4 files changed, 23 insertions(+), 10 deletions(-)
> 
> 
> diff --git a/common/xfs b/common/xfs
> index d9a9784f..eab5e292 100644
> --- a/common/xfs
> +++ b/common/xfs
> @@ -218,6 +218,19 @@ _scratch_xfs_db()
>  	$XFS_DB_PROG "$@" $(_scratch_xfs_db_options)
>  }
>  
> +_test_xfs_db_options()
> +{
> +	TEST_OPTIONS=""
> +	[ "$USE_EXTERNAL" = yes -a ! -z "$TEST_LOGDEV" ] && \
> +		TEST_OPTIONS="-l$TEST_LOGDEV"
> +	echo $TEST_OPTIONS $* $TEST_DEV
> +}
> +
> +_test_xfs_db()
> +{
> +	$XFS_DB_PROG "$@" $(_test_xfs_db_options)
> +}
> +
>  _scratch_xfs_admin()
>  {
>  	local options=("$SCRATCH_DEV")
> diff --git a/tests/xfs/003 b/tests/xfs/003
> index 1ce3e5ce..736bf206 100755
> --- a/tests/xfs/003
> +++ b/tests/xfs/003
> @@ -38,32 +38,32 @@ test_done()
>  # real QA test starts here
>  
>  echo "=== TEST 1 ==="
> -xfs_db -r -c 'pop' -c 'type sb' $TEST_DEV
> +_test_xfs_db -r -c 'pop' -c 'type sb'
>  test_done
>  
>  echo "=== TEST 2 ==="
> -xfs_db -r -c 'push sb' $TEST_DEV
> +_test_xfs_db -r -c 'push sb'
>  test_done
>  
>  echo "=== TEST 3 ==="
> -xfs_db -r -c 'pop' -c 'push sb' $TEST_DEV
> +_test_xfs_db -r -c 'pop' -c 'push sb'
>  test_done
>  
>  echo "=== TEST 4 ==="
> -xfs_db -r -c 'type sb' -c 'print' $TEST_DEV
> +_test_xfs_db -r -c 'type sb' -c 'print'
>  test_done
>  
>  echo "=== TEST 5 ==="
> -xfs_db -r -c 'inode 128' -c 'push' -c 'type' $TEST_DEV >$tmp.out 2>&1
> +_test_xfs_db -r -c 'inode 128' -c 'push' -c 'type' >$tmp.out 2>&1
>  test_done
>  if ! grep -q "current type is \"inode\"" $tmp.out; then
>      cat $tmp.out
>  fi
>  
>  echo "=== TEST 6 ==="
> -xfs_db -r -c 'sb' -c 'a' $TEST_DEV >$tmp.out 2>&1 # don't care about output
> +_test_xfs_db -r -c 'sb' -c 'a' >$tmp.out 2>&1 # don't care about output
>  test_done
>  
>  echo "=== TEST 7 ==="
> -xfs_db -r -c 'ring' $TEST_DEV
> +_test_xfs_db -r -c 'ring'
>  test_done
> diff --git a/tests/xfs/016 b/tests/xfs/016
> index 2b41127e..e1b1b6b8 100755
> --- a/tests/xfs/016
> +++ b/tests/xfs/016
> @@ -149,7 +149,7 @@ _log_sunit()
>  
>  _after_log()
>  {
> -    xfs_db -r $1 -c "sb" -c "print" | $AWK_PROG '
> +    _scratch_xfs_db -r -c "sb" -c "print" | $AWK_PROG '
>          /logstart/  { logstart = $3 }
>          /logblocks/ { logblocks = $3 }
>          END {
> @@ -163,7 +163,7 @@ _check_corrupt()
>      f="c6c6c6c6"
>      echo "*** check for corruption"
>      echo "expect $f..." >>$seqres.full
> -    xfs_db -r -c "fsblock $2" -c "print" $1 | head | tee -a $seqres.full | \
> +    _scratch_xfs_db -r -c "fsblock $2" -c "print" | head | tee -a $seqres.full | \
>          grep -q -v "$f $f $f $f $f $f $f $f" && \
>              _fail "!!! block $2 corrupted!"
>  }
> diff --git a/tests/xfs/045 b/tests/xfs/045
> index 0c9e1b79..6a44da56 100755
> --- a/tests/xfs/045
> +++ b/tests/xfs/045
> @@ -21,7 +21,7 @@ trap "rm -f $tmp.*; exit \$status" 0 1 2 3 15
>  
>  _get_existing_uuid()
>  {
> -    xfs_db -r $TEST_DEV -c "uuid" | $AWK_PROG '/^UUID/ { print $3 }'
> +	_test_xfs_db -r -c "uuid" | $AWK_PROG '/^UUID/ { print $3 }'
>  }
>  
>  # real QA test starts here
>
Christoph Hellwig Sept. 17, 2020, 7:54 a.m. UTC | #2
On Mon, Sep 14, 2020 at 06:43:34PM -0700, Darrick J. Wong wrote:
> From: Darrick J. Wong <darrick.wong@oracle.com>
> 
> Create a _test_xfs_db analogue to _scratch_xfs_db so that we can
> encapsulate whatever strange test fs options were fed to us by the test
> runner.

Looks good:

Reviewed-by: Christoph Hellwig <hch@lst.de>
diff mbox series

Patch

diff --git a/common/xfs b/common/xfs
index d9a9784f..eab5e292 100644
--- a/common/xfs
+++ b/common/xfs
@@ -218,6 +218,19 @@  _scratch_xfs_db()
 	$XFS_DB_PROG "$@" $(_scratch_xfs_db_options)
 }
 
+_test_xfs_db_options()
+{
+	TEST_OPTIONS=""
+	[ "$USE_EXTERNAL" = yes -a ! -z "$TEST_LOGDEV" ] && \
+		TEST_OPTIONS="-l$TEST_LOGDEV"
+	echo $TEST_OPTIONS $* $TEST_DEV
+}
+
+_test_xfs_db()
+{
+	$XFS_DB_PROG "$@" $(_test_xfs_db_options)
+}
+
 _scratch_xfs_admin()
 {
 	local options=("$SCRATCH_DEV")
diff --git a/tests/xfs/003 b/tests/xfs/003
index 1ce3e5ce..736bf206 100755
--- a/tests/xfs/003
+++ b/tests/xfs/003
@@ -38,32 +38,32 @@  test_done()
 # real QA test starts here
 
 echo "=== TEST 1 ==="
-xfs_db -r -c 'pop' -c 'type sb' $TEST_DEV
+_test_xfs_db -r -c 'pop' -c 'type sb'
 test_done
 
 echo "=== TEST 2 ==="
-xfs_db -r -c 'push sb' $TEST_DEV
+_test_xfs_db -r -c 'push sb'
 test_done
 
 echo "=== TEST 3 ==="
-xfs_db -r -c 'pop' -c 'push sb' $TEST_DEV
+_test_xfs_db -r -c 'pop' -c 'push sb'
 test_done
 
 echo "=== TEST 4 ==="
-xfs_db -r -c 'type sb' -c 'print' $TEST_DEV
+_test_xfs_db -r -c 'type sb' -c 'print'
 test_done
 
 echo "=== TEST 5 ==="
-xfs_db -r -c 'inode 128' -c 'push' -c 'type' $TEST_DEV >$tmp.out 2>&1
+_test_xfs_db -r -c 'inode 128' -c 'push' -c 'type' >$tmp.out 2>&1
 test_done
 if ! grep -q "current type is \"inode\"" $tmp.out; then
     cat $tmp.out
 fi
 
 echo "=== TEST 6 ==="
-xfs_db -r -c 'sb' -c 'a' $TEST_DEV >$tmp.out 2>&1 # don't care about output
+_test_xfs_db -r -c 'sb' -c 'a' >$tmp.out 2>&1 # don't care about output
 test_done
 
 echo "=== TEST 7 ==="
-xfs_db -r -c 'ring' $TEST_DEV
+_test_xfs_db -r -c 'ring'
 test_done
diff --git a/tests/xfs/016 b/tests/xfs/016
index 2b41127e..e1b1b6b8 100755
--- a/tests/xfs/016
+++ b/tests/xfs/016
@@ -149,7 +149,7 @@  _log_sunit()
 
 _after_log()
 {
-    xfs_db -r $1 -c "sb" -c "print" | $AWK_PROG '
+    _scratch_xfs_db -r -c "sb" -c "print" | $AWK_PROG '
         /logstart/  { logstart = $3 }
         /logblocks/ { logblocks = $3 }
         END {
@@ -163,7 +163,7 @@  _check_corrupt()
     f="c6c6c6c6"
     echo "*** check for corruption"
     echo "expect $f..." >>$seqres.full
-    xfs_db -r -c "fsblock $2" -c "print" $1 | head | tee -a $seqres.full | \
+    _scratch_xfs_db -r -c "fsblock $2" -c "print" | head | tee -a $seqres.full | \
         grep -q -v "$f $f $f $f $f $f $f $f" && \
             _fail "!!! block $2 corrupted!"
 }
diff --git a/tests/xfs/045 b/tests/xfs/045
index 0c9e1b79..6a44da56 100755
--- a/tests/xfs/045
+++ b/tests/xfs/045
@@ -21,7 +21,7 @@  trap "rm -f $tmp.*; exit \$status" 0 1 2 3 15
 
 _get_existing_uuid()
 {
-    xfs_db -r $TEST_DEV -c "uuid" | $AWK_PROG '/^UUID/ { print $3 }'
+	_test_xfs_db -r -c "uuid" | $AWK_PROG '/^UUID/ { print $3 }'
 }
 
 # real QA test starts here