refactor test framework

Change-Id: I31da3b1857b6399f9899276a2d99cdd19436296c
Signed-off-by: Klement Sekera <ksekera@cisco.com>
Signed-off-by: Matej Klotton <mklotton@cisco.com>
Signed-off-by: Jan Gelety <jgelety@cisco.com>
Signed-off-by: Juraj Sloboda <jsloboda@cisco.com>
diff --git a/test/Makefile b/test/Makefile
index 7cbcf97..c90679e 100644
--- a/test/Makefile
+++ b/test/Makefile
@@ -1,3 +1,22 @@
+PYTHON_VENV_PATH=$(PYTHON_PATH)/virtualenv
 
-all:
-	@python run_tests.py discover -p test_$(TEST)"*.py"
+test: clean
+	@virtualenv $(PYTHON_VENV_PATH)
+	@bash -c "source $(PYTHON_VENV_PATH)/bin/activate && pip install scapy"
+	@bash -c "source $(PYTHON_VENV_PATH)/bin/activate && pip install pexpect"
+	@bash -c "source $(PYTHON_VENV_PATH)/bin/activate && cd $(WS_ROOT)/vpp-api/python && python setup.py install"
+	@bash -c "source $(PYTHON_VENV_PATH)/bin/activate && python run_tests.py discover -p test_$(TEST)\"*.py\""
+
+retest: clean
+	@bash -c "source $(PYTHON_VENV_PATH)/bin/activate && python run_tests.py discover -p test_$(TEST)\"*.py\""
+
+.PHONY: clean doc
+
+clean:
+	@rm -f /dev/shm/vpp-unittest-*
+	@rm -rf /tmp/vpp-unittest-*
+
+doc:
+	@virtualenv $(PYTHON_VENV_PATH)
+	@bash -c "source $(PYTHON_VENV_PATH)/bin/activate && pip install sphinx"
+	@bash -c "source $(PYTHON_VENV_PATH)/bin/activate && make -C doc html"