make test: properly handle ctrl-c
Change-Id: Iab88886ebc1582626813777ea45ce97fc8e36443 Signed-off-by: Klement Sekera <ksekera@cisco.com>
This commit is contained in:

committed by
Dave Wallace

parent
3214dc3823
commit
db4e84cf2f
@ -13,6 +13,14 @@ else
|
|||||||
VPP_PIDS=$(shell pgrep -d, -x vpp_main)
|
VPP_PIDS=$(shell pgrep -d, -x vpp_main)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
ifeq ($(DEBUG),gdb)
|
||||||
|
FORCE_FOREGROUND=1
|
||||||
|
else ifeq ($(DEBUG),gdbserver)
|
||||||
|
FORCE_FOREGROUND=1
|
||||||
|
else
|
||||||
|
FORCE_FOREGROUND=0
|
||||||
|
endif
|
||||||
|
|
||||||
verify-no-running-vpp:
|
verify-no-running-vpp:
|
||||||
@if [ "$(VPP_PIDS)" != "" ]; then \
|
@if [ "$(VPP_PIDS)" != "" ]; then \
|
||||||
echo; \
|
echo; \
|
||||||
@ -76,7 +84,7 @@ $(PAPI_INSTALL_DONE): $(PIP_PATCH_DONE)
|
|||||||
@touch $@
|
@touch $@
|
||||||
|
|
||||||
define retest-func
|
define retest-func
|
||||||
@bash -c "source $(PYTHON_VENV_PATH)/bin/activate && setsid scripts/run_with_cleanup.sh python run_tests.py -d $(TEST_DIR) $(UNITTEST_EXTRA_OPTS)"
|
@scripts/setsid_wrapper.sh $(FORCE_FOREGROUND) $(PYTHON_VENV_PATH)/bin/activate python run_tests.py -d $(TEST_DIR) $(UNITTEST_EXTRA_OPTS)
|
||||||
endef
|
endef
|
||||||
|
|
||||||
.PHONY: sanity
|
.PHONY: sanity
|
||||||
|
@ -17,9 +17,22 @@ atexit() {
|
|||||||
exit $rv
|
exit $rv
|
||||||
}
|
}
|
||||||
|
|
||||||
trap "atexit" SIGINT SIGTERM
|
trap "atexit;" SIGINT SIGTERM
|
||||||
|
|
||||||
|
FORCE_FOREGROUND=$1
|
||||||
|
shift
|
||||||
|
|
||||||
|
source $1
|
||||||
|
shift
|
||||||
|
|
||||||
|
if [[ "${FORCE_FOREGROUND}" == "1" ]]
|
||||||
|
then
|
||||||
|
$*
|
||||||
|
else
|
||||||
|
$* &
|
||||||
|
wait
|
||||||
|
fi
|
||||||
|
|
||||||
$*
|
|
||||||
rv=$?
|
rv=$?
|
||||||
atexit
|
atexit
|
||||||
exit $rv
|
exit $rv
|
12
test/scripts/setsid_wrapper.sh
Executable file
12
test/scripts/setsid_wrapper.sh
Executable file
@ -0,0 +1,12 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
if [[ "$1" == "1" ]]
|
||||||
|
then
|
||||||
|
setsid scripts/run_in_venv_with_cleanup.sh $*
|
||||||
|
pid=$!
|
||||||
|
else
|
||||||
|
setsid scripts/run_in_venv_with_cleanup.sh $* &
|
||||||
|
pid=$!
|
||||||
|
trap "echo setsid_wrapper.sh: got signal, killing child pid ${pid}; kill ${pid}; sleep .1;" SIGINT SIGTERM
|
||||||
|
wait
|
||||||
|
fi
|
Reference in New Issue
Block a user