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
This commit is contained in:
Arthur de Kerhor
2021-06-21 15:35:01 +02:00
committed by Ole Tr�an
parent 5ab7dc45b5
commit d70777aa60

View File

@ -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)