Add two generic "passed" and "failed" functions to the unittest
helper. Also keep a count of passed and failed tests. Later changes
will use these functions to ensure they exit with a correct return
code.
Change-Id: I8574dcb1447b04fcda3d72df0bf8605cf7488d3c
| ... | ... |
@@ -14,8 +14,30 @@ |
| 14 | 14 |
|
| 15 | 15 |
# we always start with no errors |
| 16 | 16 |
ERROR=0 |
| 17 |
+PASS=0 |
|
| 17 | 18 |
FAILED_FUNCS="" |
| 18 | 19 |
|
| 20 |
+function passed {
|
|
| 21 |
+ local lineno=$(caller 0 | awk '{print $1}')
|
|
| 22 |
+ local function=$(caller 0 | awk '{print $2}')
|
|
| 23 |
+ local msg="$1" |
|
| 24 |
+ if [ -z "$msg" ]; then |
|
| 25 |
+ msg="OK" |
|
| 26 |
+ fi |
|
| 27 |
+ PASS=$((PASS+1)) |
|
| 28 |
+ echo $function:L$lineno $msg |
|
| 29 |
+} |
|
| 30 |
+ |
|
| 31 |
+function failed {
|
|
| 32 |
+ local lineno=$(caller 0 | awk '{print $1}')
|
|
| 33 |
+ local function=$(caller 0 | awk '{print $2}')
|
|
| 34 |
+ local msg="$1" |
|
| 35 |
+ FAILED_FUNCS+="$function:L$lineno\n" |
|
| 36 |
+ echo "ERROR: $function:L$lineno!" |
|
| 37 |
+ echo " $msg" |
|
| 38 |
+ ERROR=$((ERROR+1)) |
|
| 39 |
+} |
|
| 40 |
+ |
|
| 19 | 41 |
function assert_equal {
|
| 20 | 42 |
local lineno=`caller 0 | awk '{print $1}'`
|
| 21 | 43 |
local function=`caller 0 | awk '{print $2}'`
|
| ... | ... |
@@ -24,16 +46,20 @@ function assert_equal {
|
| 24 | 24 |
FAILED_FUNCS+="$function:L$lineno\n" |
| 25 | 25 |
echo "ERROR: $1 != $2 in $function:L$lineno!" |
| 26 | 26 |
echo " $msg" |
| 27 |
- ERROR=1 |
|
| 27 |
+ ERROR=$((ERROR+1)) |
|
| 28 | 28 |
else |
| 29 |
+ PASS=$((PASS+1)) |
|
| 29 | 30 |
echo "$function:L$lineno - ok" |
| 30 | 31 |
fi |
| 31 | 32 |
} |
| 32 | 33 |
|
| 33 | 34 |
function report_results {
|
| 34 |
- if [[ $ERROR -eq 1 ]]; then |
|
| 35 |
- echo "Tests FAILED" |
|
| 36 |
- echo $FAILED_FUNCS |
|
| 35 |
+ echo "$PASS Tests PASSED" |
|
| 36 |
+ if [[ $ERROR -gt 1 ]]; then |
|
| 37 |
+ echo |
|
| 38 |
+ echo "The following $ERROR tests FAILED" |
|
| 39 |
+ echo -e "$FAILED_FUNCS" |
|
| 40 |
+ echo "---" |
|
| 37 | 41 |
exit 1 |
| 38 | 42 |
fi |
| 39 | 43 |
} |