tests: Add option to build before running all tests
authorIlan Peer <ilan.peer@intel.com>
Mon, 27 Oct 2014 14:00:54 +0000 (10:00 -0400)
committerJouni Malinen <j@w1.fi>
Sat, 1 Nov 2014 15:08:29 +0000 (17:08 +0200)
Add an option --build to run-all.sh to build before starting to run all
the tests. In addition, add an option --codecov to extract the code
coverage data at the end of the run.

Signed-off-by: Ilan Peer <ilan.peer@intel.com>
tests/hwsim/run-all.sh

index 5efcd2e..20e8e34 100755 (executable)
@@ -28,6 +28,9 @@ unset VALGRIND
 unset TRACE
 unset TRACE_ARGS
 unset RUN_TEST_ARGS
+unset BUILD
+unset BUILD_ARGS
+unset CODECOV
 while [ "$1" != "" ]; do
        case $1 in
                -v | --valgrind | valgrind)
@@ -46,6 +49,17 @@ while [ "$1" != "" ]; do
                        shift
                        echo "$0: using channels=$NUM_CH"
                        ;;
+               -B | --build)
+                       shift
+                       echo "$0: build before running tests"
+                       BUILD=build
+                       ;;
+               -c | --codecov)
+                       shift
+                       echo "$0: using code coverage"
+                       CODECOV=lcov
+                       BUILD_ARGS=-c
+                       ;;
                *)
                        RUN_TEST_ARGS="$RUN_TEST_ARGS$1 "
                        shift
@@ -58,8 +72,12 @@ if [ ! -z "$RUN_TEST_ARGS" ]; then
 fi
 
 unset SUFFIX
+if [ ! -z "$BUILD" ]; then
+       SUFFIX=-build
+fi
+
 if [ ! -z "$VALGRIND" ]; then
-       SUFFIX=-valgrind
+       SUFFIX=$SUFFIX-valgrind
 fi
 
 if [ ! -z "$TRACE" ]; then
@@ -67,6 +85,18 @@ if [ ! -z "$TRACE" ]; then
        TRACE_ARGS="-T"
 fi
 
+if [ ! -z "$CODECOV" ]; then
+       SUFFIX=$SUFFIX-codecov
+fi
+
+if [ ! -z "$BUILD" ]; then
+    echo "Building with args=$BUILD_ARGS"
+    if ! ./build.sh $BUILD_ARGS; then
+           echo "Failed building components"
+           exit 1
+    fi
+fi
+
 if ! ./start.sh $VALGRIND $TRACE $NUM_CH; then
        if ! [ -z "$LOGBASEDIR" ] ; then
                echo "Could not start test environment" > $LOGDIR/run
@@ -85,6 +115,14 @@ if [ ! -z "$VALGRIND" ] ; then
        errors=1
     fi
 fi
+
+if [ ! -z "$CODECOV" ] ; then
+       lcov -q --capture --directory ../../wpa_supplicant --output-file $LOGDIR/wpas_lcov.info
+       genhtml -q $LOGDIR/wpas_lcov.info --output-directory $LOGDIR/wpas_lcov
+       lcov -q --capture --directory ../../hostapd --output-file $LOGDIR/hostapd_lcov.info
+       genhtml -q $LOGDIR/hostapd_lcov.info --output-directory $LOGDIR/hostapd_lcov
+fi
+
 if [ $errors -gt 0 ]; then
     tar czf /tmp/hwsim-tests-$DATE-FAILED$SUFFIX.tar.gz $LOGDIR/
     exit 1