X-Git-Url: http://www.project-moonshot.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=libeap%2Ftests%2Fhwsim%2Frun-all.sh;fp=libeap%2Ftests%2Fhwsim%2Frun-all.sh;h=5cf56a91086c4c43033d9b622098b7e7171d2a32;hb=f3746d009c6d7f50025af1f58a85e5fee9680be6;hp=0000000000000000000000000000000000000000;hpb=244f18d04aaf29e68495b5ffeb40ef5cca50942f;p=mech_eap.git diff --git a/libeap/tests/hwsim/run-all.sh b/libeap/tests/hwsim/run-all.sh new file mode 100755 index 0000000..5cf56a9 --- /dev/null +++ b/libeap/tests/hwsim/run-all.sh @@ -0,0 +1,142 @@ +#!/bin/sh + +errors=0 +umask 0002 + +DATE="$(date +%s)" +unset LOGBASEDIR +if [ -z "$LOGDIR" ]; then + LOGBASEDIR=logs + LOGDIR=$LOGBASEDIR/$DATE + mkdir -p $LOGDIR +fi +export LOGDIR + +if [ -z "$DBFILE" ]; then + DB="" +else + DB="-S $DBFILE --commit $(git rev-parse HEAD)" + if [ -n "$BUILD" ]; then + DB="$DB -b $BUILD" + fi + if [ "$PREFILL_DB" = "y" ] ; then + DB="$DB --prefill-tests" + fi +fi + +usage() +{ + echo "$0 [-v | --valgrind | valgrind] [-t | --trace | trace]" + echo "\t[-n | --channels ] [-B | --build]" + echo "\t[-c | --codecov ] [run-tests.py parameters]" + exit 1 +} + +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) + shift + echo "$0: using valgrind" + VALGRIND=valgrind + ;; + -t | --trace | trace) + shift + echo "$0: using Trace" + TRACE=trace + ;; + -n | --channels) + shift + NUM_CH=$1 + 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 + ;; + -h | --help) + usage + ;; + *) + RUN_TEST_ARGS="$RUN_TEST_ARGS$1 " + shift + ;; + esac +done + +if [ ! -z "$RUN_TEST_ARGS" ]; then + echo "$0: passing the following args to run-tests.py: $RUN_TEST_ARGS" +fi + +unset SUFFIX +if [ ! -z "$BUILD" ]; then + SUFFIX=-build +fi + +if [ ! -z "$VALGRIND" ]; then + SUFFIX=$SUFFIX-valgrind +fi + +if [ ! -z "$TRACE" ]; then + SUFFIX=$SUFFIX-trace + 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 channels=$NUM_CH; then + if ! [ -z "$LOGBASEDIR" ] ; then + echo "Could not start test environment" > $LOGDIR/run + fi + exit 1 +fi + +sudo ./run-tests.py -D --logdir "$LOGDIR" $TRACE_ARGS -q $DB $RUN_TEST_ARGS || errors=1 + +./stop.sh + +if [ ! -z "$VALGRIND" ] ; then + failures=`grep "ERROR SUMMARY" $LOGDIR/valgrind-* | grep -v " 0 errors" | wc -l` + if [ $failures -gt 0 ]; then + echo "Mark as failed due to valgrind errors" + 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 +fi + +echo "ALL-PASSED"