summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian Thiel <byronimo@gmail.com>2010-11-20 22:18:28 +0100
committerSebastian Thiel <byronimo@gmail.com>2010-11-20 22:24:47 +0100
commit20b07fa542d2376a287435a26c967a5ee104667f (patch)
tree32d7145e3c2cdcdb7c09ac32939707bb398c15a4
parent7c72b9a3eaabbe927ba77d4f69a62f35fbe60e2e (diff)
downloadgitpython-20b07fa542d2376a287435a26c967a5ee104667f.tar.gz
testing:added special case for osx to solve a special issue with the temp directory
-rw-r--r--test/testlib/helper.py13
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 ?