PAPI_INSTALL_FLAGS=$(PIP_INSTALL_DONE) $(PIP_PATCH_DONE) $(PAPI_INSTALL_DONE)
$(PIP_INSTALL_DONE):
- @virtualenv $(PYTHON_VENV_PATH)
+ @virtualenv $(PYTHON_VENV_PATH) -p python2.7
@bash -c "source $(PYTHON_VENV_PATH)/bin/activate && pip install $(PYTHON_DEPENDS)"
@touch $@
$(PIP_PATCH_DONE): $(PIP_INSTALL_DONE)
@echo --- patching ---
+ @sleep 1 # Ensure python recompiles patched *.py files -> *.pyc
for f in $(CURDIR)/patches/scapy-2.3.3/*.patch ; do \
echo Applying patch: $$(basename $$f) ; \
patch -p1 -d $(SCAPY_SOURCE) < $$f ; \
@rm -f $(PAPI_INSTALL_FLAGS)
doc: verify-python-path
- @virtualenv $(PYTHON_VENV_PATH)
- @bash -c "source $(PYTHON_VENV_PATH)/bin/activate && pip install $(PYTHON_DEPENDS) sphinx"
+ @virtualenv $(PYTHON_VENV_PATH) -p python2.7
+ @bash -c "source $(PYTHON_VENV_PATH)/bin/activate && pip install $(PYTHON_DEPENDS) sphinx sphinx-rtd-theme"
@bash -c "source $(PYTHON_VENV_PATH)/bin/activate && make -C doc WS_ROOT=$(WS_ROOT) BR=$(BR) NO_VPP_PAPI=1 html"
.PHONY: wipe-doc
wipe-cov: wipe
@rm -rf $(BUILD_COV_DIR)
+.PHONY: checkstyle
+checkstyle: verify-python-path
+ @virtualenv $(PYTHON_VENV_PATH) -p python2.7
+ @bash -c "source $(PYTHON_VENV_PATH)/bin/activate && pip install $(PYTHON_DEPENDS) pep8"
+ @bash -c "source $(PYTHON_VENV_PATH)/bin/activate &&\
+ pep8 --show-source -v $(WS_ROOT)/test/*.py ||\
+ (echo \"*******************************************************************\" &&\
+ echo \"* Test framework PEP8 compliance check FAILED \" &&\
+ echo \"*******************************************************************\" &&\
+ false)"
+ @echo "*******************************************************************"
+ @echo "* Test framework PEP8 compliance check passed"
+ @echo "*******************************************************************"
+
help:
@echo "Running tests:"
@echo ""
@echo " test-cov - generate code coverage report for test framework"
@echo " test-wipe-cov - wipe code coverage report for test framework"
@echo ""
+ @echo "Verifying code-style"
+ @echo " test-checkstyle - check PEP8 compliance"
+ @echo ""