diff options
author | Kostis Anagnostopoulos <ankostis@gmail.com> | 2016-09-26 12:32:28 +0200 |
---|---|---|
committer | Kostis Anagnostopoulos <ankostis@gmail.com> | 2016-09-26 20:53:48 +0200 |
commit | 7bbaac26906863b9a09158346218457befb2821a (patch) | |
tree | 974f70d101ce4613aecaf793b2b82e72b96cc56c | |
parent | fa70623a651d2a0b227202cad1e526e3eeebfa00 (diff) | |
download | gitpython-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.py | 6 | ||||
-rw-r--r-- | git/test/test_base.py | 3 | ||||
-rw-r--r-- | git/test/test_git.py | 2 | ||||
-rw-r--r-- | git/test/test_util.py | 7 |
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() |