提交 6c940eb9 编写于 作者: J Junio C Hamano

Merge branch 'ab/fix-poison-tests' into maint

Update tests to pass under GETTEXT_POISON (a mechanism to ensure
that output strings that should not be translated are not
translated by mistake), and tell TravisCI to run them.

* ab/fix-poison-tests:
  travis-ci: add job to run tests with GETTEXT_POISON
  travis-ci: setup "prove cache" in "script" step
  tests: fix tests broken under GETTEXT_POISON=YesPlease
...@@ -39,6 +39,11 @@ env: ...@@ -39,6 +39,11 @@ env:
matrix: matrix:
include: include:
- env: GETTEXT_POISON=YesPlease
os: linux
compiler:
addons:
before_install:
- env: Windows - env: Windows
os: linux os: linux
compiler: compiler:
...@@ -134,12 +139,14 @@ before_install: ...@@ -134,12 +139,14 @@ before_install:
p4 -V | grep Rev.; p4 -V | grep Rev.;
echo "$(tput setaf 6)Git-LFS Version$(tput sgr0)"; echo "$(tput setaf 6)Git-LFS Version$(tput sgr0)";
git-lfs version; git-lfs version;
mkdir -p $HOME/travis-cache;
ln -s $HOME/travis-cache/.prove t/.prove;
before_script: make --jobs=2 before_script: make --jobs=2
script: make --quiet test script:
- >
mkdir -p $HOME/travis-cache;
ln -s $HOME/travis-cache/.prove t/.prove;
make --quiet test;
after_failure: after_failure:
- > - >
......
...@@ -75,7 +75,7 @@ check_warning () { ...@@ -75,7 +75,7 @@ check_warning () {
*) echo >&2 "Illegal 1": "$1" ; return false ;; *) echo >&2 "Illegal 1": "$1" ; return false ;;
esac esac
grep "will be replaced by" "$2" | sed -e "s/\(.*\) in [^ ]*$/\1/" | uniq >"$2".actual 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 () { commit_check_warn () {
......
...@@ -77,7 +77,7 @@ test_with_config () { ...@@ -77,7 +77,7 @@ test_with_config () {
test_expect_success 'ignore .git/ with incompatible repository version' ' test_expect_success 'ignore .git/ with incompatible repository version' '
test_with_config "[core]repositoryformatversion = 999999" 2>err && 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' ' test_expect_failure 'ignore .git/ with invalid repository version' '
......
...@@ -122,7 +122,7 @@ test_expect_success 'push cannot create a badly named ref' ' ...@@ -122,7 +122,7 @@ test_expect_success 'push cannot create a badly named ref' '
! grep -e "broken\.\.\.ref" output ! 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) && top=$(pwd) &&
git init src && git init src &&
git init dest && git init dest &&
......
...@@ -236,7 +236,7 @@ test_expect_success 'git branch --format option' ' ...@@ -236,7 +236,7 @@ test_expect_success 'git branch --format option' '
Refname is refs/heads/ref-to-remote Refname is refs/heads/ref-to-remote
EOF EOF
git branch --format="Refname is %(refname)" >actual && git branch --format="Refname is %(refname)" >actual &&
test_cmp expect actual test_i18ncmp expect actual
' '
test_done test_done
...@@ -366,7 +366,7 @@ test_expect_success 'verbose flag is heeded, even after --continue' ' ...@@ -366,7 +366,7 @@ test_expect_success 'verbose flag is heeded, even after --continue' '
grep "^ file1 | 2 +-$" output 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) && base=$(git rev-parse HEAD~4) &&
set_fake_editor && set_fake_editor &&
FAKE_COMMIT_AMEND="ONCE" FAKE_LINES="1 squash 2 squash 3 squash 4" \ 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' ' ...@@ -376,7 +376,7 @@ test_expect_success 'multi-squash only fires up editor once' '
test 1 = $(git show | grep ONCE | wc -l) 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 && git checkout -b multi-fixup E &&
base=$(git rev-parse HEAD~4) && base=$(git rev-parse HEAD~4) &&
set_fake_editor && set_fake_editor &&
...@@ -426,7 +426,7 @@ D ...@@ -426,7 +426,7 @@ D
ONCE ONCE
EOF 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 && git checkout -b squash-fixup E &&
base=$(git rev-parse HEAD~4) && base=$(git rev-parse HEAD~4) &&
set_fake_editor && set_fake_editor &&
...@@ -439,7 +439,7 @@ test_expect_success 'squash and fixup generate correct log messages' ' ...@@ -439,7 +439,7 @@ test_expect_success 'squash and fixup generate correct log messages' '
git branch -D squash-fixup 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 && git checkout -b skip-comments E &&
base=$(git rev-parse HEAD~4) && base=$(git rev-parse HEAD~4) &&
set_fake_editor && set_fake_editor &&
...@@ -452,7 +452,7 @@ test_expect_success 'squash ignores comments' ' ...@@ -452,7 +452,7 @@ test_expect_success 'squash ignores comments' '
git branch -D skip-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 && git checkout -b skip-blank-lines E &&
base=$(git rev-parse HEAD~4) && base=$(git rev-parse HEAD~4) &&
set_fake_editor && set_fake_editor &&
...@@ -860,7 +860,7 @@ test_expect_success 'rebase -ix with several instances of --exec' ' ...@@ -860,7 +860,7 @@ test_expect_success 'rebase -ix with several instances of --exec' '
test_cmp expected actual 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 reset --hard execute &&
git checkout -b autosquash && git checkout -b autosquash &&
echo second >second.txt && echo second >second.txt &&
...@@ -943,7 +943,7 @@ test_expect_success 'rebase -i --root fixup root commit' ' ...@@ -943,7 +943,7 @@ test_expect_success 'rebase -i --root fixup root commit' '
test 0 = $(git cat-file commit HEAD | grep -c ^parent\ ) 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 reset --hard &&
git checkout conflict-branch && git checkout conflict-branch &&
set_fake_editor && set_fake_editor &&
......
...@@ -234,23 +234,23 @@ test_auto_fixup_fixup () { ...@@ -234,23 +234,23 @@ test_auto_fixup_fixup () {
fi fi
} }
test_expect_success 'fixup! fixup!' ' test_expect_success C_LOCALE_OUTPUT 'fixup! fixup!' '
test_auto_fixup_fixup 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_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_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_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 reset --hard base &&
git config --add rebase.instructionFormat "[%an @ %ar] %s" && git config --add rebase.instructionFormat "[%an @ %ar] %s" &&
echo 2 >file1 && echo 2 >file1 &&
......
...@@ -865,7 +865,7 @@ test_expect_success 'stash push -p with pathspec shows no changes only once' ' ...@@ -865,7 +865,7 @@ test_expect_success 'stash push -p with pathspec shows no changes only once' '
git stash push -p foo >actual && git stash push -p foo >actual &&
echo "No local changes to save" >expect && echo "No local changes to save" >expect &&
git reset --hard HEAD~ && 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' ' 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 ...@@ -875,7 +875,7 @@ test_expect_success 'stash push with pathspec shows no changes when there are no
git stash push foo >actual && git stash push foo >actual &&
echo "No local changes to save" >expect && echo "No local changes to save" >expect &&
git reset --hard HEAD~ && 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' ' test_expect_success 'stash push with pathspec not in the repository errors out' '
......
...@@ -126,12 +126,12 @@ test_expect_success 'NUL separation with --stat' ' ...@@ -126,12 +126,12 @@ test_expect_success 'NUL separation with --stat' '
test_i18ncmp expected actual 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) && stat0_part=$(git diff --stat HEAD^ HEAD) &&
stat1_part=$(git diff-tree --no-commit-id --stat --root 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 && printf "add bar\n$stat0_part\n\0$(commit_msg)\n$stat1_part\n0" >expected &&
git log -z --stat --pretty="tformat:%s" >actual && git log -z --stat --pretty="tformat:%s" >actual &&
test_i18ncmp expected actual test_cmp expected actual
' '
test_expect_success 'setup more commits' ' test_expect_success 'setup more commits' '
......
...@@ -82,12 +82,16 @@ test_expect_success 'packing produces a long delta' ' ...@@ -82,12 +82,16 @@ test_expect_success 'packing produces a long delta' '
# Use --window=0 to make sure we are seeing reused deltas, # Use --window=0 to make sure we are seeing reused deltas,
# not computing a new long chain. # not computing a new long chain.
pack=$(git pack-objects --all --window=0 </dev/null pack) && 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' ' test_expect_success '--depth limits depth' '
pack=$(git pack-objects --all --depth=5 </dev/null pack) && 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 test_done
...@@ -21,7 +21,7 @@ EOF ...@@ -21,7 +21,7 @@ EOF
test_expect_success 'error message for path inside submodule' ' test_expect_success 'error message for path inside submodule' '
echo a >sub/a && echo a >sub/a &&
test_must_fail git add sub/a 2>actual && test_must_fail git add sub/a 2>actual &&
test_cmp expect actual test_i18ncmp expect actual
' '
cat <<EOF >expect cat <<EOF >expect
...@@ -30,7 +30,7 @@ EOF ...@@ -30,7 +30,7 @@ EOF
test_expect_success 'error message for path inside submodule from within submodule' ' test_expect_success 'error message for path inside submodule from within submodule' '
test_must_fail git -C sub add . 2>actual && test_must_fail git -C sub add . 2>actual &&
test_cmp expect actual test_i18ncmp expect actual
' '
test_done test_done
...@@ -87,7 +87,7 @@ test_expect_success 'creating a tag with --create-reflog should create reflog' ' ...@@ -87,7 +87,7 @@ test_expect_success 'creating a tag with --create-reflog should create reflog' '
git tag --create-reflog tag_with_reflog && git tag --create-reflog tag_with_reflog &&
git reflog exists refs/tags/tag_with_reflog && git reflog exists refs/tags/tag_with_reflog &&
sed -e "s/^.* //" .git/logs/refs/tags/tag_with_reflog >actual && 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' ' 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' ' ...@@ -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 tag -m "annotated tag" --create-reflog tag_with_reflog &&
git reflog exists refs/tags/tag_with_reflog && git reflog exists refs/tags/tag_with_reflog &&
sed -e "s/^.* //" .git/logs/refs/tags/tag_with_reflog >actual && 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' ' test_expect_success '--create-reflog does not create reflog on failure' '
......
...@@ -447,7 +447,7 @@ test_expect_success 'submodule update - command run for initial population of su ...@@ -447,7 +447,7 @@ test_expect_success 'submodule update - command run for initial population of su
EOF EOF
rm -rf super/submodule && rm -rf super/submodule &&
test_must_fail git -C super submodule update 2>actual && test_must_fail git -C super submodule update 2>actual &&
test_cmp expect actual && test_i18ncmp expect actual &&
git -C super submodule update --checkout git -C super submodule update --checkout
' '
......
...@@ -360,7 +360,7 @@ EOF ...@@ -360,7 +360,7 @@ EOF
test_expect_success 'status -s -b' ' test_expect_success 'status -s -b' '
git status -s -b >output && git status -s -b >output &&
test_cmp expect output test_i18ncmp expect output
' '
...@@ -370,7 +370,7 @@ test_expect_success 'status -s -z -b' ' ...@@ -370,7 +370,7 @@ test_expect_success 'status -s -z -b' '
git status -s -z -b >output && git status -s -z -b >output &&
nul_to_q <output >output.q && nul_to_q <output >output.q &&
mv output.q output && mv output.q output &&
test_cmp expect output test_i18ncmp expect output
' '
test_expect_success 'setup dir3' ' test_expect_success 'setup dir3' '
...@@ -687,7 +687,7 @@ EOF ...@@ -687,7 +687,7 @@ EOF
test_expect_success 'status -s -b with color.status' ' test_expect_success 'status -s -b with color.status' '
git status -s -b | test_decode_color >output && git status -s -b | test_decode_color >output &&
test_cmp expect output test_i18ncmp expect output
' '
......
...@@ -101,7 +101,7 @@ test_expect_success '--amend option with empty author' ' ...@@ -101,7 +101,7 @@ test_expect_success '--amend option with empty author' '
echo "Empty author test" >>foo && echo "Empty author test" >>foo &&
test_tick && test_tick &&
test_must_fail git commit -a -m "empty author" --amend 2>err && 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' ' test_expect_success '--amend option with missing author' '
...@@ -114,7 +114,7 @@ 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 && echo "Missing author test" >>foo &&
test_tick && test_tick &&
test_must_fail git commit -a -m "malformed author" --amend 2>err && 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' ' test_expect_success '--reset-author makes the commit ours even with --amend option' '
......
...@@ -25,14 +25,14 @@ prompt_given () ...@@ -25,14 +25,14 @@ prompt_given ()
test_expect_success 'basic usage requires no repo' ' test_expect_success 'basic usage requires no repo' '
test_expect_code 129 git difftool -h >output && 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 # create a ceiling directory to prevent Git from finding a repo
mkdir -p not/repo && mkdir -p not/repo &&
test_when_finished rm -r not && test_when_finished rm -r not &&
test_expect_code 129 \ test_expect_code 129 \
env GIT_CEILING_DIRECTORIES="$(pwd)/not" \ env GIT_CEILING_DIRECTORIES="$(pwd)/not" \
git -C not/repo difftool -h >output && git -C not/repo difftool -h >output &&
grep ^usage: output test_i18ngrep ^usage: output
' '
# Create a file on master and change it on branch # Create a file on master and change it on branch
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册