diff options
Diffstat (limited to 'git/test')
-rw-r--r-- | git/test/test_docs.py | 2 | ||||
-rw-r--r-- | git/test/test_git.py | 23 |
2 files changed, 20 insertions, 5 deletions
diff --git a/git/test/test_docs.py b/git/test/test_docs.py index 965d10fb..175e728a 100644 --- a/git/test/test_docs.py +++ b/git/test/test_docs.py @@ -440,7 +440,7 @@ class Tutorials(TestBase): # [32-test_references_and_objects] private_key_file = os.path.join(rw_dir, 'id_rsa_deployment_key') with repo.git.sshkey(private_key_file): - # Note that we don't actually make the call here, as our test-setup doesn't permit it to + # Note that we don't actually make the call here, as our test-setup doesn't permit it to # succeed. # It will in your case :) repo.remotes.origin.fetch diff --git a/git/test/test_git.py b/git/test/test_git.py index 990f4cd0..18acd77e 100644 --- a/git/test/test_git.py +++ b/git/test/test_git.py @@ -181,11 +181,26 @@ class TestGit(TestBase): assert new_env == {'VARKEY': 'VARVALUE'} assert self.git.environment() == {} - rw_repo = Repo.init(os.path.join(rw_dir, 'repo')) + class TestRepo(Repo): + class GitCommandWrapperType(Git): + def _sshkey_script_path(self): + path = os.path.join(rw_dir, 'failing-script.sh') + stream = open(path, 'wt') + stream.write("#!/usr/bin/env sh\n" + + "echo FOO\n") + stream.close() + os.chmod(path, 0o555) + return path + # end Git + # end Repo + + rw_repo = TestRepo.init(os.path.join(rw_dir, 'repo')) remote = rw_repo.create_remote('ssh-origin', "ssh://git@server/foo") with rw_repo.git.sshkey('doesntexist.key'): - remote.fetch() + try: + remote.fetch() + except GitCommandError as err: + assert 'FOO' in str(err) + # end # end - - |