tests: move plugin tests to src/plugins/*/test
[vpp.git] / test / Makefile
index e2823ee..66c8f8a 100644 (file)
@@ -80,6 +80,7 @@ PYTHON_INTERP=$(PYTHON)
 endif
 
 PYTHON_VERSION=$(shell $(PYTHON_INTERP) -c 'import sys; print(sys.version_info.major)')
+PIP_VERSION=19.1.1
 PIP_TOOLS_VERSION=3.8.0   # Keep in sync with requirements.txt
 PYTHON_DEPENDS=requirements-$(PYTHON_VERSION).txt
 SCAPY_SOURCE=$(shell find $(VENV_PATH)/lib/$(PYTHON_INTERP) -name site-packages)
@@ -96,6 +97,9 @@ $(PIP_TOOLS_INSTALL_DONE):
        @rm -rf $(VENV_PATH)
        @mkdir -p $(TEST_RUN_DIR)
        @virtualenv $(VENV_PATH) -p $(PYTHON_INTERP)
+       # pip version pinning
+       @bash -c "source $(VENV_PATH)/bin/activate && \
+                 $(PYTHON_INTERP) -m pip install pip===$(PIP_VERSION)"
        @bash -c "source $(VENV_PATH)/bin/activate && \
                  $(PYTHON_INTERP) -m pip install pip-tools===$(PIP_TOOLS_VERSION)"
        @touch $@
@@ -131,8 +135,15 @@ refresh-deps: clean-deps $(PYTHON_DEPENDS)
 clean-deps:
        @rm -f $(PYTHON_DEPENDS)
 
+ifneq ($(EXTERN_PLUGIN_SRC_DIR),)
+PLUGIN_SRC_DIR=$(EXTERN_PLUGIN_SRC_DIR)
+else
+PLUGIN_SRC_DIR=$(WS_ROOT)/src/plugins
+endif
+PLUGIN_TEST_DIRS=$(shell find $(PLUGIN_SRC_DIR) -type d -name test -exec echo -n " -d {}" \;)
+
 define retest-func
-@env FORCE_FOREGROUND=$(FORCE_FOREGROUND) FAILED_DIR=$(FAILED_DIR) VENV_PATH=$(VENV_PATH) scripts/setsid_wrapper.sh $(FORCE_FOREGROUND) $(VENV_PATH)/bin/activate $(PYTHON_INTERP) $(PYTHON_PROFILE_OPTS) run_tests.py -d $(TEST_DIR) $(UNITTEST_EXTRA_OPTS) || env FAILED_DIR=$(FAILED_DIR) COMPRESS_FAILED_TEST_LOGS=$(COMPRESS_FAILED_TEST_LOGS) scripts/compress_failed.sh
+@env FORCE_FOREGROUND=$(FORCE_FOREGROUND) FAILED_DIR=$(FAILED_DIR) VENV_PATH=$(VENV_PATH) scripts/setsid_wrapper.sh $(FORCE_FOREGROUND) $(VENV_PATH)/bin/activate $(PYTHON_INTERP) $(PYTHON_PROFILE_OPTS) run_tests.py -d $(TEST_DIR)$(PLUGIN_TEST_DIRS) $(UNITTEST_EXTRA_OPTS) || env FAILED_DIR=$(FAILED_DIR) COMPRESS_FAILED_TEST_LOGS=$(COMPRESS_FAILED_TEST_LOGS) scripts/compress_failed.sh
 endef
 
 .PHONY: sanity
@@ -248,6 +259,11 @@ cov: wipe-cov reset ext verify-test-dir $(PAPI_INSTALL_DONE)
 wipe-cov: wipe
        @rm -rf $(BUILD_COV_DIR)
 
+.PHONY: papi-wipe
+
+papi-wipe:
+       @rm -rf $(PAPI_INSTALL_DONE)
+
 .PHONY: checkstyle
 checkstyle: verify-test-dir
        @virtualenv $(VENV_PATH) -p python3
@@ -271,6 +287,7 @@ help:
        @echo " test-all-debug      - build and run (all) functional tests (debug build)"
        @echo " retest              - run functional tests"
        @echo " retest-debug        - run functional tests (debug build)"
+       @echo " papi-wipe           - rebuild vpp_papi sources"
        @echo " test-wipe           - wipe (temporary) files generated by unit tests"
        @echo " test-shell          - enter shell with test environment"
        @echo " test-shell-debug    - enter shell with test environment (debug build)"