mirror of
https://github.com/warmcat/libwebsockets.git
synced 2025-03-16 00:00:07 +01:00

Replace the bash selftest plumbing with CTest. To use the selftests, build with -DLWS_WITH_MINIMAL_EXAMPLES=1 and `CTEST_OUTPUT_ON_FAILURE=1 make test` or just `make test`. To disable tests that require internet access, also give -DLWS_CTEST_INTERNET_AVAILABLE=0 Remove travis and appveyor scripts on master. Remove travis and appveyor decals on README.md.
54 lines
1.1 KiB
Bash
Executable file
54 lines
1.1 KiB
Bash
Executable file
#!/bin/bash
|
|
#
|
|
# $SAI_INSTANCE_IDX - which instance of sai, 0+
|
|
# $1 - background fixture name, unique within test space, like "multipostlocalsrv"
|
|
# $2 - executable
|
|
# $3+ - args
|
|
|
|
echo "$0 $1 $2 $3 $4" >> /tmp/ctklog
|
|
|
|
J=`basename $2`.$1.$SAI_INSTANCE_IDX
|
|
PI=`cat /tmp/sai-ctest-$J`
|
|
echo "Stage 1 kill $J 'kill $PI'" >> /tmp/ctklog
|
|
|
|
#
|
|
# We expect our background process to still be around
|
|
#
|
|
|
|
set +e
|
|
set +E
|
|
kill -0 $PI 2>&1 >> /tmp/ctklog
|
|
GONESKI=$?
|
|
|
|
if [ $GONESKI -eq 0 ] ; then
|
|
kill $PI 2>&1 >> /tmp/ctklog
|
|
kill -9 $PI 2>&1 >> /tmp/ctklog
|
|
|
|
kill -0 $PI 2>&1
|
|
if [ $? -eq 0 ] ; then
|
|
#
|
|
# but in case it isn't enough, use ps to find the same executable started on the same port
|
|
# and kill that
|
|
#
|
|
A1=$3
|
|
if [ -z "$A1" ] ; then
|
|
A1=$2
|
|
fi
|
|
A2=$4
|
|
if [ -z "$A2" ] ; then
|
|
A2=$2
|
|
fi
|
|
|
|
# sed is there to match up bsd/osx ps with linux
|
|
KL=`ps -Af | grep -v ctest-background-kill | grep -v grep | grep $2 | grep $A1 | grep $A2 | tr -s ' ' | sed "s/^\ //g" | cut -d' ' -f2`
|
|
if [ ! -z "$KL" ] ; then
|
|
echo "Stage 2 kill $J 'kill $KL'" >> /tmp/ctklog
|
|
kill $KL 2>&1 >> /tmp/ctklog
|
|
fi
|
|
fi
|
|
else
|
|
echo "Process already dead" >> /tmp/ctklog
|
|
fi
|
|
|
|
exit $GONESKI
|
|
|