Browse Source

Updated tests script to allow running when tests fail.

AdrianSimionov 10 years ago
parent
commit
81f914012b
1 changed files with 37 additions and 6 deletions
  1. 37 6
      tests/RunTests.sh

+ 37 - 6
tests/RunTests.sh

@@ -1,5 +1,24 @@
 #!/bin/bash
 
+if [ $1 == '--help' ]; then
+  echo "";
+  echo "  Usage: RunTests.sh [OPTIONS]";
+  echo "     or: Runtests.sh --help";
+  echo "";
+  echo "  OPTIONS:";
+  echo "    --allow-failed=TRUE    Failed tests will be ignored and execution will";
+  echo "                           continue. Usefull in code coverage testing. Default";
+  echo "                           value: FALSE (execution will stop when a test failed.)";
+  echo "";
+  exit -1;
+fi
+
+if [ $1 == '--allow-failed=TRUE' ]; then
+  ALLOW_FAILED=TRUE;
+else
+  ALLOW_FAILED=FALSE;
+fi
+
 FILES=*.txt
 DOCSIS=../src/docsis
 KEYFILE=key
@@ -10,7 +29,9 @@ do
   $DOCSIS -e $TEST.txt $KEYFILE $TEST.cm.new
   if [ ! -f $TEST.cm.new ]; then
     echo "Test $TEST failed to create CM file on first pass.";
-    exit -1;
+    if [ $ALLOW_FAILED = FALSE ]; then
+      exit -1;
+    fi
   fi
   MD5SUM_1=$(md5sum $TEST.cm)
   MD5SUM_1_array=($MD5SUM_1)
@@ -18,12 +39,16 @@ do
   MD5SUM_2_array=($MD5SUM_2)
   if [ "${MD5SUM_1_array[0]}" != "${MD5SUM_2_array[0]}" ]; then
     echo "Test $TEST created a wrong CM file on first pass.";
-    exit -1;
+    if [ $ALLOW_FAILED = FALSE ]; then
+      exit -1;
+    fi
   fi
   $DOCSIS -d $TEST.cm.new > $TEST.conf.new
   if [ ! -f $TEST.conf.new ]; then
     echo "Test $TEST failed to create a conf file on second pass.";
-    exit -1;
+    if [ $ALLOW_FAILED = FALSE ]; then
+      exit -1;
+    fi
   fi
   MD5SUM_1=$(md5sum $TEST.conf)
   MD5SUM_1_array=($MD5SUM_1)
@@ -31,12 +56,16 @@ do
   MD5SUM_2_array=($MD5SUM_2)
   if [ "${MD5SUM_1_array[0]}" != "${MD5SUM_2_array[0]}" ]; then
     echo "Test $TEST created a wrong CONF file on second pass.";
-    exit -1;
+    if [ $ALLOW_FAILED = FALSE ]; then
+      exit -1;
+    fi
   fi
   $DOCSIS -e $TEST.conf.new $KEYFILE $TEST.cm.new
   if [ ! -f $TEST.cm.new ]; then
     echo "Test $TEST failed to create CM file on third pass.";
-    exit -1;
+    if [ $ALLOW_FAILED = FALSE ]; then
+      exit -1;
+    fi
   fi
   MD5SUM_1=$(md5sum $TEST.cm)
   MD5SUM_1_array=($MD5SUM_1)
@@ -44,7 +73,9 @@ do
   MD5SUM_2_array=($MD5SUM_2)
   if [ "${MD5SUM_1_array[0]}" != "${MD5SUM_2_array[0]}" ]; then
     echo "Test $TEST created a wrong CM file on third pass.";
-    exit -1;
+    if [ $ALLOW_FAILED = FALSE ]; then
+      exit -1;
+    fi
   fi
   rm $TEST*.new
 done