Updated desktop test harness for easier TC debugging 40/77640/2
authorDavid Steele <david.steele@samsung.com>
Thu, 30 Jun 2016 10:42:48 +0000 (11:42 +0100)
committerAdeel Kazmi <adeel.kazmi@samsung.com>
Thu, 30 Jun 2016 11:39:06 +0000 (04:39 -0700)
Added a new "-d" option to execute.sh to invoke the debugger
on the speficied test case.

Change-Id: I16213e83bccc56f9ff063506e2f9d388f045dc0c
Signed-off-by: David Steele <david.steele@samsung.com>
automated-tests/execute.sh

index 13f0fa0..bc108fa 100755 (executable)
@@ -1,6 +1,6 @@
 #!/bin/bash
 
-TEMP=`getopt -o hsSm --long help,serial,tct,modules -n 'execute.sh' -- "$@"`
+TEMP=`getopt -o dhsSm --long debug,help,serial,tct,modules -n 'execute.sh' -- "$@"`
 
 if [ $? != 0 ] ; then echo "Terminating..." >&2 ; exit 1 ; fi
 
@@ -9,8 +9,9 @@ eval set -- "$TEMP"
 
 function usage
 {
-    echo -e "Usage: execute.sh [-s|-S|-r] [module|testcase]"
+    echo -e "Usage: execute.sh [-d][-s|-S|-r] [module|testcase]"
     echo -e "       execute.sh\t\tExecute test cases from all modules in parallel"
+    echo -e "       execute.sh -d <testcase>\tDebug testcase"
     echo -e "       execute.sh [module]\tExecute test cases from the given module in parallel"
     echo -e "       execute.sh -s [module]\t\tExecute test cases in serial using Testkit-Lite"
     echo -e "       execute.sh -S [module]\t\tExecute test cases in serial"
@@ -21,9 +22,11 @@ function usage
 opt_tct=0
 opt_serial=""
 opt_modules=0
+opt_debug=0
 while true ; do
     case "$1" in
         -h|--help)     usage ;;
+        -d|--debug)    opt_debug=1 ; shift ;;
         -s|--tct)      opt_tct=1 ; shift ;;
         -S|--serial)   opt_serial="-s" ; shift ;;
         -m|--modules)  opt_modules=1 ; shift ;;
@@ -72,7 +75,7 @@ rm -f tct*core-tests.xml
 
 # Clean up old coverage data
 if [ -d ../build/tizen ] ; then
-    rm -f ../build/tizen/adaptor/.libs/*.gcda
+    rm -f ../build/tizen/dali-toolkit/.libs/*.gcda
 fi
 
 find build \( -name "*.gcda" \) -exec rm '{}' \;
@@ -127,16 +130,22 @@ else
         summary_end
 
     else
-       # First argument is not an executable. Is it a test case name?
-       # Try executing each executable with the test case name until success/known failure
+        # First argument is not an executable. Is it a test case name?
+        # Try executing each executable with the test case name until success/known failure
         for mod in $modules
         do
             output=`build/src/$mod/tct-$mod-core $1`
             ret=$?
             if [ $ret -ne 6 ] ; then
-               echo $output
-               if [ $ret -eq 0 ] ; then echo -e "\nPassed" ; fi
-               exit $ret
+                if [ $opt_debug -ne 0 ] ; then
+                    if [ $ret -eq 0 ] ; then
+                        gdb --args build/src/$mod/tct-$mod-core $1
+                    fi
+                else
+                    echo $output
+                    if [ $ret -eq 0 ] ; then echo -e "\nPassed" ; fi
+                fi
+                exit $ret
             fi
         done
         echo $1 not found