drogon/test.sh

119 lines
2.2 KiB
Bash
Raw Normal View History

2019-03-26 07:25:22 +00:00
#!/bin/bash
cd build/examples/
#Make webapp run as a daemon
sed -i -e "s/\"run_as_daemon.*$/\"run_as_daemon\": true\,/" config.example.json
sed -i -e "s/\"relaunch_on_error.*$/\"relaunch_on_error\": true\,/" config.example.json
sed -i -e "s/\"threads_num.*$/\"threads_num\": 0\,/" config.example.json
2019-03-26 07:25:22 +00:00
if [ ! -f "webapp" ]; then
echo "Build failed"
exit -1
fi
if [ ! -f "webapp_test" ]; then
echo "Build failed"
exit -1
fi
killall -9 webapp
./webapp
2019-04-07 04:15:02 +00:00
sleep 4
2019-04-08 08:37:24 +00:00
echo "Test http requests and responses."
2019-03-26 07:25:22 +00:00
./webapp_test
if [ $? -ne 0 ];then
echo "Error in testing"
exit -1
fi
2019-04-06 15:06:38 +00:00
#Test WebSocket
2019-04-08 08:37:24 +00:00
echo "Test the WebSocket"
2019-04-06 15:06:38 +00:00
./websocket_test -t
2019-04-07 04:15:02 +00:00
if [ $? -ne 0 ];then
echo "Error in testing"
exit -1
fi
#Test pipelining
2019-04-08 08:37:24 +00:00
echo "Test the pipelining"
2019-04-07 04:15:02 +00:00
./pipelining_test
2019-04-06 15:06:38 +00:00
if [ $? -ne 0 ];then
echo "Error in testing"
exit -1
fi
2019-03-30 16:27:12 +00:00
killall -9 webapp
#Test drogon_ctl
2019-04-08 08:37:24 +00:00
echo "Test the drogon_ctl"
2019-04-06 15:06:38 +00:00
rm -rf drogon_test
2019-03-30 16:27:12 +00:00
drogon_ctl create project drogon_test
cd drogon_test/controllers
drogon_ctl create controller Test::SimpleCtrl
drogon_ctl create controller -h Test::HttpCtrl
drogon_ctl create controller -w Test::WebsockCtrl
if [ ! -f "Test_SimpleCtrl.h" -o ! -f "Test_SimpleCtrl.cc" -o ! -f "Test_HttpCtrl.h" -o ! -f "Test_HttpCtrl.cc" -o ! -f "Test_WebsockCtrl.h" -o ! -f "Test_WebsockCtrl.cc" ];then
echo "Failed to create controllers"
exit -1
fi
cd ../filters
drogon_ctl create filter Test::TestFilter
if [ ! -f "Test_TestFilter.h" -o ! -f "Test_TestFilter.cc" ];then
echo "Failed to create filters"
exit -1
fi
2019-05-05 07:43:17 +00:00
cd ../plugins
drogon_ctl create plugin Test::TestPlugin
if [ ! -f "Test_TestPlugin.h" -o ! -f "Test_TestPlugin.cc" ];then
echo "Failed to create plugins"
exit -1
fi
2019-03-30 16:27:12 +00:00
cd ../build
cmake ..
if [ $? -ne 0 ];then
echo "Error in testing"
exit -1
fi
make
if [ $? -ne 0 ];then
echo "Error in testing"
exit -1
fi
if [ ! -f "drogon_test" ];then
echo "Failed to build drogon_test"
exit -1
fi
2019-03-31 10:30:06 +00:00
cd ../../
rm -rf drogon_test
if [ "$1" = "-t" ];then
echo "Test database"
cd ../
./orm_lib/tests/db_test
if [ $? -ne 0 ];then
echo "Error in testing"
exit -1
fi
fi
2019-03-30 16:27:12 +00:00
echo "Everything is ok!"
2019-03-26 07:25:22 +00:00
exit 0