summaryrefslogtreecommitdiff
path: root/git/test
diff options
context:
space:
mode:
Diffstat (limited to 'git/test')
-rw-r--r--git/test/lib/helper.py10
-rw-r--r--git/test/test_base.py9
2 files changed, 15 insertions, 4 deletions
diff --git a/git/test/lib/helper.py b/git/test/lib/helper.py
index 8300f272..31bee78f 100644
--- a/git/test/lib/helper.py
+++ b/git/test/lib/helper.py
@@ -15,7 +15,9 @@ import io
from git import Repo, Remote, GitCommandError, Git
from git.compat import string_types
-GIT_REPO = os.path.dirname(os.path.dirname(os.path.dirname(os.path.dirname(__file__))))
+osp = os.path.dirname
+
+GIT_REPO = os.environ.get("GIT_PYTHON_TEST_GIT_REPO_BASE", osp(osp(osp(osp(__file__)))))
__all__ = (
'fixture_path', 'fixture', 'absolute_project_path', 'StringProcessAdapter',
@@ -26,7 +28,7 @@ __all__ = (
def fixture_path(name):
- test_dir = os.path.dirname(os.path.dirname(__file__))
+ test_dir = osp(osp(__file__))
return os.path.join(test_dir, "fixtures", name)
@@ -35,7 +37,7 @@ def fixture(name):
def absolute_project_path():
- return os.path.abspath(os.path.join(os.path.dirname(__file__), "..", ".."))
+ return os.path.abspath(os.path.join(osp(__file__), "..", ".."))
#} END routines
@@ -195,7 +197,7 @@ def with_rw_and_rw_remote_repo(working_tree_ref):
d_remote.config_writer.set('url', remote_repo_url)
- temp_dir = os.path.dirname(_mktemp())
+ temp_dir = osp(_mktemp())
# On windows, this will fail ... we deal with failures anyway and default to telling the user to do it
try:
gd = Git().daemon(temp_dir, enable='receive-pack', as_process=True)
diff --git a/git/test/test_base.py b/git/test/test_base.py
index 91b9d005..94379ca3 100644
--- a/git/test/test_base.py
+++ b/git/test/test_base.py
@@ -5,6 +5,7 @@
# This module is part of GitPython and is released under
# the BSD License: http://www.opensource.org/licenses/bsd-license.php
import os
+import sys
import tempfile
import git.objects.base as base
@@ -116,6 +117,14 @@ class TestBase(TestBase):
filename = u"שלום.txt"
file_path = os.path.join(rw_repo.working_dir, filename)
+
+ # verify first that we could encode file name in this environment
+ try:
+ file_path.encode(sys.getfilesystemencoding())
+ except UnicodeEncodeError:
+ from nose import SkipTest
+ raise SkipTest("Environment doesn't support unicode filenames")
+
open(file_path, "wb").write(b'something')
if os.name == 'nt':