diff options
author | Junio C Hamano <gitster@pobox.com> | 2018-06-15 20:13:39 +0200 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2018-06-15 20:20:08 +0200 |
commit | 037714252f74ae77e816018e43b2504a1b057246 (patch) | |
tree | b50cad99709711c60d673be889481447226930e3 /t/t7508-status.sh | |
parent | Git 2.17.1 (diff) | |
download | git-037714252f74ae77e816018e43b2504a1b057246.tar.xz git-037714252f74ae77e816018e43b2504a1b057246.zip |
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 |