make test: automatic sanity check 85/5685/4
authorKlement Sekera <ksekera@cisco.com>
Thu, 9 Mar 2017 07:20:13 +0000 (08:20 +0100)
committerDamjan Marion <dmarion.lists@gmail.com>
Thu, 9 Mar 2017 20:06:58 +0000 (20:06 +0000)
Check if vpp_papi is importable before running the tests to avoid
confusing python crashes.

Change-Id: I6adf406e353bf381d590f2ef988a1ea79b95cf37
Signed-off-by: Klement Sekera <ksekera@cisco.com>
test/Makefile
test/sanity_import_vpp_papi.py [new file with mode: 0644]

index 0214980..8594633 100644 (file)
@@ -62,10 +62,22 @@ define retest-func
        @bash -c "source $(PYTHON_VENV_PATH)/bin/activate && python run_tests.py discover $(UNITTEST_EXTRA_OPTS) -p test_\"*.py\""
 endef
 
-test: verify-python-path verify-no-running-vpp reset $(PAPI_INSTALL_DONE)
+.PHONY: sanity
+
+sanity: verify-no-running-vpp
+       @bash -c "source $(PYTHON_VENV_PATH)/bin/activate && python sanity_import_vpp_papi.py ||\
+               (echo \"*******************************************************************\" &&\
+                echo \"* Sanity check failed, cannot import vpp_papi\" &&\
+                echo \"* to debug: \" &&\
+                echo \"* 1. enter test shell:   make test-shell\" &&\
+                echo \"* 2. execute debugger:   gdb python -ex 'run sanity_import_vpp_papi.py'\" &&\
+                echo \"*******************************************************************\" &&\
+                false)"
+
+test: verify-python-path $(PAPI_INSTALL_DONE) sanity reset 
        $(call retest-func)
 
-retest: verify-python-path verify-no-running-vpp reset
+retest: verify-python-path sanity reset
        $(call retest-func)
 
 shell: verify-python-path $(PAPI_INSTALL_DONE)
diff --git a/test/sanity_import_vpp_papi.py b/test/sanity_import_vpp_papi.py
new file mode 100644 (file)
index 0000000..535e00c
--- /dev/null
@@ -0,0 +1,4 @@
+#!/usr/bin/env python
+
+""" sanity check script """
+import vpp_papi