X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;ds=sidebyside;f=test%2FMakefile;h=787dd9d12c7cff5c51adb58814c1c863beed0c01;hb=3747c75a215f082bc52198a7229e1b1e529d7666;hp=1bb3c6c28ae105ffc1aebecdde73e3f229dfb3f7;hpb=871349371a62f1f20b159b6afead8e84f8a2322b;p=vpp.git diff --git a/test/Makefile b/test/Makefile index 1bb3c6c28ae..787dd9d12c7 100644 --- a/test/Makefile +++ b/test/Makefile @@ -23,14 +23,19 @@ verify-no-running-vpp: false; \ fi -UNITTEST_EXTRA_OPTS="" +UNITTEST_EXTRA_OPTS= +UNITTEST_FAILFAST_OPTS= ifeq ($(FAILFAST),1) -UNITTEST_EXTRA_OPTS="-f" +UNITTEST_EXTRA_OPTS=-f +endif + +ifneq ($(EXTERN_TESTS),) +UNITTEST_EXTRA_OPTS=$(UNITTEST_FAILFAST_OPTS) -d $(EXTERN_TESTS) endif PYTHON_VENV_PATH=$(VPP_PYTHON_PREFIX)/virtualenv -PYTHON_DEPENDS=scapy==2.3.3 pexpect subprocess32 git+https://github.com/klement/py-lispnetworking@setup +PYTHON_DEPENDS=scapy==2.3.3 pexpect subprocess32 cffi git+https://github.com/klement/py-lispnetworking@setup SCAPY_SOURCE=$(PYTHON_VENV_PATH)/lib/python2.7/site-packages/ BUILD_COV_DIR = $(BR)/test-cov @@ -59,15 +64,45 @@ $(PAPI_INSTALL_DONE): $(PIP_PATCH_DONE) @touch $@ define retest-func - @bash -c "source $(PYTHON_VENV_PATH)/bin/activate && python run_tests.py discover $(UNITTEST_EXTRA_OPTS) -p test_\"*.py\"" + @bash -c "source $(PYTHON_VENV_PATH)/bin/activate && python run_tests.py -d $(TEST_DIR) $(UNITTEST_EXTRA_OPTS)" endef -test: verify-python-path verify-no-running-vpp reset $(PAPI_INSTALL_DONE) +.PHONY: sanity + +sanity: verify-no-running-vpp + @bash -c "source $(PYTHON_VENV_PATH)/bin/activate && python sanity_import_vpp_papi.py ||\ + (echo \"*******************************************************************\" &&\ + echo \"* Sanity check failed, cannot import vpp_papi\" &&\ + echo \"* to debug: \" &&\ + echo \"* 1. enter test shell: make test-shell\" &&\ + echo \"* 2. execute debugger: gdb python -ex 'run sanity_import_vpp_papi.py'\" &&\ + echo \"*******************************************************************\" &&\ + false)" + @bash -c "source $(PYTHON_VENV_PATH)/bin/activate && python sanity_run_vpp.py ||\ + (echo \"*******************************************************************\" &&\ + echo \"* Sanity check failed, cannot run vpp\" &&\ + echo \"*******************************************************************\" &&\ + false)" + +test: verify-python-path $(PAPI_INSTALL_DONE) sanity reset $(call retest-func) -retest: verify-python-path verify-no-running-vpp reset +retest: verify-python-path sanity reset $(call retest-func) +shell: verify-python-path $(PAPI_INSTALL_DONE) + @echo "source $(PYTHON_VENV_PATH)/bin/activate;\ + echo '***';\ + echo VPP_TEST_BUILD_DIR=$(VPP_TEST_BUILD_DIR);\ + echo VPP_TEST_BIN=$(VPP_TEST_BIN);\ + echo VPP_TEST_PLUGIN_PATH=$(VPP_TEST_PLUGIN_PATH);\ + echo VPP_TEST_INSTALL_PATH=$(VPP_TEST_INSTALL_PATH);\ + echo EXTERN_TESTS=$(EXTERN_TESTS);\ + echo EXTERN_PLUGINS=$(EXTERN_PLUGINS);\ + echo LD_LIBRARY_PATH=$(LD_LIBRARY_PATH);\ + echo '***';\ + exec - pass as unix { coredump-size } argument to vpp" @echo " e.g. COREDUMP_SIZE=4g" @echo " COREDUMP_SIZE=unlimited" + @echo " EXTERN_TESTS= - path to out-of-tree test_.py files containing test cases" + @echo " EXTERN_PLUGINS=- path to out-of-tree plugins to be loaded by vpp under test" @echo "" @echo "Creating test documentation" @echo " test-doc - generate documentation for test framework"