core-legacy/tests/run_tests.sh

74 lines
1.8 KiB
Bash
Raw Normal View History

2020-05-05 20:29:04 +00:00
#!/usr/bin/env sh
2020-05-10 20:37:55 +00:00
source_dir=$PWD
working_dir=$PWD/testing_latest
2020-05-10 20:37:55 +00:00
working_bak=$PWD/testing_bak
2020-05-05 20:29:04 +00:00
alias valgrind_emgauwa="valgrind -s $2 --log-file=$working_dir/valgrind.log"
rm -rf $working_bak
2020-08-15 10:13:03 +00:00
[ -d $working_dir ] && mv $working_dir $working_bak
2020-05-22 23:28:48 +00:00
2020-05-10 20:37:55 +00:00
mkdir -p $working_dir
cd $working_dir
2020-05-05 20:29:04 +00:00
2020-06-25 23:43:08 +00:00
target_branch=$(git rev-parse --abbrev-ref HEAD)
2020-05-31 22:45:08 +00:00
2020-06-29 22:26:36 +00:00
if [ -z "$EMGAUWA_CONTROLLER_EXE" ]
then
git clone --quiet ssh://git@git.serguzim.me:3022/emgauwa/controller.git controller || exit
cd ./controller
2020-06-25 23:36:30 +00:00
2020-06-29 22:26:36 +00:00
git checkout dev >/dev/null 2>&1
git checkout $target_branch >/dev/null 2>&1
git checkout $2 >/dev/null 2>&1
2020-06-25 23:36:30 +00:00
2020-06-29 22:26:36 +00:00
echo "Building controller on branch $(git rev-parse --abbrev-ref HEAD)"
mkdir build
cd build
2020-05-10 20:37:55 +00:00
2020-06-29 22:26:36 +00:00
cmake -DWIRING_PI_DEBUG=on .. >/dev/null
make >/dev/null
EMGAUWA_CONTROLLER_EXE=./controller
fi
2020-05-31 22:45:08 +00:00
echo "Emgauwa controller: $($EMGAUWA_CONTROLLER_EXE --version)"
2020-06-29 22:26:36 +00:00
$EMGAUWA_CONTROLLER_EXE start -c $source_dir/controller.testing.ini >$working_dir/controller.log 2>&1 &
2020-05-10 20:37:55 +00:00
controller_id=$!
2020-06-29 22:26:36 +00:00
cd $working_dir
2020-05-31 22:45:08 +00:00
touch $working_dir/index.html
2020-05-10 20:37:55 +00:00
cp $1 $working_dir/core
cp $source_dir/core.testing.ini $working_dir/core.ini
2020-05-31 22:45:08 +00:00
echo "=== invalids start (must exit) ===" >$working_dir/core.log
$working_dir/core >>$working_dir/core.log 2>&1
$working_dir/core INVALID_ACTION >>$working_dir/core.log 2>&1
2020-06-02 23:01:06 +00:00
echo "=== valid start ===" >>$working_dir/core.log
2020-05-31 22:45:08 +00:00
valgrind_emgauwa $working_dir/core start >>$working_dir/core.log 2>&1 &
2020-05-05 20:29:04 +00:00
core_id=$!
2020-05-31 22:45:08 +00:00
# wait for start
2020-08-21 16:38:57 +00:00
if [ -x "$(command -v wait-for-it)" ]
then
wait-for-it localhost:5000 -t 15
else
echo "waiting 5 seconds for server"
sleep 5;
fi
2020-05-31 22:45:08 +00:00
export PYTHONPATH=$PYTHONPATH:$source_dir/tavern_utils
tavern-ci --disable-warnings $source_dir/tavern_tests
2020-05-10 20:37:55 +00:00
test_result=$?
2020-05-05 20:29:04 +00:00
kill $core_id
2020-05-10 20:37:55 +00:00
kill $controller_id
exit $test_result