Move _check_dmesg to common/rc so that tests could call it directly.

Signed-off-by: Eryu Guan <[email protected]>
---
 check     | 32 +++-----------------------------
 common/rc | 27 +++++++++++++++++++++++++++
 2 files changed, 30 insertions(+), 29 deletions(-)

diff --git a/check b/check
index a300130..866b706 100755
--- a/check
+++ b/check
@@ -396,32 +396,6 @@ _check_filesystems()
        fi
 }
 
-_check_dmesg()
-{
-       if [ ! -f ${RESULT_DIR}/check_dmesg ]; then
-               return
-       fi
-       rm -f ${RESULT_DIR}/check_dmesg
-
-       # search the dmesg log of last run of $seqnum for possible failures
-       # use sed \cregexpc address type, since $seqnum contains "/"
-       dmesg | tac | sed -ne "0,\#run fstests $seqnum at $date_time#p" | \
-               tac >$seqres.dmesg
-       grep -q -e "kernel BUG at" \
-            -e "WARNING:" \
-            -e "BUG:" \
-            -e "Oops:" \
-            -e "possible recursive locking detected" \
-            $seqres.dmesg
-       if [ $? -eq 0 ]; then
-               echo "_check_dmesg: something found in dmesg (see 
$seqres.dmesg)"
-               err=true
-       else
-               rm -f $seqres.dmesg
-       fi
-}
-
-
 _prepare_test_list
 
 if $OPTIONS_HAVE_SECTIONS; then
@@ -542,7 +516,7 @@ for section in $HOST_OPTIONS_SECTIONS; do
 
            # the filename for the test and the name output are different.
            # we don't include the tests/ directory in the name output.
-           seqnum=`echo $seq | sed -e "s;$SRC_DIR/;;"`
+           export seqnum=`echo $seq | sed -e "s;$SRC_DIR/;;"`
 
            # Similarly, the result directory needs to replace the tests/
            # part of the test location.
@@ -593,7 +567,7 @@ for section in $HOST_OPTIONS_SECTIONS; do
                [ ! -x $seq ] && chmod u+x $seq # ensure we can run it
                $LOGGER_PROG "run xfstest $seqnum"
                if [ -w /dev/kmsg ]; then
-                       date_time=`date +"%F %T"`
+                       export date_time=`date +"%F %T"`
                        echo "run fstests $seqnum at $date_time" > /dev/kmsg
                        # _check_dmesg depends on this log in dmesg
                        touch ${RESULT_DIR}/check_dmesg
@@ -663,7 +637,7 @@ for section in $HOST_OPTIONS_SECTIONS; do
                    try="$try $seqnum"
                    n_try=`expr $n_try + 1`
                    _check_filesystems
-                   _check_dmesg
+                   _check_dmesg || err=true
                fi
 
            fi
diff --git a/common/rc b/common/rc
index 610045e..141ab5c 100644
--- a/common/rc
+++ b/common/rc
@@ -2936,6 +2936,33 @@ _get_device_size()
        grep `_short_dev $1` /proc/partitions | awk '{print $3}'
 }
 
+# check dmesg log for WARNING/Oops/etc.
+_check_dmesg()
+{
+       if [ ! -f ${RESULT_DIR}/check_dmesg ]; then
+               return 0
+       fi
+       rm -f ${RESULT_DIR}/check_dmesg
+
+       # search the dmesg log of last run of $seqnum for possible failures
+       # use sed \cregexpc address type, since $seqnum contains "/"
+       dmesg | tac | sed -ne "0,\#run fstests $seqnum at $date_time#p" | \
+               tac >$seqres.dmesg
+       grep -q -e "kernel BUG at" \
+            -e "WARNING:" \
+            -e "BUG:" \
+            -e "Oops:" \
+            -e "possible recursive locking detected" \
+            $seqres.dmesg
+       if [ $? -eq 0 ]; then
+               echo "_check_dmesg: something found in dmesg (see 
$seqres.dmesg)"
+               return 1
+       else
+               rm -f $seqres.dmesg
+               return 0
+       fi
+}
+
 # don't check dmesg log after test
 _disable_dmesg_check()
 {
-- 
1.8.3.1

--
To unsubscribe from this list: send the line "unsubscribe fstests" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to