summaryrefslogtreecommitdiffstats
path: root/test/framework.py
diff options
context:
space:
mode:
authorAndrew Yourtchenko <ayourtch@gmail.com>2019-10-21 12:55:48 +0000
committerAndrew Yourtchenko <ayourtch@gmail.com>2019-10-21 12:55:48 +0000
commit586d3edf49f5dd8cd3e4f836afd562e21766914d (patch)
tree28f5eb4b0af49d1ce09c3408549c76bf7192e138 /test/framework.py
parent127fbec4d3ec1c3d8d09c753dd7644155a7e63d5 (diff)
tests: add PID of VPP under test to API dump filename for the test
Some testclasses (e.g. IPSec) have methods with the same names, this causes a race when running in parallel to save the API and move it into the test's directory - the name of the file has only the test method name as a discriminator. Saving two traces from two VPP instances "succeeds", in that it silently overwrites the file. But only one mv operation works - the other gives an error "file not found" and fails the test. Solution: add the PID of VPP under test to the API dump filename, this way the filenames become guaranteed unique and the race is avoided. Change-Id: I1bb47ed73369fea0f1bfbf907588a51e2cabfb7f Type: test Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
Diffstat (limited to 'test/framework.py')
-rw-r--r--test/framework.py3
1 files changed, 2 insertions, 1 deletions
diff --git a/test/framework.py b/test/framework.py
index 2afa64cf42e..1be227a3ead 100644
--- a/test/framework.py
+++ b/test/framework.py
@@ -685,7 +685,8 @@ class VppTestCase(unittest.TestCase):
self.show_commands_at_teardown()
self.registry.remove_vpp_config(self.logger)
# Save/Dump VPP api trace log
- api_trace = "vpp_api_trace.%s.log" % self._testMethodName
+ m = self._testMethodName
+ api_trace = "vpp_api_trace.%s.%d.log" % (m, self.vpp.pid)
tmp_api_trace = "/tmp/%s" % api_trace
vpp_api_trace_log = "%s/%s" % (self.tempdir, api_trace)
self.logger.info(self.vapi.ppcli("api trace save %s" % api_trace))