From: Paul Vinciguerra Date: Tue, 28 May 2019 19:40:47 +0000 (-0400) Subject: Tests: simple refactor in vpp_pg_interface. X-Git-Tag: v20.01-rc0~482 X-Git-Url: https://gerrit.fd.io/r/gitweb?a=commitdiff_plain;h=refs%2Fchanges%2F60%2F19860%2F5;p=vpp.git Tests: simple refactor in vpp_pg_interface. Pull common code into a single method. Type: refactor Change-Id: Ic540d23eebbd17f838ed7a1a9dee80815a27847c Signed-off-by: Paul Vinciguerra --- diff --git a/test/vpp_pg_interface.py b/test/vpp_pg_interface.py index 7c31cfc2d27..380c1fa2595 100755 --- a/test/vpp_pg_interface.py +++ b/test/vpp_pg_interface.py @@ -109,24 +109,32 @@ class VppPGInterface(VppInterface): self.in_path, self.pg_index, self.cap_name) self._nb_replays = None - def enable_capture(self): - """ Enable capture on this packet-generator interface - of at most n packets. - If n < 0, this is no limit - """ + def _rename_previous_capture_file(self, path, counter, file): + # if a file from a previous capture exists, rename it. try: - if os.path.isfile(self.out_path): + if os.path.isfile(path): name = "%s/history.[timestamp:%f].[%s-counter:%04d].%s" % \ (self.test.tempdir, time.time(), self.name, - self.out_history_counter, - self._out_file) + counter, + file) self.test.logger.debug("Renaming %s->%s" % - (self.out_path, name)) - os.rename(self.out_path, name) - except: - pass + (path, name)) + os.rename(path, name) + except OSError: + self.test.logger.debug("OSError: Could not rename %s %s" % + (path, file)) + + def enable_capture(self): + """ Enable capture on this packet-generator interface + of at most n packets. + If n < 0, this is no limit + """ + + self._rename_previous_capture_file(self.out_path, + self.out_history_counter, + self._out_file) # FIXME this should be an API, but no such exists atm self.test.vapi.cli(self.capture_cli) self._pcap_reader = None @@ -142,19 +150,9 @@ class VppPGInterface(VppInterface): """ self._nb_replays = nb_replays - try: - if os.path.isfile(self.in_path): - name = "%s/history.[timestamp:%f].[%s-counter:%04d].%s" %\ - (self.test.tempdir, - time.time(), - self.name, - self.in_history_counter, - self._in_file) - self.test.logger.debug("Renaming %s->%s" % - (self.in_path, name)) - os.rename(self.in_path, name) - except: - pass + self._rename_previous_capture_file(self.in_path, + self.in_history_counter, + self._in_file) wrpcap(self.in_path, pkts) self.test.register_capture(self.cap_name) # FIXME this should be an API, but no such exists atm