Fix: Do not touch PAPI history on bad DICT__nodes 83/34183/1
authorVratko Polak <vrpolak@cisco.com>
Tue, 28 Sep 2021 12:59:28 +0000 (14:59 +0200)
committerTibor Frank <tifrank@cisco.com>
Wed, 20 Oct 2021 10:19:04 +0000 (10:19 +0000)
Usually, DICT__nodes is populated from reserved topology yaml.
But is some cases (doc generation, maybe pylint) there is no yaml.

The proper fix is to never execute any business logic
just when a module is imported.
This is just a quick workaround.

Ticket: CSIT-1793

Change-Id: I6d7250dc75d12baf120758ade8730af89431265a
Signed-off-by: Vratko Polak <vrpolak@cisco.com>
(cherry picked from commit b61c774897a6cce09bd597af6124831e8aea5e8c)

resources/libraries/python/PapiHistory.py

index 65995ce..32429c4 100644 (file)
@@ -120,4 +120,9 @@ class PapiHistory:
                 PapiHistory.show_papi_history(node)
 
 
-PapiHistory.reset_papi_history_on_all_duts(DICT__nodes)
+# This module can be imported outside usual Robot test context,
+# e.g. in pylint or by tools generating docs from docstrings.
+# For the tools to work, we need to avoid processing
+# when DICT__nodes value is not usable.
+if DICT__nodes:
+    PapiHistory.reset_papi_history_on_all_duts(DICT__nodes)