]> git.ipfire.org Git - thirdparty/git.git/commitdiff
config tests: fix harmless but broken "rm -r" cleanup
authorÆvar Arnfjörð Bjarmason <avarab@gmail.com>
Thu, 30 Jun 2022 10:18:36 +0000 (12:18 +0200)
committerJunio C Hamano <gitster@pobox.com>
Thu, 30 Jun 2022 20:48:29 +0000 (13:48 -0700)
The "test_when_finished" cleanup phase added in 4179b4897f2 (config:
allow overriding of global and system configuration, 2021-04-19) has
never worked as intended, firstly the ".config/git" is a directory, so
we'd need the "-r" flag, but more importantly the $HOME variable
wasn't properly quoted.

We'd thus end up trying to remove the "trash" part of "trash
directory", which wouldn't fail with "-f", since "rm -f" won't fail on
non-existing files.

It's possible that this would have caused an actual failure if someone
had a $HOME with a space character in it, such that our "rm -f" would
fail to remove an existing directory, but in practice that probably
never happened.

Let's fix both the quoting issue, and the other issue cleanup issue in
4179b4897f2, which is that we were attempting to clean up
~/.config/git, but weren't cleaing up ~/.gitconfig.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
t/t1300-config.sh

index d3d9adbb3dba675ea6b22d7006faa4884315f4ae..c6661e61af55219b73a20262aad5106bf203c3e2 100755 (executable)
@@ -2083,12 +2083,13 @@ test_expect_success '--show-scope with --show-origin' '
 '
 
 test_expect_success 'override global and system config' '
-       test_when_finished rm -f "$HOME"/.config/git &&
-
+       test_when_finished rm -f \"\$HOME\"/.gitconfig &&
        cat >"$HOME"/.gitconfig <<-EOF &&
        [home]
                config = true
        EOF
+
+       test_when_finished rm -rf \"\$HOME\"/.config/git &&
        mkdir -p "$HOME"/.config/git &&
        cat >"$HOME"/.config/git/config <<-EOF &&
        [xdg]