diff options
author | Klement Sekera <ksekera@cisco.com> | 2017-03-02 08:16:20 +0100 |
---|---|---|
committer | Ole Trøan <otroan@employees.org> | 2017-03-06 12:29:45 +0000 |
commit | b93d1424301978405b53784d1e85a952dd78f4e5 (patch) | |
tree | 030ac343d118e876f0d5ad57c3035a7e0c1d0956 /test/Makefile | |
parent | a1cca7fab081fe038bcd4fe150f7997fa3ae8b26 (diff) |
make test: don't run if other vpp process runs
Check if there are existing vpp processes before running the test suite
and refuse to run if there are. This prevents the removal of other test
suite temporary files and also makes sure that if the machine is loaded
by (zombie) vpp processes, interactive tests (like bfd) won't fail.
Change-Id: I88a74098188cb3f51966de5db19d7f80f39e51e2
Signed-off-by: Klement Sekera <ksekera@cisco.com>
Diffstat (limited to 'test/Makefile')
-rw-r--r-- | test/Makefile | 24 |
1 files changed, 22 insertions, 2 deletions
diff --git a/test/Makefile b/test/Makefile index fd1bc0a4d62..25c8e0a82a0 100644 --- a/test/Makefile +++ b/test/Makefile @@ -5,6 +5,24 @@ ifndef VPP_PYTHON_PREFIX $(error VPP_PYTHON_PREFIX is not set) endif +.PHONY: verify-no-running-vpp + +ifdef VPP_ZOMBIE_NOCHECK +VPP_PIDS= +else +VPP_PIDS=$(shell pgrep -d, -x vpp_main) +endif + +verify-no-running-vpp: + @if [ "$(VPP_PIDS)" != "" ]; then \ + echo; \ + echo "*** Existing vpp processes detected (PID(s): $(VPP_PIDS)). Running tests under these conditions is not supported. ***"; \ + echo; \ + ps -fp $(VPP_PIDS);\ + echo; \ + false; \ + fi + UNITTEST_EXTRA_OPTS="" ifeq ($(FAILFAST),1) @@ -44,10 +62,10 @@ define retest-func @bash -c "source $(PYTHON_VENV_PATH)/bin/activate && python run_tests.py discover $(UNITTEST_EXTRA_OPTS) -p test_\"*.py\"" endef -test: reset verify-python-path $(PAPI_INSTALL_DONE) +test: verify-python-path verify-no-running-vpp reset $(PAPI_INSTALL_DONE) $(call retest-func) -retest: reset verify-python-path +retest: verify-python-path verify-no-running-vpp reset $(call retest-func) .PHONY: wipe doc @@ -128,6 +146,8 @@ help: @echo " TEST='bfd.BFDAPITestCase.test_add_bfd' selects a single test named test_add_bfd from test_bfd.py/BFDAPITestCase" @echo " TEST='*.*.test_add_bfd' selects all test functions named test_add_bfd from all files/classes" @echo "" + @echo " VPP_ZOMBIE_NOCHECK=1 - skip checking for vpp (zombie) processes (CAUTION)" + @echo "" @echo "Creating test documentation" @echo " test-doc - generate documentation for test framework" @echo " test-wipe-doc - wipe documentation for test framework" |