diff options
author | Junio C Hamano <gitster@pobox.com> | 2018-06-15 21:13:39 +0300 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2018-06-15 21:20:08 +0300 |
commit | 037714252f74ae77e816018e43b2504a1b057246 (patch) | |
tree | b50cad99709711c60d673be889481447226930e3 /t/t7508-status.sh | |
parent | fc54c1af3ec09bab8b8ea09768c2da4069b7f53e (diff) |
tests: clean after SANITY tests
Some of our tests try to make sure Git behaves sensibly in a
read-only directory, by dropping 'w' permission bit before doing a
test and then restoring it after it is done. The latter is needed
for the test framework to clean after itself without leaving a
leftover directory that cannot be removed.
Ancient parts of tests however arrange the above with
chmod a-w . &&
... do the test ...
status=$?
chmod 775 .
(exit $status)
which obviously would not work if the test somehow dies before it
has the chance to do "chmod 775". Rewrite them by following a more
robust pattern recently written tests use, which is
test_when_finished "chmod 775 ." &&
chmod a-w . &&
... do the test ...
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't/t7508-status.sh')
-rwxr-xr-x | t/t7508-status.sh | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/t/t7508-status.sh b/t/t7508-status.sh index 50052e2872..10b084d890 100755 --- a/t/t7508-status.sh +++ b/t/t7508-status.sh @@ -1099,6 +1099,7 @@ EOF ' test_expect_success POSIXPERM,SANITY 'status succeeds in a read-only repository' ' + test_when_finished "chmod 775 .git" && ( chmod a-w .git && # make dir1/tracked stat-dirty @@ -1108,9 +1109,6 @@ test_expect_success POSIXPERM,SANITY 'status succeeds in a read-only repository' # make sure "status" succeeded without writing index out git diff-files | grep dir1/tracked ) - status=$? - chmod 775 .git - (exit $status) ' (cd sm && echo > bar && git add bar && git commit -q -m 'Add bar') && git add sm |