add vpp debugging support to test framework
improve test documentation

Change-Id: Ia9678aa2532ecb4cb33736aedb4a31aa3f2a3f93
Signed-off-by: Klement Sekera <ksekera@cisco.com>
diff --git a/Makefile b/Makefile
index 54b0f29..3a6c783 100644
--- a/Makefile
+++ b/Makefile
@@ -33,7 +33,7 @@
 DEB_DEPENDS  = curl build-essential autoconf automake bison libssl-dev ccache
 DEB_DEPENDS += debhelper dkms git libtool libganglia1-dev libapr1-dev dh-systemd
 DEB_DEPENDS += libconfuse-dev git-review exuberant-ctags cscope
-DEB_DEPENDS += python-dev
+DEB_DEPENDS += python-dev python-virtualenv
 ifeq ($(OS_VERSION_ID),14.04)
 	DEB_DEPENDS += openjdk-8-jdk-headless
 else
@@ -58,7 +58,7 @@
 .PHONY: help bootstrap wipe wipe-release build build-release rebuild rebuild-release
 .PHONY: run run-release debug debug-release build-vat run-vat pkg-deb pkg-rpm
 .PHONY: ctags cscope plugins plugins-release build-vpp-api
-.PHONY: test test-debug retest retest-debug
+.PHONY: test test-debug retest retest-debug test-doc test-wipe-doc test-help test-wipe
 
 help:
 	@echo "Make Targets:"
@@ -78,8 +78,10 @@
 	@echo " debug-release       - run release binary with debugger"
 	@echo " test                - build and run functional tests"
 	@echo " test-debug          - build and run functional tests (debug build)"
+	@echo " test-wipe           - wipe files generated by unit tests"
 	@echo " retest              - run functional tests"
 	@echo " retest-debug        - run functional tests (debug build)"
+	@echo " test-help           - show help on test framework"
 	@echo " build-vat           - build vpp-api-test tool"
 	@echo " build-vpp-api       - build vpp-api"
 	@echo " run-vat             - run vpp-api-test tool"
@@ -93,6 +95,8 @@
 	@echo " doxygen             - (re)generate documentation"
 	@echo " bootstrap-doxygen   - setup Doxygen dependencies"
 	@echo " wipe-doxygen        - wipe all generated documentation"
+	@echo " test-doc            - generate documentation for test framework"
+	@echo " test-wipe-doc       - wipe documentation for test framework"
 	@echo ""
 	@echo "Make Arguments:"
 	@echo " V=[0|1]             - set build verbosity level"
@@ -105,7 +109,7 @@
 	@echo " PLATFORM=<name>     - target platform. default is vpp"
 	@echo " TEST=<name>         - only run specific test"
 	@echo ""
-	@echo "Current Argumernt Values:"
+	@echo "Current Argument Values:"
 	@echo " V            = $(V)"
 	@echo " STARTUP_CONF = $(STARTUP_CONF)"
 	@echo " STARTUP_DIR  = $(STARTUP_DIR)"
@@ -188,7 +192,7 @@
 build-vpp-api: $(BR)/.bootstrap.ok
 	$(call make,$(PLATFORM)_debug,vpp-api-install)
 
-PYTHON_PATH=$(BR)/python
+VPP_PYTHON_PREFIX=$(BR)/python
 
 define test
 	$(if $(filter-out $(3),retest),make -C $(BR) PLATFORM=$(1) TAG=$(2) vpp-api-install plugins-install vpp-install vpp-api-test-install,)
@@ -197,7 +201,7 @@
 	  VPP_TEST_API_TEST_BIN=$(BR)/install-$(2)-native/vpp-api-test/bin/vpp_api_test \
 	  VPP_TEST_PLUGIN_PATH=$(BR)/install-$(2)-native/plugins/lib64/vpp_plugins \
 	  LD_LIBRARY_PATH=$(BR)/install-$(2)-native/vpp-api/lib64/ \
-	  WS_ROOT=$(WS_ROOT) I=$(I) V=$(V) TEST=$(TEST) PYTHON_PATH=$(PYTHON_PATH) $(3)
+	  WS_ROOT=$(WS_ROOT) V=$(V) TEST=$(TEST) VPP_PYTHON_PREFIX=$(VPP_PYTHON_PREFIX) $(3)
 endef
 
 test: bootstrap
@@ -206,12 +210,17 @@
 test-debug: bootstrap
 	$(call test,vpp_lite,vpp_lite_debug,test)
 
-test-doc:
-	make -C $(BR) PLATFORM=vpp_lite TAG=vpp_lite vpp-api-install plugins-install vpp-install vpp-api-test-install
-	make -C test PYTHON_PATH=$(PYTHON_PATH) LD_LIBRARY_PATH=$(BR)/install-vpp_lite-native/vpp-api/lib64/ doc
+test-help:
+	@make -C test help
 
-test-clean:
-	make -C test clean
+test-wipe:
+	@make -C test wipe
+
+test-doc:
+	@make -C test WS_ROOT=$(WS_ROOT) BR=$(BR) VPP_PYTHON_PREFIX=$(VPP_PYTHON_PREFIX) doc
+
+test-wipe-doc:
+	@make -C test wipe-doc BR=$(BR)
 
 retest:
 	$(call test,vpp_lite,vpp_lite,retest)