Add unit-tests automation to Drone CI

This commit is contained in:
Andrey Volk
2019-11-21 22:43:28 +04:00
parent 724868fa08
commit 0bd676db32
3 changed files with 97 additions and 0 deletions
+23
View File
@@ -0,0 +1,23 @@
#!/bin/bash
echo "Collecting test logs"
LOG_DIR=./logs
html="<html><h3>There are failed unit-tests:</h3><table>"
html+="<tr align=\"left\"><th><br>Unit tests</th></tr>"
logs=$(find $LOG_DIR -type f -iname "*.html" -print)
logs_found=0
for name in $logs
do
logname=$(basename $name)
testname=$(echo $logname | awk -F 'log_run-tests_' '{print $2}' | awk -F '.html' '{print $1}')
html+="<tr align=\"left\"><td><a href="$logname">$testname</a></td></tr>"
logs_found=1
done
if [ $logs_found -ne 0 ]; then
html+="</table></html>"
echo $html > $LOG_DIR/artifacts.html
exit 1
fi
exit 0
+27
View File
@@ -0,0 +1,27 @@
#!/bin/bash
TESTS=$(make -f - 2>/dev/null <<EOF
include Makefile
all:
@echo \$(TESTS)
EOF
)
echo "-----------------------------------------------------------------";
echo "Starting tests";
echo "Tests found: ${TESTS}";
echo "-----------------------------------------------------------------";
for i in $TESTS
do
echo "Testing $i" ;
logfilename="log_run-tests_$i.html";
./$i | tee >(ansi2html > $logfilename) ;
exitstatus=${PIPESTATUS[0]} ;
if [ "0" -eq $exitstatus ] ; then
rm $logfilename ;
else
echo "*** ./$i exit status is $exitstatus" ;
echo "*** $logfilename was saved" ;
fi ;
echo "----------------" ;
done