[PATCH 1/4] Add support for saving log files in test script

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



From: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx>

--logdir= specifies where to save, if different from default, and
--save-logs tells test to save all log files.

Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx>
---
 test |   42 ++++++++++++++++++++++++++++++++++++------
 1 files changed, 36 insertions(+), 6 deletions(-)

diff --git a/test b/test
index 7882586..c7eb069 100755
--- a/test
+++ b/test
@@ -16,6 +16,10 @@ then
    echo >&2 "test: $mdadm isn't usable."
 fi
 
+testdir="tests"
+logdir="$testdir/logs"
+logsave=0
+
 # Check whether to run multipath tests
 modprobe multipath 2> /dev/null
 if grep -s 'Personalities : .*multipath' > /dev/null /proc/mdstat ; then
@@ -204,6 +208,7 @@ rotest() {
 
 do_test() {
   _script=$1
+  _basename=`basename $_script`
   if [ -f "$_script" ]
   then
     rm -f $targetdir/stderr
@@ -215,8 +220,17 @@ do_test() {
     # namespace, but cannot change it.
     echo -ne "$_script... "
     if ( set -ex ; . $_script )  2> $targetdir/log
-    then echo "succeeded"
-    else echo "FAILED - see $targetdir/log for details"
+    then
+      echo "succeeded"
+      _fail=0
+    else
+      echo "FAILED - see $targetdir/log for details"
+      _fail=1
+    fi
+    if [ "$savelogs" == "1" ]; then
+      cp $targetdir/log $logdir/$_basename.log
+    fi
+    if [ "$_fail" == "1" ]; then
       exit 1
     fi
   fi
@@ -224,7 +238,7 @@ do_test() {
 
 do_help() {
   echo "Usage: "
-  echo " $0 [--tests=<test1,test2,..>] [--disable-multipath] [setup] [prefix]"
+  echo " $0 [--tests=<test1,test2,..>] [--disable-multipath] [--logdir] [--save-logs] [setup] [prefix]"
 }
 
 parse_args() {
@@ -241,6 +255,18 @@ parse_args() {
     --tests=*)
       TESTLIST=`expr "x$i" : 'x[^=]*=\(.*\)' | sed -e 's/,/ /g'`
       ;;
+    --logdir=*)
+      logdir=`expr "x$i" : 'x[^=]*=\(.*\)'`
+      ;;
+    --save-logs)
+      savelogs=1
+      if [ ! -d $logdir ] ; then
+        mkdir $logdir
+        if [ $? -ne 0 ] ; then
+	  exit 1;
+	fi
+      fi
+      ;;
     --disable-multipath)
       unset MULTIPATH
       ;;
@@ -259,13 +285,17 @@ done
 
 parse_args $@
 
+if [ "$savelogs" == "1" ]; then
+  echo "Saving logs to $logdir"
+fi
+
 if [ "x$TESTLIST" != "x" ]; then
-  for script in $TESTLIST
+  for script in $testdir/$TESTLIST
   do
-    do_test tests/$script
+    do_test $script
   done
 else
-  for script in tests/$prefix tests/$prefix*[^~]
+  for script in $testdir/$prefix $testdir/$prefix*[^~]
   do
     do_test $script
   done
-- 
1.7.1

--
To unsubscribe from this list: send the line "unsubscribe linux-raid" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux RAID Wiki]     [ATA RAID]     [Linux SCSI Target Infrastructure]     [Linux Block]     [Linux IDE]     [Linux SCSI]     [Linux Hams]     [Device Mapper]     [Device Mapper Cryptographics]     [Kernel]     [Linux Admin]     [Linux Net]     [GFS]     [RPM]     [git]     [Yosemite Forum]


  Powered by Linux