civetweb/unittest/build_and_test_default.sh

44 lines
1.1 KiB
Bash

#!/bin/bash
if test -f "./unittest/build_and_test_default.sh" ; then
echo "Unit test (default settings) will run on a local Debian system."
rm -rf output
else
echo "This script must be started from the civetweb root directory using ./unittest/build_and_test_default.sh"
exit
fi
# Exit with an error message when any command fails.
set -e
trap 'lastline=$thisline; thisline=$BASH_COMMAND' DEBUG
trap 'echo "ERROR: \"${lastline}\" command failed (error $?)"' EXIT
# Create a test directory and add the CGI test executable
if test -f "./output/" ; then
echo "Removing old \"output\" folder."
rm -rf output
fi
mkdir output
gcc unittest/cgi_test.c -o output/cgi_test.cgi
cd output
# Perform build and test steps in "output" directory.
echo "Starting unit test. Write protocol to \"unittest.log\" file."
echo "Starting unit test" > unittest.log
git log -1 >> unittest.log
cmake .. &>> unittest.log
make all &>> unittest.log
make test &>> unittest.log
echo "Unit test completed. See \"unittest.log\" file."
tail -10 unittest.log | grep " tests passed"
cd ..
# Exit with success
trap '' EXIT
exit 0