Test framework: fix import logic for sphynx. 86/16386/2
authorPaul Vinciguerra <pvinci@vinciconsulting.com>
Thu, 6 Dec 2018 17:32:45 +0000 (09:32 -0800)
committerOle Trøan <otroan@employees.org>
Thu, 6 Dec 2018 19:22:50 +0000 (19:22 +0000)
  * Simplify conditional import. Remove global variable.
  * Fix vpp_l2 import side effect.

Change-Id: I3945cf2a0cf8844004af2cd636f92d73ddc60f93
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
test/vpp_papi_provider.py

index 6cbde71..8153e03 100644 (file)
@@ -6,22 +6,19 @@ from collections import deque
 from six import moves
 
 from hook import Hook
+from vpp_l2 import L2_PORT_TYPE
 
 # Sphinx creates auto-generated documentation by importing the python source
 # files and collecting the docstrings from them. The NO_VPP_PAPI flag allows
 # the vpp_papi_provider.py file to be importable without having to build
 # the whole vpp api if the user only wishes to generate the test documentation.
-do_import = True
-try:
-    no_vpp_papi = os.getenv("NO_VPP_PAPI")
-    if no_vpp_papi == "1":
-        do_import = False
-except:
-    pass
 
-if do_import:
+try:
     from vpp_papi import VPP
-    from vpp_l2 import L2_PORT_TYPE
+except ImportError:
+    if not os.getenv("NO_VPP_PAPI") == 1:
+        raise
+    pass
 
 # from vnet/vnet/mpls/mpls_types.h
 MPLS_IETF_MAX_LABEL = 0xfffff