- if os.path.isfile(self.out_path):
- try:
- capture = self.get_capture(
- 0, remark=remark, filter_out_fn=filter_out_fn)
- if not capture or len(capture.res) == 0:
- # junk filtered out, we're good
- return
- except:
- pass
- self.generate_debug_aid("empty-assert")
- if remark:
- raise AssertionError(
- "Non-empty capture file present for interface %s (%s)" %
- (self.name, remark))
- else:
- raise AssertionError("Capture file present for interface %s" %
- self.name)
+ capture = self.get_capture(
+ 0, timeout=timeout, remark=remark, filter_out_fn=filter_out_fn
+ )
+ if not capture or len(capture.res) == 0:
+ # junk filtered out, we're good
+ return
+
+ def wait_for_pg_stop(self):
+ # wait till packet-generator is stopped
+ # "show packet-generator" while it is still running gives this:
+ # Name Enabled Count Parameters
+ # pcap0-sw_if_inde Yes 64 limit 64, ...
+ #
+ # also have a 5-minute timeout just in case things go terribly wrong...
+ deadline = time.time() + 300
+ while self.test.vapi.cli("show packet-generator").find("Yes") != -1:
+ self._test.sleep(0.01) # yield
+ if time.time() > deadline:
+ self.test.logger.debug("Timeout waiting for pg to stop")
+ break