t0033-safe-directory: check the error message without matching the trash dir
Since 8959555cee
(setup_git_directory(): add an owner check for the
top-level directory, 2022-03-02) when git finds itself in a repository
owned by someone else, it aborts with a "fatal: unsafe repository
(<repo path>)" error message and an advice about how to set the
'safe.directory' config variable to mark that repository as safe.
't0033-safe-directory.sh' contains tests that check that this feature
and handling said config work as intended. To ensure that git dies
for the right reason, several of those tests check that its standard
error contains the name of that config variable, but:
- it only appears in the advice part, not in the actual error
message.
- it is interpreted as a regexp by 'grep', so, because of the dot,
it matches the name of the test script and the path of the trash
directory as well. Consequently, these tests could be fooled by
any error message that would happen to include the path of the
test repository.
Tighten these checks to look for "unsafe repository" instead.
Signed-off-by: SZEDER Gábor <szeder.dev@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
6cd33dceed
commit
f62563988f
@ -9,7 +9,7 @@ export GIT_TEST_ASSUME_DIFFERENT_OWNER
|
|||||||
|
|
||||||
expect_rejected_dir () {
|
expect_rejected_dir () {
|
||||||
test_must_fail git status 2>err &&
|
test_must_fail git status 2>err &&
|
||||||
grep "safe.directory" err
|
grep "unsafe repository" err
|
||||||
}
|
}
|
||||||
|
|
||||||
test_expect_success 'safe.directory is not set' '
|
test_expect_success 'safe.directory is not set' '
|
||||||
|
Loading…
Reference in New Issue
Block a user