Honeycomb setup and utils
[csit.git] / resources / libraries / python / VppCounters.py
index f34d7a7..caae06c 100644 (file)
@@ -35,6 +35,36 @@ class VppCounters(object):
             if node['type'] == NodeType.DUT:
                 self.vpp_clear_interface_counters(node)
 
+    @staticmethod
+    def vpp_show_errors_verbose(node):
+        """Run "show errors verbose" debug CLI command
+
+        :param node: Node to run command on
+        :type node: dict
+        """
+        vat = VatExecutor()
+        vat.execute_script("show_errors_verbose.vat", node, json_out=False)
+
+    @staticmethod
+    def vpp_show_runtime_verbose(node):
+        """Run "show runtime" debug CLI command
+
+        :param node: Node to run command on
+        :type node: dict
+        """
+        vat = VatExecutor()
+        vat.execute_script("show_runtime_verbose.vat", node, json_out=False)
+
+    @staticmethod
+    def vpp_show_hardware_detail(node):
+        """Run "show hardware-interfaces detail" debug CLI command
+
+        :param node: Node to run command on
+        :type node: dict
+        """
+        vat = VatExecutor()
+        vat.execute_script("show_hardware_detail.vat", node, json_out=False)
+
     @staticmethod
     def vpp_clear_interface_counters(node):
         """Clear interface counters on VPP node.
@@ -53,19 +83,16 @@ class VppCounters(object):
            :type node: dict
            :return: Stats table.
         """
-        vat = VatTerminal(node)
-        vat.vat_terminal_exec_cmd('want_stats enable')
-        for _ in range(0, 12):
-            stats_table = vat.vat_terminal_exec_cmd('dump_stats_table')
-            if_counters = stats_table['interface_counters']
-            if len(if_counters) > 0:
-                self._stats_table = stats_table
-                vat.vat_terminal_close()
-                return stats_table
-            time.sleep(1)
-
-        vat.vat_terminal_close()
-        return None
+        with VatTerminal(node) as vat:
+            vat.vat_terminal_exec_cmd('want_stats enable')
+            for _ in range(0, 12):
+                stats_table = vat.vat_terminal_exec_cmd('dump_stats_table')
+                if_counters = stats_table['interface_counters']
+                if len(if_counters) > 0:
+                    self._stats_table = stats_table
+                    return stats_table
+                time.sleep(1)
+            return None
 
     def vpp_get_ipv4_interface_counter(self, node, interface):
         return self.vpp_get_ipv46_interface_counter(node, interface, False)