summaryrefslogtreecommitdiff
path: root/cesar/ce/test/cov/cov_one_run.sh
diff options
context:
space:
mode:
Diffstat (limited to 'cesar/ce/test/cov/cov_one_run.sh')
-rwxr-xr-xcesar/ce/test/cov/cov_one_run.sh63
1 files changed, 63 insertions, 0 deletions
diff --git a/cesar/ce/test/cov/cov_one_run.sh b/cesar/ce/test/cov/cov_one_run.sh
new file mode 100755
index 0000000000..ecb2530e4e
--- /dev/null
+++ b/cesar/ce/test/cov/cov_one_run.sh
@@ -0,0 +1,63 @@
+#!/bin/sh
+
+py=
+maximus_path=
+clean=
+run=
+cross=target
+
+echo "$0 $@"
+while getopts t:s:m:o:cep:x:h: opt
+do
+ case "$opt" in
+ t) TEST_PATH="$OPTARG";;
+ s) SUBTEST_PATH="$OPTARG";;
+ m) MAKEFILE_NAME="$OPTARG";;
+ o) OBJ_PATH="$OPTARG";;
+ c) clean=1;;
+ p) py="$OPTARG";;
+ x) maximus_path="$OPTARG";;
+ e) run=1;;
+ h) cross="$OPTARG";;
+ [?]) print >&2 "Usage: $0 -t test_path -s subtest_path -m makefile -o objpath [-c(clean)] [-e(exec)] [-p] python_file [-x] maximus_path [-h] host/target"
+ exit 1;;
+ esac
+done
+
+SUBTEST_PATH=$TEST_PATH/$SUBTEST_PATH
+OBJ_PATH=$SUBTEST_PATH/$OBJ_PATH
+
+if [ "$clean" != "" ]
+then
+ echo "Make Clean @ $SUBTEST_PATH..."
+ rm -rf $SUBTEST_PATH/obj
+ rm -f $SUBTEST_PATH/*.da; rm -f $SUBTEST_PATH/*.bb*;rm -f $SUBTEST_PATH/*.log
+fi
+
+if [ "$run" != "" ]
+then
+ echo "Compiling $MAKEFILE_NAME in $SUBTEST_PATH ..."
+ make COV=Y -C $SUBTEST_PATH --file=$MAKEFILE_NAME --no-print-directory > $SUBTEST_PATH/$MAKEFILE_NAME.log
+ #for i in `ls $OBJ_PATH | grep "\.elf$"`
+ for i in `ls -l $OBJ_PATH | grep "^-rwxr-xr-x" | cut -d " " -f8`
+ do
+ if [ "$py" != "" ]
+ then
+ echo "Running python $SUBTEST_PATH/$py -e $OBJ_PATH/$i -d false -l 1"
+ python $SUBTEST_PATH/$py -e $OBJ_PATH/$i -d false -l 1 --maximus_path $maximus_path
+ else
+ echo "Running " $OBJ_PATH/$i;
+ ./$OBJ_PATH/$i
+ fi
+ echo "Make coverage report ..."
+ if [ "$cross" = "target" ]
+ then
+ sleep 1
+ lcov -q -d $SUBTEST_PATH -b $SUBTEST_PATH -c -o $OBJ_PATH/$i.info -g /usr/local/toolchains/gnutools/i386-elf/bin/i386-elf-gcov
+ else
+ lcov -q -d $OBJ_PATH -b $SUBTEST_PATH -c -o $OBJ_PATH/$i.info
+ fi
+ echo "Copying files .info"
+ cp $OBJ_PATH/$i.info $TEST_PATH/cov/result
+ done
+fi