tvl-depot/third_party/git/t/t7518-ident-corner-cases.sh
Vincent Ambo f4609b896f merge(3p/git): Merge git subtree at v2.29.2
This also bumps the stable nixpkgs to 20.09 as of 2020-11-21, because
there is some breakage in the git build related to the netrc
credentials helper which someone has taken care of in nixpkgs.

The stable channel is not used for anything other than git, so this
should be fine.

Change-Id: I3575a19dab09e1e9556cf8231d717de9890484fb
2020-11-21 19:45:56 +01:00

47 lines
1.3 KiB
Bash
Executable file

#!/bin/sh
test_description='corner cases in ident strings'
. ./test-lib.sh
# confirm that we do not segfault _and_ that we do not say "(null)", as
# glibc systems will quietly handle our NULL pointer
#
# Note also that we can't use "env" here because we need to unset a variable,
# and "-u" is not portable.
test_expect_success 'empty name and missing email' '
(
sane_unset GIT_AUTHOR_EMAIL &&
GIT_AUTHOR_NAME= &&
test_must_fail git commit --allow-empty -m foo 2>err &&
test_i18ngrep ! null err
)
'
test_expect_success 'commit rejects all-crud name' '
test_must_fail env GIT_AUTHOR_NAME=" .;<>" \
git commit --allow-empty -m foo
'
# We must test the actual error message here, as an unwanted
# auto-detection could fail for other reasons.
test_expect_success 'empty configured name does not auto-detect' '
(
sane_unset GIT_AUTHOR_NAME &&
test_must_fail \
git -c user.name= commit --allow-empty -m foo 2>err &&
test_i18ngrep "empty ident name" err &&
test_i18ngrep "Author identity unknown" err
)
'
test_expect_success 'empty configured name does not auto-detect for committer' '
(
sane_unset GIT_COMMITTER_NAME &&
test_must_fail \
git -c user.name= commit --allow-empty -m foo 2>err &&
test_i18ngrep "empty ident name" err &&
test_i18ngrep "Committer identity unknown" err
)
'
test_done