summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorJason Lowe-Power <jason@lowepower.com>2019-03-14 16:36:34 -0700
committerJason Lowe-Power <jason@lowepower.com>2019-03-21 15:57:10 +0000
commitee0e0ff6a01f135d14ac93e73eb7e1f5affcfbc1 (patch)
treef7111d99ab122c87e3f04e8fe4040c8a40de3f54 /tests
parent76d9c83887000301f23094488ea170b0a04d1862 (diff)
downloadgem5-ee0e0ff6a01f135d14ac93e73eb7e1f5affcfbc1.tar.xz
tests: Fix race condition in download fixture
Change-Id: Idace0e9e71a484080fc581e232ce217b449085c1 Signed-off-by: Jason Lowe-Power <jason@lowepower.com> Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/17453 Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com>
Diffstat (limited to 'tests')
-rw-r--r--tests/gem5/fixture.py7
1 files changed, 6 insertions, 1 deletions
diff --git a/tests/gem5/fixture.py b/tests/gem5/fixture.py
index 9d9319c1e..c4fd12f52 100644
--- a/tests/gem5/fixture.py
+++ b/tests/gem5/fixture.py
@@ -229,9 +229,14 @@ class DownloadedProgram(Fixture):
self.url = self.urlbase + self.path
def _download(self):
import urllib
+ import errno
log.test_log.debug("Downloading " + self.url + " to " + self.path)
if not os.path.exists(self.program_dir):
- os.makedirs(self.program_dir)
+ try:
+ os.makedirs(self.program_dir)
+ except OSError as e:
+ if e.errno != errno.EEXIST:
+ raise
urllib.urlretrieve(self.url, self.path)
def _getremotetime(self):