diff options
-rw-r--r-- | test/testlib/helper.py | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/test/testlib/helper.py b/test/testlib/helper.py index c79ecaa1..4e7b5cf6 100644 --- a/test/testlib/helper.py +++ b/test/testlib/helper.py @@ -52,6 +52,13 @@ class StringProcessAdapter(object): #{ Decorators +def _mktemp(*args): + """Wrapper around default tempfile.mktemp to fix an osx issue""" + tdir = tempfile.mktemp(*args) + if sys.platform == 'darwin': + tdir = '/private' + tdir + return tdir + def _rmtree_onerror(osremove, fullpath, exec_info): """ Handle the case on windows that read-only files cannot be deleted by @@ -80,7 +87,7 @@ def with_rw_repo(working_tree_ref, bare=False): if bare: prefix = '' #END handle prefix - repo_dir = tempfile.mktemp("%sbare_%s" % (prefix, func.__name__)) + repo_dir = _mktemp("%sbare_%s" % (prefix, func.__name__)) rw_repo = self.rorepo.clone(repo_dir, shared=True, bare=bare, n=True) rw_repo.head.commit = rw_repo.commit(working_tree_ref) @@ -136,8 +143,8 @@ def with_rw_and_rw_remote_repo(working_tree_ref): assert isinstance(working_tree_ref, basestring), "Decorator requires ref name for working tree checkout" def argument_passer(func): def remote_repo_creator(self): - remote_repo_dir = tempfile.mktemp("remote_repo_%s" % func.__name__) - repo_dir = tempfile.mktemp("remote_clone_non_bare_repo") + remote_repo_dir = _mktemp("remote_repo_%s" % func.__name__) + repo_dir = _mktemp("remote_clone_non_bare_repo") rw_remote_repo = self.rorepo.clone(remote_repo_dir, shared=True, bare=True) rw_repo = rw_remote_repo.clone(repo_dir, shared=True, bare=False, n=True) # recursive alternates info ? |