tests: fix tests broken under GETTEXT_POISON=YesPlease

The GETTEXT_POISON=YesPlease compile-time testing option added in my
bb946bba76 ("i18n: add GETTEXT_POISON to simulate unfriendly
translator", 2011-02-22) has been slowly bitrotting as strings have
been marked for translation, and new tests have been added without
running it.

I brought this up on the list ("[BUG] test suite broken with
GETTEXT_POISON=YesPlease", [1]) asking whether this mode was useful at
all anymore. At least one person occasionally uses it, and Lars
Schneider offered to change one of the the Travis builds to run in
this mode, so fix up the failing ones.

My test setup runs most of the tests, with the notable exception of
skipping all the p4 tests, so it's possible that there's still some
lurking regressions I haven't fixed.

1. <CACBZZX62+acvi1dpkknadTL827mtCm_QesGSZ=6+UnyeMpg8+Q@mail.gmail.com>

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Ævar Arnfjörð Bjarmason 2017-05-05 18:19:32 +00:00 committed by Junio C Hamano
parent 4fa66c85f1
commit 0d75bfe67b
15 changed files with 38 additions and 34 deletions

View File

@ -75,7 +75,7 @@ check_warning () {
*) echo >&2 "Illegal 1": "$1" ; return false ;;
esac
grep "will be replaced by" "$2" | sed -e "s/\(.*\) in [^ ]*$/\1/" | uniq >"$2".actual
test_cmp "$2".expect "$2".actual
test_i18ncmp "$2".expect "$2".actual
}
commit_check_warn () {

View File

@ -77,7 +77,7 @@ test_with_config () {
test_expect_success 'ignore .git/ with incompatible repository version' '
test_with_config "[core]repositoryformatversion = 999999" 2>err &&
grep "warning:.* Expected git repo version <= [1-9]" err
test_i18ngrep "warning:.* Expected git repo version <= [1-9]" err
'
test_expect_failure 'ignore .git/ with invalid repository version' '

View File

@ -122,7 +122,7 @@ test_expect_success 'push cannot create a badly named ref' '
! grep -e "broken\.\.\.ref" output
'
test_expect_failure 'push --mirror can delete badly named ref' '
test_expect_failure C_LOCALE_OUTPUT 'push --mirror can delete badly named ref' '
top=$(pwd) &&
git init src &&
git init dest &&

View File

@ -236,7 +236,7 @@ test_expect_success 'git branch --format option' '
Refname is refs/heads/ref-to-remote
EOF
git branch --format="Refname is %(refname)" >actual &&
test_cmp expect actual
test_i18ncmp expect actual
'
test_done

View File

@ -366,7 +366,7 @@ test_expect_success 'verbose flag is heeded, even after --continue' '
grep "^ file1 | 2 +-$" output
'
test_expect_success 'multi-squash only fires up editor once' '
test_expect_success C_LOCALE_OUTPUT 'multi-squash only fires up editor once' '
base=$(git rev-parse HEAD~4) &&
set_fake_editor &&
FAKE_COMMIT_AMEND="ONCE" FAKE_LINES="1 squash 2 squash 3 squash 4" \
@ -376,7 +376,7 @@ test_expect_success 'multi-squash only fires up editor once' '
test 1 = $(git show | grep ONCE | wc -l)
'
test_expect_success 'multi-fixup does not fire up editor' '
test_expect_success C_LOCALE_OUTPUT 'multi-fixup does not fire up editor' '
git checkout -b multi-fixup E &&
base=$(git rev-parse HEAD~4) &&
set_fake_editor &&
@ -426,7 +426,7 @@ D
ONCE
EOF
test_expect_success 'squash and fixup generate correct log messages' '
test_expect_success C_LOCALE_OUTPUT 'squash and fixup generate correct log messages' '
git checkout -b squash-fixup E &&
base=$(git rev-parse HEAD~4) &&
set_fake_editor &&
@ -439,7 +439,7 @@ test_expect_success 'squash and fixup generate correct log messages' '
git branch -D squash-fixup
'
test_expect_success 'squash ignores comments' '
test_expect_success C_LOCALE_OUTPUT 'squash ignores comments' '
git checkout -b skip-comments E &&
base=$(git rev-parse HEAD~4) &&
set_fake_editor &&
@ -452,7 +452,7 @@ test_expect_success 'squash ignores comments' '
git branch -D skip-comments
'
test_expect_success 'squash ignores blank lines' '
test_expect_success C_LOCALE_OUTPUT 'squash ignores blank lines' '
git checkout -b skip-blank-lines E &&
base=$(git rev-parse HEAD~4) &&
set_fake_editor &&
@ -860,7 +860,7 @@ test_expect_success 'rebase -ix with several instances of --exec' '
test_cmp expected actual
'
test_expect_success 'rebase -ix with --autosquash' '
test_expect_success C_LOCALE_OUTPUT 'rebase -ix with --autosquash' '
git reset --hard execute &&
git checkout -b autosquash &&
echo second >second.txt &&
@ -943,7 +943,7 @@ test_expect_success 'rebase -i --root fixup root commit' '
test 0 = $(git cat-file commit HEAD | grep -c ^parent\ )
'
test_expect_success 'rebase --edit-todo does not works on non-interactive rebase' '
test_expect_success C_LOCALE_OUTPUT 'rebase --edit-todo does not work on non-interactive rebase' '
git reset --hard &&
git checkout conflict-branch &&
set_fake_editor &&

View File

@ -234,23 +234,23 @@ test_auto_fixup_fixup () {
fi
}
test_expect_success 'fixup! fixup!' '
test_expect_success C_LOCALE_OUTPUT 'fixup! fixup!' '
test_auto_fixup_fixup fixup fixup
'
test_expect_success 'fixup! squash!' '
test_expect_success C_LOCALE_OUTPUT 'fixup! squash!' '
test_auto_fixup_fixup fixup squash
'
test_expect_success 'squash! squash!' '
test_expect_success C_LOCALE_OUTPUT 'squash! squash!' '
test_auto_fixup_fixup squash squash
'
test_expect_success 'squash! fixup!' '
test_expect_success C_LOCALE_OUTPUT 'squash! fixup!' '
test_auto_fixup_fixup squash fixup
'
test_expect_success 'autosquash with custom inst format' '
test_expect_success C_LOCALE_OUTPUT 'autosquash with custom inst format' '
git reset --hard base &&
git config --add rebase.instructionFormat "[%an @ %ar] %s" &&
echo 2 >file1 &&

View File

@ -865,7 +865,7 @@ test_expect_success 'stash push -p with pathspec shows no changes only once' '
git stash push -p foo >actual &&
echo "No local changes to save" >expect &&
git reset --hard HEAD~ &&
test_cmp expect actual
test_i18ncmp expect actual
'
test_expect_success 'stash push with pathspec shows no changes when there are none' '
@ -875,7 +875,7 @@ test_expect_success 'stash push with pathspec shows no changes when there are no
git stash push foo >actual &&
echo "No local changes to save" >expect &&
git reset --hard HEAD~ &&
test_cmp expect actual
test_i18ncmp expect actual
'
test_expect_success 'stash push with pathspec not in the repository errors out' '

View File

@ -126,12 +126,12 @@ test_expect_success 'NUL separation with --stat' '
test_i18ncmp expected actual
'
test_expect_failure 'NUL termination with --stat' '
test_expect_failure C_LOCALE_OUTPUT 'NUL termination with --stat' '
stat0_part=$(git diff --stat HEAD^ HEAD) &&
stat1_part=$(git diff-tree --no-commit-id --stat --root HEAD^) &&
printf "add bar\n$stat0_part\n\0$(commit_msg)\n$stat1_part\n0" >expected &&
git log -z --stat --pretty="tformat:%s" >actual &&
test_i18ncmp expected actual
test_cmp expected actual
'
test_expect_success 'setup more commits' '

View File

@ -82,12 +82,16 @@ test_expect_success 'packing produces a long delta' '
# Use --window=0 to make sure we are seeing reused deltas,
# not computing a new long chain.
pack=$(git pack-objects --all --window=0 </dev/null pack) &&
test 9 = "$(max_chain pack-$pack.pack)"
echo 9 >expect &&
max_chain pack-$pack.pack >actual &&
test_i18ncmp expect actual
'
test_expect_success '--depth limits depth' '
pack=$(git pack-objects --all --depth=5 </dev/null pack) &&
test 5 = "$(max_chain pack-$pack.pack)"
echo 5 >expect &&
max_chain pack-$pack.pack >actual &&
test_i18ncmp expect actual
'
test_done

View File

@ -21,7 +21,7 @@ EOF
test_expect_success 'error message for path inside submodule' '
echo a >sub/a &&
test_must_fail git add sub/a 2>actual &&
test_cmp expect actual
test_i18ncmp expect actual
'
cat <<EOF >expect
@ -30,7 +30,7 @@ EOF
test_expect_success 'error message for path inside submodule from within submodule' '
test_must_fail git -C sub add . 2>actual &&
test_cmp expect actual
test_i18ncmp expect actual
'
test_done

View File

@ -87,7 +87,7 @@ test_expect_success 'creating a tag with --create-reflog should create reflog' '
git tag --create-reflog tag_with_reflog &&
git reflog exists refs/tags/tag_with_reflog &&
sed -e "s/^.* //" .git/logs/refs/tags/tag_with_reflog >actual &&
test_cmp expected actual
test_i18ncmp expected actual
'
test_expect_success 'annotated tag with --create-reflog has correct message' '
@ -98,7 +98,7 @@ test_expect_success 'annotated tag with --create-reflog has correct message' '
git tag -m "annotated tag" --create-reflog tag_with_reflog &&
git reflog exists refs/tags/tag_with_reflog &&
sed -e "s/^.* //" .git/logs/refs/tags/tag_with_reflog >actual &&
test_cmp expected actual
test_i18ncmp expected actual
'
test_expect_success '--create-reflog does not create reflog on failure' '

View File

@ -447,7 +447,7 @@ test_expect_success 'submodule update - command run for initial population of su
EOF
rm -rf super/submodule &&
test_must_fail git -C super submodule update 2>actual &&
test_cmp expect actual &&
test_i18ncmp expect actual &&
git -C super submodule update --checkout
'

View File

@ -360,7 +360,7 @@ EOF
test_expect_success 'status -s -b' '
git status -s -b >output &&
test_cmp expect output
test_i18ncmp expect output
'
@ -370,7 +370,7 @@ test_expect_success 'status -s -z -b' '
git status -s -z -b >output &&
nul_to_q <output >output.q &&
mv output.q output &&
test_cmp expect output
test_i18ncmp expect output
'
test_expect_success 'setup dir3' '
@ -687,7 +687,7 @@ EOF
test_expect_success 'status -s -b with color.status' '
git status -s -b | test_decode_color >output &&
test_cmp expect output
test_i18ncmp expect output
'

View File

@ -101,7 +101,7 @@ test_expect_success '--amend option with empty author' '
echo "Empty author test" >>foo &&
test_tick &&
test_must_fail git commit -a -m "empty author" --amend 2>err &&
grep "empty ident" err
test_i18ngrep "empty ident" err
'
test_expect_success '--amend option with missing author' '
@ -114,7 +114,7 @@ test_expect_success '--amend option with missing author' '
echo "Missing author test" >>foo &&
test_tick &&
test_must_fail git commit -a -m "malformed author" --amend 2>err &&
grep "empty ident" err
test_i18ngrep "empty ident" err
'
test_expect_success '--reset-author makes the commit ours even with --amend option' '

View File

@ -25,14 +25,14 @@ prompt_given ()
test_expect_success 'basic usage requires no repo' '
test_expect_code 129 git difftool -h >output &&
grep ^usage: output &&
test_i18ngrep ^usage: output &&
# create a ceiling directory to prevent Git from finding a repo
mkdir -p not/repo &&
test_when_finished rm -r not &&
test_expect_code 129 \
env GIT_CEILING_DIRECTORIES="$(pwd)/not" \
git -C not/repo difftool -h >output &&
grep ^usage: output
test_i18ngrep ^usage: output
'
# Create a file on master and change it on branch