summaryrefslogtreecommitdiffstats
path: root/test/test_stats_client.py
diff options
context:
space:
mode:
authorArthur de Kerhor <arthurdekerhor@gmail.com>2021-06-21 15:35:01 +0200
committerOle Tr�an <otroan@employees.org>2021-06-22 10:00:27 +0000
commitd70777aa60a87001f323f3b226d7e5cee2cd23d8 (patch)
tree0ce5bb8bb498b26aa8e6ef3c365dec71384eee72 /test/test_stats_client.py
parent5ab7dc45b5c4a1dbe7bff65fd9864b1c9ebb8640 (diff)
stats: add a retry mechanism in a symlink test
When creating a new node, a corresponding node symlink is created when the nodes counters update. To be sure we are able to access this symlink, a retry mechanism was added. Type: fix Signed-off-by: Arthur de Kerhor <arthurdekerhor@gmail.com> Change-Id: Ieb08d8554b4fd13d01e79062b5f820b235be9a13
Diffstat (limited to 'test/test_stats_client.py')
-rw-r--r--test/test_stats_client.py16
1 files changed, 15 insertions, 1 deletions
diff --git a/test/test_stats_client.py b/test/test_stats_client.py
index 7e17e2a1fdd..e5b6aa79386 100644
--- a/test/test_stats_client.py
+++ b/test/test_stats_client.py
@@ -2,6 +2,8 @@
import unittest
import psutil
+import sys
+import six
from vpp_papi.vpp_stats import VPPStats
from framework import tag_fixme_vpp_workers
@@ -108,7 +110,19 @@ class StatsClientTestCase(VppTestCase):
# We wait for nodes symlinks to update (interfaces created/deleted).
# ... and packets to be sent
self.sleep(0.1)
- vectors = self.statistics.get_counter('/nodes/pg1-tx/vectors')
+ for _ in range(5):
+ try:
+ vectors = self.statistics.get_counter('/nodes/pg1-tx/vectors')
+ if vectors[0] == 0:
+ raise ValueError("Nodes counters are not up to date")
+ break
+ except:
+ t, v, tb = sys.exc_info()
+
+ self.sleep(0.1)
+ continue
+ else:
+ six.reraise(t, v, tb)
self.assertEqual(tx[0]['bytes'] - tx_before_sending[0]['bytes'],
bytes_to_send)