SCAPY_SOURCE=$(shell find $(VENV_PATH)/lib/$(PYTHON) -name site-packages)
BUILD_COV_DIR=$(TEST_DIR)/coverage
-GET_PIP_SCRIPT=$(TEST_RUN_DIR)/get-pip.py
PIP_INSTALL_DONE=$(TEST_RUN_DIR)/pip-install.done
PIP_PATCH_DONE=$(TEST_RUN_DIR)/pip-patch.done
PAPI_INSTALL_DONE=$(TEST_RUN_DIR)/papi-install.done
PYTHON_INTERP=$(PYTHON)
endif
-$(GET_PIP_SCRIPT):
+$(PIP_INSTALL_DONE):
@mkdir -p $(TEST_RUN_DIR)
- @bash -c "cd $(TEST_RUN_DIR) && curl -O https://bootstrap.pypa.io/get-pip.py"
-
-$(PIP_INSTALL_DONE): $(GET_PIP_SCRIPT)
@virtualenv $(VENV_PATH) -p $(PYTHON_INTERP)
- @bash -c "source $(VENV_PATH)/bin/activate && $(PYTHON_INTERP) $(GET_PIP_SCRIPT)"
@bash -c "source $(VENV_PATH)/bin/activate && $(PYTHON_INTERP) -m pip install $(PYTHON_DEPENDS)"
@touch $@
@touch $@
$(PAPI_INSTALL_DONE): $(PIP_PATCH_DONE)
- @bash -c "source $(VENV_PATH)/bin/activate && cd $(WS_ROOT)/src/vpp-api/python && $(PYTHON_INTERP) setup.py install"
+ @bash -c "source $(VENV_PATH)/bin/activate && $(PYTHON_INTERP) -m pip install -e $(WS_ROOT)/src/vpp-api/python"
@touch $@
define retest-func
shell: verify-test-dir $(PAPI_INSTALL_DONE)
@echo "source $(VENV_PATH)/bin/activate;\
echo '***';\
- echo _BUILD_DIR=$(VPP_BUILD_DIR);\
- echo _BIN=$(VPP_BIN);\
- echo _PLUGIN_PATH=$(VPP_PLUGIN_PATH);\
- echo _INSTALL_PATH=$(VPP_INSTALL_PATH);\
+ echo VPP_BUILD_DIR=$(VPP_BUILD_DIR);\
+ echo VPP_BIN=$(VPP_BIN);\
+ echo VPP_PLUGIN_PATH=$(VPP_PLUGIN_PATH);\
+ echo VPP_TEST_PLUGIN_PATH=$(VPP_TEST_PLUGIN_PATH);\
+ echo VPP_INSTALL_PATH=$(VPP_INSTALL_PATH);\
echo EXTERN_TESTS=$(EXTERN_TESTS);\
echo EXTERN_PLUGINS=$(EXTERN_PLUGINS);\
echo EXTERN_COV_DIR=$(EXTERN_COV_DIR);\
doc: verify-test-dir $(PIP_PATCH_DONE)
@virtualenv $(VENV_PATH) -p python3
@bash -c "source $(VENV_PATH)/bin/activate && python3 -m pip install sphinx sphinx-rtd-theme"
- @bash -c "source $(VENV_PATH)/bin/activate && make -C doc WS_ROOT=$(WS_ROOT) BR=$(BR) NO_VPP_PAPI=1 html"
+ @bash -c "source $(VENV_PATH)/bin/activate && make -C doc WS_ROOT=$(WS_ROOT) BR=$(BR) html"
.PHONY: wipe-doc
@make -C doc wipe BR=$(BR)
cov: wipe-cov reset ext verify-test-dir $(PAPI_INSTALL_DONE)
- @lcov --zerocounters --directory $(_BUILD_DIR)
+ @lcov --zerocounters --directory $(VPP_BUILD_DIR)
@test -z "$(EXTERN_COV_DIR)" || lcov --zerocounters --directory $(EXTERN_COV_DIR)
$(call retest-func)
@mkdir $(BUILD_COV_DIR)
- @lcov --capture --directory $(_BUILD_DIR) --output-file $(BUILD_COV_DIR)/coverage.info
+ @lcov --capture --directory $(VPP_BUILD_DIR) --output-file $(BUILD_COV_DIR)/coverage.info
@test -z "$(EXTERN_COV_DIR)" || lcov --capture --directory $(EXTERN_COV_DIR) --output-file $(BUILD_COV_DIR)/extern-coverage.info
@genhtml $(BUILD_COV_DIR)/coverage.info --output-directory $(BUILD_COV_DIR)/html
@test -z "$(EXTERN_COV_DIR)" || genhtml $(BUILD_COV_DIR)/extern-coverage.info --output-directory $(BUILD_COV_DIR)/extern-html
@echo " COREDUMP_SIZE=<size> - pass <size> as unix { coredump-size <size> } argument to vpp"
@echo " e.g. COREDUMP_SIZE=4g"
@echo " COREDUMP_SIZE=unlimited"
+ @echo " COREDUMP_COMPRESS=1 - compress core files if not debugging them"
@echo " EXTERN_TESTS=<path> - path to out-of-tree test_<name>.py files containing test cases"
@echo " EXTERN_PLUGINS=<path>- path to out-of-tree plugins to be loaded by vpp under test"
@echo " EXTERN_COV_DIR=<path>- path to out-of-tree prefix, where source, object and .gcda files can be found for coverage report"
@echo ""
@echo " SKIP_AARCH64=1 - skip tests that are failing on the ARM platorm in FD.io CI"
@echo ""
+ @echo " SOCKET=1 - Communicate with VPP over Unix domain socket instead of SHM"
+ @echo ""
@echo "Creating test documentation"
@echo " test-doc - generate documentation for test framework"
@echo " test-wipe-doc - wipe documentation for test framework"