Increase robustness of tests involving `git`
1. Disable automatic `git commit` GPG-signing, since that requires interaction.
This issue was encountered in practice by me, causing spurious test failures
2. In case path operands could turn out to start with dashes, escape the
operand list with '--'.
diff --git a/tests/check_merge_conflict_test.py b/tests/check_merge_conflict_test.py
index a7dbea3..8141ade 100644
--- a/tests/check_merge_conflict_test.py
+++ b/tests/check_merge_conflict_test.py
@@ -23,23 +23,23 @@
repo2 = tmpdir.join('repo2')
repo2_f1 = repo2.join('f1')
- cmd_output('git', 'init', repo1.strpath)
+ cmd_output('git', 'init', '--', repo1.strpath)
with repo1.as_cwd():
repo1_f1.ensure()
- cmd_output('git', 'add', repo1_f1.strpath)
- cmd_output('git', 'commit', '-m', 'commit1')
+ cmd_output('git', 'add', '--', repo1_f1.strpath)
+ cmd_output('git', 'commit', '--no-gpg-sign', '-m', 'commit1')
cmd_output('git', 'clone', repo1.strpath, repo2.strpath)
# Commit in master
with repo1.as_cwd():
repo1_f1.write('parent\n')
- cmd_output('git', 'commit', '-am', 'master commit2')
+ cmd_output('git', 'commit', '--no-gpg-sign', '-am', 'master commit2')
# Commit in clone and pull
with repo2.as_cwd():
repo2_f1.write('child\n')
- cmd_output('git', 'commit', '-am', 'clone commit2')
+ cmd_output('git', 'commit', '--no-gpg-sign', '-am', 'clone commit2')
cmd_output('git', 'pull', retcode=None)
# We should end up in a merge conflict!
f1 = repo2_f1.read()
@@ -73,21 +73,21 @@
cmd_output('git', 'init', repo1.strpath)
with repo1.as_cwd():
repo1_f1.ensure()
- cmd_output('git', 'add', repo1_f1.strpath)
- cmd_output('git', 'commit', '-m' 'commit1')
+ cmd_output('git', 'add', '--', repo1_f1.strpath)
+ cmd_output('git', 'commit', '--no-gpg-sign', '-m', 'commit1')
cmd_output('git', 'clone', repo1.strpath, repo2.strpath)
# Commit in master
with repo1.as_cwd():
repo1_f1.write('parent\n')
- cmd_output('git', 'commit', '-am', 'master commit2')
+ cmd_output('git', 'commit', '--no-gpg-sign', '-am', 'master commit2')
# Commit in clone and pull without committing
with repo2.as_cwd():
repo2_f2.write('child\n')
- cmd_output('git', 'add', repo2_f2.strpath)
- cmd_output('git', 'commit', '-m', 'clone commit2')
+ cmd_output('git', 'add', '--', repo2_f2.strpath)
+ cmd_output('git', 'commit', '--no-gpg-sign', '-m', 'clone commit2')
cmd_output('git', 'pull', '--no-commit')
# We should end up in a pending merge
assert repo2_f1.read() == 'parent\n'