summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKostis Anagnostopoulos <ankostis@gmail.com>2016-09-26 12:32:28 +0200
committerKostis Anagnostopoulos <ankostis@gmail.com>2016-09-26 20:53:48 +0200
commit7bbaac26906863b9a09158346218457befb2821a (patch)
tree974f70d101ce4613aecaf793b2b82e72b96cc56c
parentfa70623a651d2a0b227202cad1e526e3eeebfa00 (diff)
downloadgitpython-7bbaac26906863b9a09158346218457befb2821a.tar.gz
test, #519: Popen() universal_newlin.es NoWindow in Winfoes
+ More win-fixes: + Do not check unicode files in < py3. + util, #519: x4 timeout of lock-file blocking, failing in Appveyor.
-rw-r--r--git/index/fun.py6
-rw-r--r--git/test/test_base.py3
-rw-r--r--git/test/test_git.py2
-rw-r--r--git/test/test_util.py7
4 files changed, 16 insertions, 2 deletions
diff --git a/git/index/fun.py b/git/index/fun.py
index 4dd32b19..6026e232 100644
--- a/git/index/fun.py
+++ b/git/index/fun.py
@@ -12,9 +12,11 @@ from stat import (
from io import BytesIO
import os
+import sys
import subprocess
from git.util import IndexFileSHA1Writer
+from git.cmd import Git
from git.exc import (
UnmergedEntriesError,
HookExecutionError
@@ -74,7 +76,9 @@ def run_commit_hook(name, index):
stdout=subprocess.PIPE,
stderr=subprocess.PIPE,
cwd=index.repo.working_dir,
- close_fds=(os.name == 'posix'))
+ close_fds=(os.name == 'posix'),
+ universal_newlines=True,
+ creationflags=Git.CREATE_NO_WINDOW if sys.platform == 'win32' else 0,)
stdout, stderr = cmd.communicate()
cmd.stdout.close()
cmd.stderr.close()
diff --git a/git/test/test_base.py b/git/test/test_base.py
index c17e04e7..22006470 100644
--- a/git/test/test_base.py
+++ b/git/test/test_base.py
@@ -7,6 +7,7 @@
import os
import sys
import tempfile
+from unittest import skipIf
import git.objects.base as base
from git.test.lib import (
@@ -116,6 +117,8 @@ class TestBase(TestBase):
assert rw_remote_repo.config_reader("repository").getboolean("core", "bare")
assert os.path.isdir(os.path.join(rw_repo.working_tree_dir, 'lib'))
+ @skipIf(sys.version_info < (3, ) and os.name == 'nt',
+ "Unicode woes, see https://github.com/gitpython-developers/GitPython/pull/519")
@with_rw_repo('0.1.6')
def test_add_unicode(self, rw_repo):
filename = u"שלום.txt"
diff --git a/git/test/test_git.py b/git/test/test_git.py
index f8318595..935673b1 100644
--- a/git/test/test_git.py
+++ b/git/test/test_git.py
@@ -239,6 +239,8 @@ class TestGit(TestBase):
stdout=subprocess.PIPE,
stderr=subprocess.PIPE,
shell=False,
+ universal_newlines=True,
+ creationflags=Git.CREATE_NO_WINDOW if sys.platform == 'win32' else 0,
)
handle_process_output(proc, counter_stdout, counter_stderr, lambda proc: proc.wait())
diff --git a/git/test/test_util.py b/git/test/test_util.py
index a47697c0..2e53df50 100644
--- a/git/test/test_util.py
+++ b/git/test/test_util.py
@@ -27,6 +27,7 @@ from git.cmd import dashify
from git.compat import string_types
import time
+import sys
class TestIterableMember(object):
@@ -90,7 +91,11 @@ class TestUtils(TestBase):
wait_lock = BlockingLockFile(my_file, 0.05, wait_time)
self.failUnlessRaises(IOError, wait_lock._obtain_lock)
elapsed = time.time() - start
- assert elapsed <= wait_time + 0.02, elapsed # some extra time it may cost
+ # More extra time costs, but...
+ extra_time = 0.2
+ if sys.platform == 'win32':
+ extra_time *= 4
+ self.assertLess(elapsed, wait_time + 0.02)
def test_user_id(self):
assert '@' in get_user_id()