From 982eefb2008826604d54c1a6622c12240efb0961 Mon Sep 17 00:00:00 2001 From: Sebastian Thiel Date: Wed, 10 Jun 2015 15:10:27 +0200 Subject: fix(test_git): handle `select.poll()` missing In that case, the handler for processing stdout and stderr of the git process is offloaded to threads. These currently don't return any exception they raise. We could easily fix this using an approach as shown [here](http://goo.gl/hnVax6). --- git/test/test_git.py | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/git/test/test_git.py b/git/test/test_git.py index 742c842d..a4172f7a 100644 --- a/git/test/test_git.py +++ b/git/test/test_git.py @@ -192,10 +192,14 @@ class TestGit(TestBase): rw_repo = Repo.init(os.path.join(rw_dir, 'repo')) remote = rw_repo.create_remote('ssh-origin', "ssh://git@server/foo") - with rw_repo.git.custom_environment(GIT_SSH=path): - try: - remote.fetch() - except GitCommandError as err: - assert 'FOO' in str(err) + # This only works if we are not evaluating git-push/pull output in a thread ! + import select + if hasattr(select, 'poll'): + with rw_repo.git.custom_environment(GIT_SSH=path): + try: + remote.fetch() + except GitCommandError as err: + assert 'FOO' in str(err) + # end # end - # end + # end if select.poll exists -- cgit v1.2.3