hyperion.ng/.travis/travis_build.sh
redPanther 9f1bc6d9e8 Travis tests (#116)
* add tiny test framework to run on travis or on local host

* set defined exit status
2016-07-13 17:18:57 +02:00

74 lines
1.5 KiB
Bash

#!/bin/bash
STATS_FAILED=0
STATS_SUCCESS=0
STATS_TOTAL=0
# exec_test "test name" test_exec --with --args
function exec_test()
{
local test_name="$1"
shift
(( STATS_TOTAL++ ))
echo "execute test: '$test_name'"
if $@
then
echo -e " ... success"
(( STATS_SUCCESS++ ))
else
echo -e " ... failed"
(( STATS_FAILED++ ))
fi
echo
}
# for executing in non travis environment
[ -z "$TRAVIS_OS_NAME" ] && TRAVIS_OS_NAME="$( uname -s | tr '[:upper:]' '[:lower:]' )"
######################################
## COMPILE HYPERION
# compile hyperion on osx
if [[ $TRAVIS_OS_NAME == 'osx' ]]
then
cmake . -DCMAKE_PREFIX_PATH=/usr/local/Cellar/qt5/5.6.1-1
mkdir build || exit 1
cd build
cmake -DCMAKE_BUILD_TYPE=Release -DENABLE_TESTS=ON -Wno-dev .. || exit 2
make -j$(nproc) || exit 3
# make -j$(nproc) package || exit 4 # currently osx(dmg) package creation not implemented
fi
# compile hyperion on linux
if [[ $TRAVIS_OS_NAME == 'linux' ]]
then
mkdir build || exit 1
cd build
cmake -DPLATFORM=x86 -DCMAKE_BUILD_TYPE=Release -DENABLE_AMLOGIC=ON -DENABLE_TESTS=ON -DENABLE_SPIDEV=ON -DENABLE_WS281XPWM=ON .. || exit 2
make -j$(nproc) || exit 3
make -j$(nproc) package || exit 4
fi
######################################
## EXEC TESTS
echo
echo "Hyperion test execution"
echo
exec_test "hyperiond is executable and show version" bin/hyperiond --version
echo
echo
echo "TEST SUMMARY"
echo "============"
echo " total: $STATS_TOTAL"
echo " success: $STATS_SUCCESS"
echo " failed: $STATS_FAILED"
[ $STATS_FAILED -gt 0 ] && exit 200
exit 0