mirror of
https://github.com/clearlinux/uwsgi.git
synced 2026-08-19 03:57:21 +00:00
114 lines
3.0 KiB
Bash
Executable File
114 lines
3.0 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
|
|
txtund=$(tput sgr 0 1) # underline
|
|
txtbld=$(tput bold) # bold
|
|
bldred=${txtbld}$(tput setaf 1) # red
|
|
bldgre=${txtbld}$(tput setaf 2) # green
|
|
bldyel=${txtbld}$(tput setaf 3) # yellow
|
|
bldblu=${txtbld}$(tput setaf 4) # blue
|
|
txtcya=$(tput setaf 6) # cyan
|
|
bldwht=${txtbld}$(tput setaf 7) # white
|
|
txtrst=$(tput sgr0) # reset
|
|
|
|
|
|
ERROR=0
|
|
SUCCESS=0
|
|
|
|
|
|
die() {
|
|
date > reload.txt
|
|
sleep 3
|
|
pidof uwsgi && killall uwsgi
|
|
sleep 1
|
|
pidof uwsgi && killall -9 uwsgi
|
|
echo -e "$@"
|
|
if [ -e uwsgi.log ]; then
|
|
echo -e "${bldyel}>>> uwsgi.log:${txtrst}"
|
|
echo -e "${txtcya}"
|
|
cat uwsgi.log
|
|
echo -e "${txtrst}"
|
|
fi
|
|
}
|
|
|
|
|
|
http_test() {
|
|
URL=$1
|
|
UPID=`pidof uwsgi`
|
|
if [ "$UPID" != "" ]; then
|
|
echo -e "${bldgre}>>> Spawned PID $UPID, running tests${txtrst}"
|
|
sleep 5
|
|
curl -fI $URL
|
|
RET=$?
|
|
if [ $RET != 0 ]; then
|
|
die "${bldred}>>> Error during curl run${txtrst}"
|
|
ERROR=$((ERROR+1))
|
|
else
|
|
SUCCESS=$((SUCCESS+1))
|
|
fi
|
|
die "${bldyel}>>> SUCCESS: Done${txtrst}"
|
|
else
|
|
die "${bldred}>>> ERROR: uWSGI did not start${txtrst}"
|
|
ERROR=$((ERROR+1))
|
|
fi
|
|
}
|
|
|
|
|
|
test_python() {
|
|
date > reload.txt
|
|
rm -f uwsgi.log
|
|
echo -e "${bldyel}================== TESTING $1 =====================${txtrst}"
|
|
echo -e "${bldyel}>>> Spawning uWSGI python app${txtrst}"
|
|
echo -en "${bldred}"
|
|
./uwsgi --master --plugin 0:$1 --http :8080 --exit-on-reload --touch-reload reload.txt --wsgi-file tests/staticfile.py --daemonize uwsgi.log
|
|
echo -en "${txtrst}"
|
|
http_test "http://localhost:8080/"
|
|
echo -e "${bldyel}===================== DONE $1 =====================${txtrst}\n\n"
|
|
}
|
|
|
|
|
|
test_rack() {
|
|
date > reload.txt
|
|
rm -f uwsgi.log
|
|
echo -e "${bldyel}================== TESTING $1 =====================${txtrst}"
|
|
case "$1" in
|
|
"rack187")
|
|
GEMS_BINARY="/usr/bin/gem1.8"
|
|
;;
|
|
"rack191")
|
|
GEMS_BINARY="/usr/bin/gem1.9.1"
|
|
;;
|
|
"rack193")
|
|
GEMS_BINARY="/usr/bin/gem1.9.3"
|
|
;;
|
|
esac
|
|
echo -e "${bldyel}>>> Installing sinatra gem using ${GEMS_BINARY}${txtrst}"
|
|
$GEMS_BINARY install sinatra || die
|
|
echo -e "${bldyel}>>> Spawning uWSGI rack app${txtrst}"
|
|
echo -en "${bldred}"
|
|
./uwsgi --master --plugin 0:$1 --http :8080 --exit-on-reload --touch-reload reload.txt --rack examples/config2.ru --daemonize uwsgi.log
|
|
echo -en "${txtrst}"
|
|
http_test "http://localhost:8080/hi"
|
|
echo -e "${bldyel}===================== DONE $1 =====================${txtrst}\n\n"
|
|
}
|
|
|
|
|
|
while read PV ; do
|
|
test_python $PV
|
|
done < <(cat .travis.yml | grep "plugins/python base" | sed s_".*plugins/python base "_""_g)
|
|
|
|
|
|
while read RV ; do
|
|
test_rack $RV
|
|
done < <(cat .travis.yml | grep "plugins/rack base" | sed s_".*plugins/rack base "_""_g)
|
|
|
|
|
|
echo "${bldgre}>>> $SUCCESS SUCCESSFUL PLUGIN(S)${txtrst}"
|
|
if [ $ERROR -ge 1 ]; then
|
|
echo "${bldred}>>> $ERROR FAILED PLUGIN(S)${txtrst}"
|
|
exit 1
|
|
fi
|
|
|
|
exit 0
|
|
|