Skip to content

Commit 20b07fa

Browse files
committed
testing:added special case for osx to solve a special issue with the temp directory
1 parent 7c72b9a commit 20b07fa

File tree

1 file changed

+10
-3
lines changed

1 file changed

+10
-3
lines changed

test/testlib/helper.py

+10-3
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,13 @@ def wait(self):
5252

5353
#{ Decorators
5454

55+
def _mktemp(*args):
56+
"""Wrapper around default tempfile.mktemp to fix an osx issue"""
57+
tdir = tempfile.mktemp(*args)
58+
if sys.platform == 'darwin':
59+
tdir = '/private' + tdir
60+
return tdir
61+
5562
def _rmtree_onerror(osremove, fullpath, exec_info):
5663
"""
5764
Handle the case on windows that read-only files cannot be deleted by
@@ -80,7 +87,7 @@ def repo_creator(self):
8087
if bare:
8188
prefix = ''
8289
#END handle prefix
83-
repo_dir = tempfile.mktemp("%sbare_%s" % (prefix, func.__name__))
90+
repo_dir = _mktemp("%sbare_%s" % (prefix, func.__name__))
8491
rw_repo = self.rorepo.clone(repo_dir, shared=True, bare=bare, n=True)
8592

8693
rw_repo.head.commit = rw_repo.commit(working_tree_ref)
@@ -136,8 +143,8 @@ def case(self, rw_repo, rw_remote_repo)
136143
assert isinstance(working_tree_ref, basestring), "Decorator requires ref name for working tree checkout"
137144
def argument_passer(func):
138145
def remote_repo_creator(self):
139-
remote_repo_dir = tempfile.mktemp("remote_repo_%s" % func.__name__)
140-
repo_dir = tempfile.mktemp("remote_clone_non_bare_repo")
146+
remote_repo_dir = _mktemp("remote_repo_%s" % func.__name__)
147+
repo_dir = _mktemp("remote_clone_non_bare_repo")
141148

142149
rw_remote_repo = self.rorepo.clone(remote_repo_dir, shared=True, bare=True)
143150
rw_repo = rw_remote_repo.clone(repo_dir, shared=True, bare=False, n=True) # recursive alternates info ?

0 commit comments

Comments
 (0)