Subject: [PATCH 3/3] gettext: add NO_GETTEXT_POISON prerequisite to tests

From: Ævar Arnfjörð Bjarmason <[email-masked]>
Date: Fri, 3 Sep 2010 23:24:56 +0000

Change the tests that depend on the output of the porcelain to only
run if the NO_GETTEXT_POISON prerequisite is set. These will always
fail under GETTEXT_POISON=YesPlease.

I've manually inspected all of these and determined that they aren't
plumbing output.

Signed-off-by: Ævar Arnfjörð Bjarmason <[email-masked]>
---
 t/lib-gettext.sh              |   10 +++-
 t/lib-httpd.sh                |    2 +-
 t/t0001-init.sh               |    2 +-
 t/t1200-tutorial.sh           |    4 +-
 t/t2200-add-update.sh         |    2 +-
 t/t2204-add-ignored.sh        |    8 ++--
 t/t3030-merge-recursive.sh    |    2 +-
 t/t3200-branch.sh             |    2 +-
 t/t3203-branch-output.sh      |    2 +-
 t/t3700-add.sh                |    4 +-
 t/t4001-diff-rename.sh        |    4 +-
 t/t4014-format-patch.sh       |    2 +-
 t/t5541-http-push.sh          |    2 +-
 t/t5601-clone.sh              |    2 +-
 t/t6040-tracking-info.sh      |    2 +-
 t/t6200-fmt-merge-msg.sh      |   28 ++++++------
 t/t7004-tag.sh                |    6 ++-
 t/t7060-wtstatus.sh           |    2 +-
 t/t7102-reset.sh              |    2 +-
 t/t7110-reset-merge.sh        |    6 +-
 t/t7201-co.sh                 |   10 ++--
 t/t7500-commit.sh             |    9 +++-
 t/t7501-commit.sh             |   16 +++++--
 t/t7502-commit.sh             |   46 ++++++++++----------
 t/t7506-status-submodule.sh   |   28 ++++++------
 t/t7508-status.sh             |   98 ++++++++++++++++++++--------------------
 t/t7600-merge.sh              |    2 +-
 t/t7602-merge-octopus-many.sh |    6 +-
 t/t7811-grep-open.sh          |    2 +-
 29 files changed, 165 insertions(+), 146 deletions(-)

diff --git a/t/lib-gettext.sh b/t/lib-gettext.sh
index 4570ead..c9a079e 100644
--- a/t/lib-gettext.sh
+++ b/t/lib-gettext.sh
@@ -11,7 +11,7 @@ export GIT_TEXTDOMAINDIR GIT_PO_PATH
 
 . "$GIT_BUILD_DIR"/git-sh-i18n
 
-if test_have_prereq GETTEXT
+if test_have_prereq GETTEXT && test_have_prereq NO_GETTEXT_POISON
 then
 	# is_IS.UTF-8 on Solaris and FreeBSD, is_IS.utf8 on Debian
 	is_IS_locale=$(locale -a | sed -n '/^is_IS\.[uU][tT][fF]-*8$/{
@@ -58,5 +58,11 @@ then
 else
 	# Only run some tests when we don't have gettext support
 	test_set_prereq NO_GETTEXT
-	say "# lib-gettext: No GETTEXT support available"
+
+	if test_have_prereq NO_GETTEXT_POISON
+	then
+		say "# lib-gettext: GETTEXT_POISON defined, can't test gettext"
+	else
+		say "# lib-gettext: No GETTEXT support available"
+	fi
 fi
diff --git a/t/lib-httpd.sh b/t/lib-httpd.sh
index e733f65..817b865 100644
--- a/t/lib-httpd.sh
+++ b/t/lib-httpd.sh
@@ -154,7 +154,7 @@ test_http_push_nonff() {
 		grep "^ ! \[rejected\][ ]*$BRANCH -> $BRANCH (non-fast-forward)$" output
 	'
 
-	test_expect_success 'non-fast-forward push shows help message' '
+	test_expect_success NO_GETTEXT_POISON 'non-fast-forward push shows help message' '
 		grep "To prevent you from losing history, non-fast-forward updates were rejected" \
 			output
 	'
diff --git a/t/t0001-init.sh b/t/t0001-init.sh
index 7c0a698..1fa4c46 100755
--- a/t/t0001-init.sh
+++ b/t/t0001-init.sh
@@ -124,7 +124,7 @@ test_expect_success 'GIT_DIR & GIT_WORK_TREE (2)' '
 	fi
 '
 
-test_expect_success 'reinit' '
+test_expect_success NO_GETTEXT_POISON 'reinit' '
 
 	(
 		unset GIT_CONFIG GIT_WORK_TREE GIT_CONFIG
diff --git a/t/t1200-tutorial.sh b/t/t1200-tutorial.sh
index ab55eda..c568e0e 100755
--- a/t/t1200-tutorial.sh
+++ b/t/t1200-tutorial.sh
@@ -163,7 +163,9 @@ test_expect_success 'git resolve' '
 	git checkout mybranch &&
 	git merge -m "Merge upstream changes." master |
 		sed -e "1s/[0-9a-f]\{7\}/VARIABLE/g" \
-		-e "s/^Fast[- ]forward /FASTFORWARD /" >resolve.output &&
+		-e "s/^Fast[- ]forward /FASTFORWARD /" >resolve.output'
+
+test_expect_success NO_GETTEXT_POISON 'git resolve output' '
 	test_cmp resolve.expect resolve.output
 '
 
diff --git a/t/t2200-add-update.sh b/t/t2200-add-update.sh
index 2ad2819..b3b90ca 100755
--- a/t/t2200-add-update.sh
+++ b/t/t2200-add-update.sh
@@ -111,7 +111,7 @@ test_expect_success 'touch and then add explicitly' '
 
 '
 
-test_expect_success 'add -n -u should not add but just report' '
+test_expect_success NO_GETTEXT_POISON 'add -n -u should not add but just report' '
 
 	(
 		echo "add '\''check'\''" &&
diff --git a/t/t2204-add-ignored.sh b/t/t2204-add-ignored.sh
index 24afdab..b7a0d71 100755
--- a/t/t2204-add-ignored.sh
+++ b/t/t2204-add-ignored.sh
@@ -27,7 +27,7 @@ done
 
 for i in ign dir/ign dir/sub dir/sub/*ign sub/file sub sub/*
 do
-	test_expect_success "complaints for ignored $i" '
+	test_expect_success NO_GETTEXT_POISON "complaints for ignored $i" '
 		rm -f .git/index &&
 		test_must_fail git add "$i" 2>err &&
 		git ls-files "$i" >out &&
@@ -36,7 +36,7 @@ do
 		cat err
 	'
 
-	test_expect_success "complaints for ignored $i with unignored file" '
+	test_expect_success NO_GETTEXT_POISON "complaints for ignored $i with unignored file" '
 		rm -f .git/index &&
 		test_must_fail git add "$i" file 2>err &&
 		git ls-files "$i" >out &&
@@ -48,7 +48,7 @@ done
 
 for i in sub sub/*
 do
-	test_expect_success "complaints for ignored $i in dir" '
+	test_expect_success NO_GETTEXT_POISON "complaints for ignored $i in dir" '
 		rm -f .git/index &&
 		(
 			cd dir &&
@@ -63,7 +63,7 @@ done
 
 for i in ign file
 do
-	test_expect_success "complaints for ignored $i in sub" '
+	test_expect_success NO_GETTEXT_POISON "complaints for ignored $i in sub" '
 		rm -f .git/index &&
 		(
 			cd sub &&
diff --git a/t/t3030-merge-recursive.sh b/t/t3030-merge-recursive.sh
index efe2900..b8ddb94 100755
--- a/t/t3030-merge-recursive.sh
+++ b/t/t3030-merge-recursive.sh
@@ -281,7 +281,7 @@ test_expect_success 'merge-recursive result' '
 
 '
 
-test_expect_success 'fail if the index has unresolved entries' '
+test_expect_success NO_GETTEXT_POISON 'fail if the index has unresolved entries' '
 
 	rm -fr [abcd] &&
 	git checkout -f "$c1" &&
diff --git a/t/t3200-branch.sh b/t/t3200-branch.sh
index f54a533..d90d9fd 100755
--- a/t/t3200-branch.sh
+++ b/t/t3200-branch.sh
@@ -192,7 +192,7 @@ test_expect_success 'test deleting branch deletes branch config' \
      test -z "$(git config branch.my7.remote)" &&
      test -z "$(git config branch.my7.merge)"'
 
-test_expect_success 'test deleting branch without config' \
+test_expect_success NO_GETTEXT_POISON 'test deleting branch without config' \
     'git branch my7 s &&
      sha1=$(git rev-parse my7 | cut -c 1-7) &&
      test "$(git branch -d my7 2>&1)" = "Deleted branch my7 (was $sha1)."'
diff --git a/t/t3203-branch-output.sh b/t/t3203-branch-output.sh
index 809d1c4..dfdf5a7 100755
--- a/t/t3203-branch-output.sh
+++ b/t/t3203-branch-output.sh
@@ -72,7 +72,7 @@ cat >expect <<'EOF'
   branch-two
   master
 EOF
-test_expect_success 'git branch shows detached HEAD properly' '
+test_expect_success NO_GETTEXT_POISON 'git branch shows detached HEAD properly' '
 	git checkout HEAD^0 &&
 	git branch >actual &&
 	test_cmp expect actual
diff --git a/t/t3700-add.sh b/t/t3700-add.sh
index 7d7140d..1dae72c 100755
--- a/t/t3700-add.sh
+++ b/t/t3700-add.sh
@@ -266,7 +266,7 @@ test_expect_success 'git add --dry-run of existing changed file' "
 	echo \"add 'track-this'\" | test_cmp - actual
 "
 
-test_expect_success 'git add --dry-run of non-existing file' "
+test_expect_success NO_GETTEXT_POISON 'git add --dry-run of non-existing file' "
 	echo ignored-file >>.gitignore &&
 	test_must_fail git add --dry-run track-this ignored-file >actual 2>&1 &&
 	echo \"fatal: pathspec 'ignored-file' did not match any files\" | test_cmp - actual
@@ -282,7 +282,7 @@ cat >expect.out <<\EOF
 add 'track-this'
 EOF
 
-test_expect_success 'git add --dry-run --ignore-missing of non-existing file' '
+test_expect_success NO_GETTEXT_POISON 'git add --dry-run --ignore-missing of non-existing file' '
 	test_must_fail git add --dry-run --ignore-missing track-this ignored-file >actual.out 2>actual.err &&
 	test_cmp expect.out actual.out &&
 	test_cmp expect.err actual.err
diff --git a/t/t4001-diff-rename.sh b/t/t4001-diff-rename.sh
index 71bac83..d42c077 100755
--- a/t/t4001-diff-rename.sh
+++ b/t/t4001-diff-rename.sh
@@ -64,7 +64,7 @@ test_expect_success \
     'validate the output.' \
     'compare_diff_patch current expected'
 
-test_expect_success 'favour same basenames over different ones' '
+test_expect_success NO_GETTEXT_POISON 'favour same basenames over different ones' '
 	cp path1 another-path &&
 	git add another-path &&
 	git commit -m 1 &&
@@ -73,7 +73,7 @@ test_expect_success 'favour same basenames over different ones' '
 	git mv another-path subdir/path1 &&
 	git status | grep "renamed: .*path1 -> subdir/path1"'
 
-test_expect_success  'favour same basenames even with minor differences' '
+test_expect_success NO_GETTEXT_POISON  'favour same basenames even with minor differences' '
 	git show HEAD:path1 | sed "s/15/16/" > subdir/path1 &&
 	git status | grep "renamed: .*path1 -> subdir/path1"'
 
diff --git a/t/t4014-format-patch.sh b/t/t4014-format-patch.sh
index f87434b..ae3659e 100755
--- a/t/t4014-format-patch.sh
+++ b/t/t4014-format-patch.sh
@@ -592,7 +592,7 @@ echo "fatal: --name-only does not make sense" > expect.name-only
 echo "fatal: --name-status does not make sense" > expect.name-status
 echo "fatal: --check does not make sense" > expect.check
 
-test_expect_success 'options no longer allowed for format-patch' '
+test_expect_success NO_GETTEXT_POISON 'options no longer allowed for format-patch' '
 	test_must_fail git format-patch --name-only 2> output &&
 	test_cmp expect.name-only output &&
 	test_must_fail git format-patch --name-status 2> output &&
diff --git a/t/t5541-http-push.sh b/t/t5541-http-push.sh
index b0c2a2c..670d3de 100755
--- a/t/t5541-http-push.sh
+++ b/t/t5541-http-push.sh
@@ -118,7 +118,7 @@ test_expect_success 'used receive-pack service' '
 test_http_push_nonff "$HTTPD_DOCUMENT_ROOT_PATH"/test_repo.git \
 	"$ROOT_PATH"/test_repo_clone master
 
-test_expect_success 'push fails for non-fast-forward refs unmatched by remote helper' '
+test_expect_success NO_GETTEXT_POISON 'push fails for non-fast-forward refs unmatched by remote helper' '
 	# create a dissimilarly-named remote ref so that git is unable to match the
 	# two refs (viz. local, remote) unless an explicit refspec is provided.
 	git push origin master:retsam
diff --git a/t/t5601-clone.sh b/t/t5601-clone.sh
index 4431dfd..2895900 100755
--- a/t/t5601-clone.sh
+++ b/t/t5601-clone.sh
@@ -31,7 +31,7 @@ test_expect_success 'clone with excess parameters (2)' '
 
 '
 
-test_expect_success 'output from clone' '
+test_expect_success NO_GETTEXT_POISON 'output from clone' '
 	rm -fr dst &&
 	git clone -n "file://$(pwd)/src" dst >output &&
 	test $(grep Clon output | wc -l) = 1
diff --git a/t/t6040-tracking-info.sh b/t/t6040-tracking-info.sh
index 1785e17..c9a86f6 100755
--- a/t/t6040-tracking-info.sh
+++ b/t/t6040-tracking-info.sh
@@ -42,7 +42,7 @@ b3 behind 1
 b4 ahead 2
 EOF
 
-test_expect_success 'branch -v' '
+test_expect_success NO_GETTEXT_POISON 'branch -v' '
 	(
 		cd test &&
 		git branch -v
diff --git a/t/t6200-fmt-merge-msg.sh b/t/t6200-fmt-merge-msg.sh
index 42f8ece..5e35b9f 100755
--- a/t/t6200-fmt-merge-msg.sh
+++ b/t/t6200-fmt-merge-msg.sh
@@ -77,7 +77,7 @@ cat >expected <<\EOF
 Merge branch 'left'
 EOF
 
-test_expect_success 'merge-msg test #1' '
+test_expect_success NO_GETTEXT_POISON 'merge-msg test #1' '
 
 	git checkout master &&
 	git fetch . left &&
@@ -90,7 +90,7 @@ cat >expected <<EOF
 Merge branch 'left' of $(pwd)
 EOF
 
-test_expect_success 'merge-msg test #2' '
+test_expect_success NO_GETTEXT_POISON 'merge-msg test #2' '
 
 	git checkout master &&
 	git fetch "$(pwd)" left &&
@@ -110,7 +110,7 @@ Merge branch 'left'
   Common #1
 EOF
 
-test_expect_success 'merge-msg test #3-1' '
+test_expect_success NO_GETTEXT_POISON 'merge-msg test #3-1' '
 
 	git config --unset-all merge.log
 	git config --unset-all merge.summary
@@ -124,7 +124,7 @@ test_expect_success 'merge-msg test #3-1' '
 	test_cmp expected actual
 '
 
-test_expect_success 'merge-msg test #3-2' '
+test_expect_success NO_GETTEXT_POISON 'merge-msg test #3-2' '
 
 	git config --unset-all merge.log
 	git config --unset-all merge.summary
@@ -156,7 +156,7 @@ Merge branches 'left' and 'right'
   Common #1
 EOF
 
-test_expect_success 'merge-msg test #4-1' '
+test_expect_success NO_GETTEXT_POISON 'merge-msg test #4-1' '
 
 	git config --unset-all merge.log
 	git config --unset-all merge.summary
@@ -170,7 +170,7 @@ test_expect_success 'merge-msg test #4-1' '
 	test_cmp expected actual
 '
 
-test_expect_success 'merge-msg test #4-2' '
+test_expect_success NO_GETTEXT_POISON 'merge-msg test #4-2' '
 
 	git config --unset-all merge.log
 	git config --unset-all merge.summary
@@ -184,7 +184,7 @@ test_expect_success 'merge-msg test #4-2' '
 	test_cmp expected actual
 '
 
-test_expect_success 'merge-msg test #5-1' '
+test_expect_success NO_GETTEXT_POISON 'merge-msg test #5-1' '
 
 	git config --unset-all merge.log
 	git config --unset-all merge.summary
@@ -198,7 +198,7 @@ test_expect_success 'merge-msg test #5-1' '
 	test_cmp expected actual
 '
 
-test_expect_success 'merge-msg test #5-2' '
+test_expect_success NO_GETTEXT_POISON 'merge-msg test #5-2' '
 
 	git config --unset-all merge.log
 	git config --unset-all merge.summary
@@ -212,7 +212,7 @@ test_expect_success 'merge-msg test #5-2' '
 	test_cmp expected actual
 '
 
-test_expect_success 'merge-msg -F' '
+test_expect_success NO_GETTEXT_POISON 'merge-msg -F' '
 
 	git config --unset-all merge.log
 	git config --unset-all merge.summary
@@ -226,7 +226,7 @@ test_expect_success 'merge-msg -F' '
 	test_cmp expected actual
 '
 
-test_expect_success 'merge-msg -F in subdirectory' '
+test_expect_success NO_GETTEXT_POISON 'merge-msg -F in subdirectory' '
 
 	git config --unset-all merge.log
 	git config --unset-all merge.summary
@@ -270,7 +270,7 @@ Merge tag 'tag-r3'
   Common #1
 EOF
 
-test_expect_success 'merge-msg tag' '
+test_expect_success NO_GETTEXT_POISON 'merge-msg tag' '
 
 	git config --unset-all merge.log
 	git config --unset-all merge.summary
@@ -300,7 +300,7 @@ Merge tags 'tag-r3' and 'tag-l5'
   Common #1
 EOF
 
-test_expect_success 'merge-msg two tags' '
+test_expect_success NO_GETTEXT_POISON 'merge-msg two tags' '
 
 	git config --unset-all merge.log
 	git config --unset-all merge.summary
@@ -330,7 +330,7 @@ Merge branch 'left', tag 'tag-r3'
   Common #1
 EOF
 
-test_expect_success 'merge-msg tag and branch' '
+test_expect_success NO_GETTEXT_POISON 'merge-msg tag and branch' '
 
 	git config --unset-all merge.log
 	git config --unset-all merge.summary
@@ -350,7 +350,7 @@ Merge branch 'long'
 * long: (35 commits)
 EOF
 
-test_expect_success 'merge-msg lots of commits' '
+test_expect_success NO_GETTEXT_POISON 'merge-msg lots of commits' '
 
 	git checkout master &&
 	test_tick &&
diff --git a/t/t7004-tag.sh b/t/t7004-tag.sh
index ac943f5..cf40992 100755
--- a/t/t7004-tag.sh
+++ b/t/t7004-tag.sh
@@ -1044,12 +1044,14 @@ test_expect_success GPG \
 	'verify signed tag fails when public key is not present' \
 	'test_must_fail git tag -v signed-tag'
 
-test_expect_success \
+# "POISON" isn't a comment, so skip under GETTEXT_POISON
+test_expect_success NO_GETTEXT_POISON \
 	'git tag -a fails if tag annotation is empty' '
 	! (GIT_EDITOR=cat git tag -a initial-comment)
 '
 
-test_expect_success \
+# Likewise GETTEXT_POISON doesn't emit something that looks like a comment
+test_expect_success NO_GETTEXT_POISON \
 	'message in editor has initial comment' '
 	GIT_EDITOR=cat git tag -a initial-comment > actual
 	# check the first line --- should be empty
diff --git a/t/t7060-wtstatus.sh b/t/t7060-wtstatus.sh
index fcac472..7205154 100755
--- a/t/t7060-wtstatus.sh
+++ b/t/t7060-wtstatus.sh
@@ -38,7 +38,7 @@ cat >expect <<EOF
 no changes added to commit (use "git add" and/or "git commit -a")
 EOF
 
-test_expect_success 'M/D conflict does not segfault' '
+test_expect_success NO_GETTEXT_POISON 'M/D conflict does not segfault' '
 	mkdir mdconflict &&
 	(
 		cd mdconflict &&
diff --git a/t/t7102-reset.sh b/t/t7102-reset.sh
index b8cf260..1370949 100755
--- a/t/t7102-reset.sh
+++ b/t/t7102-reset.sh
@@ -423,7 +423,7 @@ Unstaged changes after reset:
 M	file2
 EOF
 
-test_expect_success '--mixed refreshes the index' '
+test_expect_success NO_GETTEXT_POISON '--mixed refreshes the index' '
 	echo 123 >> file2 &&
 	git reset --mixed HEAD > output &&
 	test_cmp expect output
diff --git a/t/t7110-reset-merge.sh b/t/t7110-reset-merge.sh
index 70cdd8e..8e54f0c 100755
--- a/t/t7110-reset-merge.sh
+++ b/t/t7110-reset-merge.sh
@@ -233,7 +233,7 @@ test_expect_success '"reset --merge HEAD^" is ok with pending merge' '
 #           working index HEAD target         working index HEAD
 #           ----------------------------------------------------
 # file1:     X       U     B    C     --keep   (disallowed)
-test_expect_success '"reset --keep HEAD^" fails with pending merge' '
+test_expect_success NO_GETTEXT_POISON '"reset --keep HEAD^" fails with pending merge' '
     git reset --hard third &&
     test_must_fail git merge branch1 &&
     test_must_fail git reset --keep HEAD^ 2>err.log &&
@@ -259,7 +259,7 @@ test_expect_success '"reset --merge HEAD" is ok with pending merge' '
 #           working index HEAD target         working index HEAD
 #           ----------------------------------------------------
 # file1:     X       U     B    B     --keep   (disallowed)
-test_expect_success '"reset --keep HEAD" fails with pending merge' '
+test_expect_success NO_GETTEXT_POISON '"reset --keep HEAD" fails with pending merge' '
     git reset --hard third &&
     test_must_fail git merge branch1 &&
     test_must_fail git reset --keep HEAD 2>err.log &&
@@ -280,7 +280,7 @@ test_expect_success '--merge is ok with added/deleted merge' '
     git diff --exit-code --cached
 '
 
-test_expect_success '--keep fails with added/deleted merge' '
+test_expect_success NO_GETTEXT_POISON '--keep fails with added/deleted merge' '
     git reset --hard third &&
     rm -f file2 &&
     test_must_fail git merge branch3 &&
diff --git a/t/t7201-co.sh b/t/t7201-co.sh
index 1337fa5..fe7536b 100755
--- a/t/t7201-co.sh
+++ b/t/t7201-co.sh
@@ -223,7 +223,7 @@ test_expect_success 'checkout --merge --conflict=diff3 <branch>' '
 	test_cmp two expect
 '
 
-test_expect_success 'checkout to detach HEAD (with advice declined)' '
+test_expect_success NO_GETTEXT_POISON 'checkout to detach HEAD (with advice declined)' '
 
 	git config advice.detachedHead false &&
 	git checkout -f renamer && git clean -f &&
@@ -242,7 +242,7 @@ test_expect_success 'checkout to detach HEAD (with advice declined)' '
 	fi
 '
 
-test_expect_success 'checkout to detach HEAD' '
+test_expect_success NO_GETTEXT_POISON 'checkout to detach HEAD' '
 	git config advice.detachedHead true &&
 	git checkout -f renamer && git clean -f &&
 	git checkout renamer^ 2>messages &&
@@ -260,7 +260,7 @@ test_expect_success 'checkout to detach HEAD' '
 	fi
 '
 
-test_expect_success 'checkout to detach HEAD with branchname^' '
+test_expect_success NO_GETTEXT_POISON 'checkout to detach HEAD with branchname^' '
 
 	git checkout -f master && git clean -f &&
 	git checkout renamer^ &&
@@ -276,7 +276,7 @@ test_expect_success 'checkout to detach HEAD with branchname^' '
 	fi
 '
 
-test_expect_success 'checkout to detach HEAD with :/message' '
+test_expect_success NO_GETTEXT_POISON 'checkout to detach HEAD with :/message' '
 
 	git checkout -f master && git clean -f &&
 	git checkout ":/Initial" &&
@@ -292,7 +292,7 @@ test_expect_success 'checkout to detach HEAD with :/message' '
 	fi
 '
 
-test_expect_success 'checkout to detach HEAD with HEAD^0' '
+test_expect_success NO_GETTEXT_POISON 'checkout to detach HEAD with HEAD^0' '
 
 	git checkout -f master && git clean -f &&
 	git checkout HEAD^0 &&
diff --git a/t/t7500-commit.sh b/t/t7500-commit.sh
index aa9c577..6b983b8 100755
--- a/t/t7500-commit.sh
+++ b/t/t7500-commit.sh
@@ -59,7 +59,10 @@ test_expect_success 'adding comments to a template should not commit' '
 	)
 '
 
-test_expect_success 'adding real content to a template should commit' '
+# These fail under GETTEXT_POISON because the poison editor message
+# doesn't do the right thing with comments and line breaks, this
+# message will be incorrectly broken up across lines.
+test_expect_success NO_GETTEXT_POISON 'adding real content to a template should commit' '
 	(
 		test_set_editor "$TEST_DIRECTORY"/t7500/add-content &&
 		git commit --template "$TEMPLATE"
@@ -67,7 +70,7 @@ test_expect_success 'adding real content to a template should commit' '
 	commit_msg_is "template linecommit message"
 '
 
-test_expect_success '-t option should be short for --template' '
+test_expect_success NO_GETTEXT_POISON '-t option should be short for --template' '
 	echo "short template" > "$TEMPLATE" &&
 	echo "new content" >> foo &&
 	git add foo &&
@@ -78,7 +81,7 @@ test_expect_success '-t option should be short for --template' '
 	commit_msg_is "short templatecommit message"
 '
 
-test_expect_success 'config-specified template should commit' '
+test_expect_success NO_GETTEXT_POISON 'config-specified template should commit' '
 	echo "new template" > "$TEMPLATE" &&
 	git config commit.template "$TEMPLATE" &&
 	echo "more content" >> foo &&
diff --git a/t/t7501-commit.sh b/t/t7501-commit.sh
index 8297cb4..9dfa31e 100755
--- a/t/t7501-commit.sh
+++ b/t/t7501-commit.sh
@@ -13,9 +13,12 @@ test_tick
 
 test_expect_success \
 	"initial status" \
-	"echo 'bongo bongo' >file &&
-	 git add file && \
-	 git status | grep 'Initial commit'"
+	"echo 'ngo bongo' >file &&
+	 git add file"
+
+test_expect_success NO_GETTEXT_POISON \
+	"Constructing initial commit" \
+	"git status | grep 'Initial commit'"
 
 test_expect_success \
 	"fail initial amend" \
@@ -142,7 +145,8 @@ cat >msg <<EOF
 A good commit message.
 EOF
 
-test_expect_success \
+# Can't rely on editor with POISON
+test_expect_success NO_GETTEXT_POISON \
 	'editor not invoked if -F is given' '
 	 echo "moo" >file &&
 	 EDITOR=./editor git commit -a -F msg &&
@@ -163,7 +167,9 @@ d381ac431806e53f3dd7ac2f1ae0534f36d738b9
 402702b49136e7587daa9280e91e4bb7cb2179f7
 EOF
 
-test_expect_success \
+# rev-list won't be OK under GETTEXT_POISON since the above test won't
+# run.
+test_expect_success NO_GETTEXT_POISON \
     'validate git rev-list output.' \
     'test_cmp expected current'
 
diff --git a/t/t7502-commit.sh b/t/t7502-commit.sh
index ac2e187..9e293f3 100755
--- a/t/t7502-commit.sh
+++ b/t/t7502-commit.sh
@@ -25,7 +25,7 @@ check_summary_oneline() {
 	test_cmp exp act
 }
 
-test_expect_success 'output summary format' '
+test_expect_success NO_GETTEXT_POISON 'output summary format' '
 
 	echo new >file1 &&
 	git add file1 &&
@@ -36,12 +36,12 @@ test_expect_success 'output summary format' '
 	check_summary_oneline "" "a change"
 '
 
-test_expect_success 'output summary format for commit with an empty diff' '
+test_expect_success NO_GETTEXT_POISON 'output summary format for commit with an empty diff' '
 
 	check_summary_oneline "" "empty" "--allow-empty"
 '
 
-test_expect_success 'output summary format for merges' '
+test_expect_success NO_GETTEXT_POISON 'output summary format for merges' '
 
 	git checkout -b recursive-base &&
 	test_commit base file1 &&
@@ -70,7 +70,7 @@ output_tests_cleanup() {
 	git commit -m "cleanup"
 }
 
-test_expect_success 'the basics' '
+test_expect_success NO_GETTEXT_POISON 'the basics' '
 
 	output_tests_cleanup &&
 
@@ -91,7 +91,7 @@ test_expect_success 'the basics' '
 
 '
 
-test_expect_success 'partial' '
+test_expect_success NO_GETTEXT_POISON 'partial' '
 
 	echo another >"commit is" &&
 	echo another >not/forbid &&
@@ -103,7 +103,7 @@ test_expect_success 'partial' '
 
 '
 
-test_expect_success 'partial modification in a subdirectory' '
+test_expect_success NO_GETTEXT_POISON 'partial modification in a subdirectory' '
 
 	test_tick &&
 	git commit -m "partial commit to subdirectory" not &&
@@ -113,7 +113,7 @@ test_expect_success 'partial modification in a subdirectory' '
 
 '
 
-test_expect_success 'partial removal' '
+test_expect_success NO_GETTEXT_POISON 'partial removal' '
 
 	git rm not/forbid &&
 	git commit -m "partial commit to remove not/forbid" not &&
@@ -165,7 +165,7 @@ test_expect_success 'verbose respects diff config' '
 	git config --unset color.diff
 '
 
-test_expect_success 'cleanup commit messages (verbatim,-t)' '
+test_expect_success NO_GETTEXT_POISON 'cleanup commit messages (verbatim,-t)' '
 
 	echo >>negative &&
 	{ echo;echo "# text";echo; } >expect &&
@@ -175,7 +175,7 @@ test_expect_success 'cleanup commit messages (verbatim,-t)' '
 
 '
 
-test_expect_success 'cleanup commit messages (verbatim,-F)' '
+test_expect_success NO_GETTEXT_POISON 'cleanup commit messages (verbatim,-F)' '
 
 	echo >>negative &&
 	git commit --cleanup=verbatim -F expect -a &&
@@ -184,7 +184,7 @@ test_expect_success 'cleanup commit messages (verbatim,-F)' '
 
 '
 
-test_expect_success 'cleanup commit messages (verbatim,-m)' '
+test_expect_success NO_GETTEXT_POISON 'cleanup commit messages (verbatim,-m)' '
 
 	echo >>negative &&
 	git commit --cleanup=verbatim -m "$(cat expect)" -a &&
@@ -220,7 +220,7 @@ echo "sample
 # Please enter the commit message for your changes. Lines starting
 # with '#' will be ignored, and an empty message aborts the commit." >expect
 
-test_expect_success 'cleanup commit messages (strip,-F,-e)' '
+test_expect_success NO_GETTEXT_POISON 'cleanup commit messages (strip,-F,-e)' '
 
 	echo >>negative &&
 	{ echo;echo sample;echo; } >text &&
@@ -234,7 +234,7 @@ echo "#
 # Author:    $GIT_AUTHOR_NAME <$GIT_AUTHOR_EMAIL>
 #" >> expect
 
-test_expect_success 'author different from committer' '
+test_expect_success NO_GETTEXT_POISON 'author different from committer' '
 
 	echo >>negative &&
 	git commit -e -m "sample"
@@ -248,7 +248,7 @@ rm -f expect.tmp
 echo "# Committer:
 #" >> expect
 
-test_expect_success 'committer is automatic' '
+test_expect_success NO_GETTEXT_POISON 'committer is automatic' '
 
 	echo >>negative &&
 	(
@@ -370,66 +370,66 @@ try_commit () {
 
 try_commit_status_combo () {
 
-	test_expect_success 'commit' '
+	test_expect_success NO_GETTEXT_POISON 'commit' '
 		clear_config commit.status &&
 		try_commit "" &&
 		grep "^# Changes to be committed:" .git/COMMIT_EDITMSG
 	'
 
-	test_expect_success 'commit' '
+	test_expect_success NO_GETTEXT_POISON 'commit' '
 		clear_config commit.status &&
 		try_commit "" &&
 		grep "^# Changes to be committed:" .git/COMMIT_EDITMSG
 	'
 
-	test_expect_success 'commit --status' '
+	test_expect_success NO_GETTEXT_POISON 'commit --status' '
 		clear_config commit.status &&
 		try_commit --status &&
 		grep "^# Changes to be committed:" .git/COMMIT_EDITMSG
 	'
 
-	test_expect_success 'commit --no-status' '
+	test_expect_success NO_GETTEXT_POISON 'commit --no-status' '
 		clear_config commit.status &&
 		try_commit --no-status
 		! grep "^# Changes to be committed:" .git/COMMIT_EDITMSG
 	'
 
-	test_expect_success 'commit with commit.status = yes' '
+	test_expect_success NO_GETTEXT_POISON 'commit with commit.status = yes' '
 		clear_config commit.status &&
 		git config commit.status yes &&
 		try_commit "" &&
 		grep "^# Changes to be committed:" .git/COMMIT_EDITMSG
 	'
 
-	test_expect_success 'commit with commit.status = no' '
+	test_expect_success NO_GETTEXT_POISON 'commit with commit.status = no' '
 		clear_config commit.status &&
 		git config commit.status no &&
 		try_commit "" &&
 		! grep "^# Changes to be committed:" .git/COMMIT_EDITMSG
 	'
 
-	test_expect_success 'commit --status with commit.status = yes' '
+	test_expect_success NO_GETTEXT_POISON 'commit --status with commit.status = yes' '
 		clear_config commit.status &&
 		git config commit.status yes &&
 		try_commit --status &&
 		grep "^# Changes to be committed:" .git/COMMIT_EDITMSG
 	'
 
-	test_expect_success 'commit --no-status with commit.status = yes' '
+	test_expect_success NO_GETTEXT_POISON 'commit --no-status with commit.status = yes' '
 		clear_config commit.status &&
 		git config commit.status yes &&
 		try_commit --no-status &&
 		! grep "^# Changes to be committed:" .git/COMMIT_EDITMSG
 	'
 
-	test_expect_success 'commit --status with commit.status = no' '
+	test_expect_success NO_GETTEXT_POISON 'commit --status with commit.status = no' '
 		clear_config commit.status &&
 		git config commit.status no &&
 		try_commit --status &&
 		grep "^# Changes to be committed:" .git/COMMIT_EDITMSG
 	'
 
-	test_expect_success 'commit --no-status with commit.status = no' '
+	test_expect_success NO_GETTEXT_POISON 'commit --no-status with commit.status = no' '
 		clear_config commit.status &&
 		git config commit.status no &&
 		try_commit --no-status &&
diff --git a/t/t7506-status-submodule.sh b/t/t7506-status-submodule.sh
index 3d4f85d..2347451 100755
--- a/t/t7506-status-submodule.sh
+++ b/t/t7506-status-submodule.sh
@@ -20,17 +20,17 @@ test_expect_success 'setup' '
 	git commit -m "Add submodule sub"
 '
 
-test_expect_success 'status clean' '
+test_expect_success NO_GETTEXT_POISON 'status clean' '
 	git status >output &&
 	grep "nothing to commit" output
 '
 
-test_expect_success 'commit --dry-run -a clean' '
+test_expect_success NO_GETTEXT_POISON 'commit --dry-run -a clean' '
 	test_must_fail git commit --dry-run -a >output &&
 	grep "nothing to commit" output
 '
 
-test_expect_success 'status with modified file in submodule' '
+test_expect_success NO_GETTEXT_POISON 'status with modified file in submodule' '
 	(cd sub && git reset --hard) &&
 	echo "changed" >sub/foo &&
 	git status >output &&
@@ -46,7 +46,7 @@ test_expect_success 'status with modified file in submodule (porcelain)' '
 	EOF
 '
 
-test_expect_success 'status with added file in submodule' '
+test_expect_success NO_GETTEXT_POISON 'status with added file in submodule' '
 	(cd sub && git reset --hard && echo >foo && git add foo) &&
 	git status >output &&
 	grep "modified:   sub (modified content)" output
@@ -60,14 +60,14 @@ test_expect_success 'status with added file in submodule (porcelain)' '
 	EOF
 '
 
-test_expect_success 'status with untracked file in submodule' '
+test_expect_success NO_GETTEXT_POISON 'status with untracked file in submodule' '
 	(cd sub && git reset --hard) &&
 	echo "content" >sub/new-file &&
 	git status >output &&
 	grep "modified:   sub (untracked content)" output
 '
 
-test_expect_success 'status -uno with untracked file in submodule' '
+test_expect_success NO_GETTEXT_POISON 'status -uno with untracked file in submodule' '
 	git status -uno >output &&
 	grep "^nothing to commit" output
 '
@@ -79,7 +79,7 @@ test_expect_success 'status with untracked file in submodule (porcelain)' '
 	EOF
 '
 
-test_expect_success 'status with added and untracked file in submodule' '
+test_expect_success NO_GETTEXT_POISON 'status with added and untracked file in submodule' '
 	(cd sub && git reset --hard && echo >foo && git add foo) &&
 	echo "content" >sub/new-file &&
 	git status >output &&
@@ -95,7 +95,7 @@ test_expect_success 'status with added and untracked file in submodule (porcelai
 	EOF
 '
 
-test_expect_success 'status with modified file in modified submodule' '
+test_expect_success NO_GETTEXT_POISON 'status with modified file in modified submodule' '
 	(cd sub && git reset --hard) &&
 	rm sub/new-file &&
 	(cd sub && echo "next change" >foo && git commit -m "next change" foo) &&
@@ -113,7 +113,7 @@ test_expect_success 'status with modified file in modified submodule (porcelain)
 	EOF
 '
 
-test_expect_success 'status with added file in modified submodule' '
+test_expect_success NO_GETTEXT_POISON 'status with added file in modified submodule' '
 	(cd sub && git reset --hard && echo >foo && git add foo) &&
 	git status >output &&
 	grep "modified:   sub (new commits, modified content)" output
@@ -127,7 +127,7 @@ test_expect_success 'status with added file in modified submodule (porcelain)' '
 	EOF
 '
 
-test_expect_success 'status with untracked file in modified submodule' '
+test_expect_success NO_GETTEXT_POISON 'status with untracked file in modified submodule' '
 	(cd sub && git reset --hard) &&
 	echo "content" >sub/new-file &&
 	git status >output &&
@@ -141,7 +141,7 @@ test_expect_success 'status with untracked file in modified submodule (porcelain
 	EOF
 '
 
-test_expect_success 'status with added and untracked file in modified submodule' '
+test_expect_success NO_GETTEXT_POISON 'status with added and untracked file in modified submodule' '
 	(cd sub && git reset --hard && echo >foo && git add foo) &&
 	echo "content" >sub/new-file &&
 	git status >output &&
@@ -167,7 +167,7 @@ test_expect_success 'setup .git file for sub' '
 	 git commit -m "added .real to .gitignore" .gitignore
 '
 
-test_expect_success 'status with added file in modified submodule with .git file' '
+test_expect_success NO_GETTEXT_POISON 'status with added file in modified submodule with .git file' '
 	(cd sub && git reset --hard && echo >foo && git add foo) &&
 	git status >output &&
 	grep "modified:   sub (new commits, modified content)" output
@@ -177,12 +177,12 @@ test_expect_success 'rm submodule contents' '
 	rm -rf sub/* sub/.git
 '
 
-test_expect_success 'status clean (empty submodule dir)' '
+test_expect_success NO_GETTEXT_POISON 'status clean (empty submodule dir)' '
 	git status >output &&
 	grep "nothing to commit" output
 '
 
-test_expect_success 'status -a clean (empty submodule dir)' '
+test_expect_success NO_GETTEXT_POISON 'status -a clean (empty submodule dir)' '
 	test_must_fail git commit --dry-run -a >output &&
 	grep "nothing to commit" output
 '
diff --git a/t/t7508-status.sh b/t/t7508-status.sh
index 9c14b85..59099d0 100755
--- a/t/t7508-status.sh
+++ b/t/t7508-status.sh
@@ -31,7 +31,7 @@ test_expect_success 'setup' '
 	git add dir2/added
 '
 
-test_expect_success 'status (1)' '
+test_expect_success NO_GETTEXT_POISON 'status (1)' '
 
 	grep "use \"git rm --cached <file>\.\.\.\" to unstage" output
 
@@ -61,7 +61,7 @@ cat >expect <<\EOF
 #	untracked
 EOF
 
-test_expect_success 'status (2)' '
+test_expect_success NO_GETTEXT_POISON 'status (2)' '
 
 	git status >output &&
 	test_cmp expect output
@@ -87,7 +87,7 @@ EOF
 
 git config advice.statusHints false
 
-test_expect_success 'status (advice.statusHints false)' '
+test_expect_success NO_GETTEXT_POISON 'status (advice.statusHints false)' '
 
 	git status >output &&
 	test_cmp expect output
@@ -148,7 +148,7 @@ cat >expect <<EOF
 #
 # Untracked files not listed (use -u option to show untracked files)
 EOF
-test_expect_success 'status -uno' '
+test_expect_success NO_GETTEXT_POISON 'status -uno' '
 	mkdir dir3 &&
 	: >dir3/untracked1 &&
 	: >dir3/untracked2 &&
@@ -156,7 +156,7 @@ test_expect_success 'status -uno' '
 	test_cmp expect output
 '
 
-test_expect_success 'status (status.showUntrackedFiles no)' '
+test_expect_success NO_GETTEXT_POISON 'status (status.showUntrackedFiles no)' '
 	git config status.showuntrackedfiles no
 	git status >output &&
 	test_cmp expect output
@@ -173,7 +173,7 @@ cat >expect <<EOF
 # Untracked files not listed
 EOF
 git config advice.statusHints false
-test_expect_success 'status -uno (advice.statusHints false)' '
+test_expect_success NO_GETTEXT_POISON 'status -uno (advice.statusHints false)' '
 	git status -uno >output &&
 	test_cmp expect output
 '
@@ -219,12 +219,12 @@ cat >expect <<EOF
 #	output
 #	untracked
 EOF
-test_expect_success 'status -unormal' '
+test_expect_success NO_GETTEXT_POISON 'status -unormal' '
 	git status -unormal >output &&
 	test_cmp expect output
 '
 
-test_expect_success 'status (status.showUntrackedFiles normal)' '
+test_expect_success NO_GETTEXT_POISON 'status (status.showUntrackedFiles normal)' '
 	git config status.showuntrackedfiles normal
 	git status >output &&
 	test_cmp expect output
@@ -241,13 +241,13 @@ A  dir2/added
 ?? output
 ?? untracked
 EOF
-test_expect_success 'status -s -unormal' '
+test_expect_success NO_GETTEXT_POISON 'status -s -unormal' '
 	git config --unset status.showuntrackedfiles
 	git status -s -unormal >output &&
 	test_cmp expect output
 '
 
-test_expect_success 'status -s (status.showUntrackedFiles normal)' '
+test_expect_success NO_GETTEXT_POISON 'status -s (status.showUntrackedFiles normal)' '
 	git config status.showuntrackedfiles normal
 	git status -s >output &&
 	test_cmp expect output
@@ -278,11 +278,11 @@ cat >expect <<EOF
 #	output
 #	untracked
 EOF
-test_expect_success 'status -uall' '
+test_expect_success NO_GETTEXT_POISON 'status -uall' '
 	git status -uall >output &&
 	test_cmp expect output
 '
-test_expect_success 'status (status.showUntrackedFiles all)' '
+test_expect_success NO_GETTEXT_POISON 'status (status.showUntrackedFiles all)' '
 	git config status.showuntrackedfiles all
 	git status >output &&
 	rm -rf dir3 &&
@@ -337,7 +337,7 @@ cat >expect <<\EOF
 #	../untracked
 EOF
 
-test_expect_success 'status with relative paths' '
+test_expect_success NO_GETTEXT_POISON 'status with relative paths' '
 
 	(cd dir1 && git status) >output &&
 	test_cmp expect output
@@ -409,7 +409,7 @@ cat >expect <<\EOF
 #	<BLUE>untracked<RESET>
 EOF
 
-test_expect_success 'status with color.ui' '
+test_expect_success NO_GETTEXT_POISON 'status with color.ui' '
 
 	git config color.ui always &&
 	git status | test_decode_color >output &&
@@ -417,7 +417,7 @@ test_expect_success 'status with color.ui' '
 
 '
 
-test_expect_success 'status with color.status' '
+test_expect_success NO_GETTEXT_POISON 'status with color.status' '
 
 	git config --unset color.ui &&
 	git config color.status always &&
@@ -437,7 +437,7 @@ cat >expect <<\EOF
 <BLUE>??<RESET> untracked
 EOF
 
-test_expect_success 'status -s with color.ui' '
+test_expect_success NO_GETTEXT_POISON 'status -s with color.ui' '
 
 	git config --unset color.status &&
 	git config color.ui always &&
@@ -446,7 +446,7 @@ test_expect_success 'status -s with color.ui' '
 
 '
 
-test_expect_success 'status -s with color.status' '
+test_expect_success NO_GETTEXT_POISON 'status -s with color.status' '
 
 	git config --unset color.ui &&
 	git config color.status always &&
@@ -467,7 +467,7 @@ cat >expect <<\EOF
 <BLUE>??<RESET> untracked
 EOF
 
-test_expect_success 'status -s -b with color.status' '
+test_expect_success NO_GETTEXT_POISON 'status -s -b with color.status' '
 
 	git status -s -b | test_decode_color >output &&
 	test_cmp expect output
@@ -485,7 +485,7 @@ A  dir2/added
 ?? untracked
 EOF
 
-test_expect_success 'status --porcelain ignores color.ui' '
+test_expect_success NO_GETTEXT_POISON 'status --porcelain ignores color.ui' '
 
 	git config --unset color.status &&
 	git config color.ui always &&
@@ -494,7 +494,7 @@ test_expect_success 'status --porcelain ignores color.ui' '
 
 '
 
-test_expect_success 'status --porcelain ignores color.status' '
+test_expect_success NO_GETTEXT_POISON 'status --porcelain ignores color.status' '
 
 	git config --unset color.ui &&
 	git config color.status always &&
@@ -539,7 +539,7 @@ cat >expect <<\EOF
 EOF

-test_expect_success 'status without relative paths' '
+test_expect_success NO_GETTEXT_POISON 'status without relative paths' '
 
 	git config status.relativePaths false
 	(cd dir1 && git status) >output &&
@@ -558,7 +558,7 @@ A  dir2/added
 ?? untracked
 EOF
 
-test_expect_success 'status -s without relative paths' '
+test_expect_success NO_GETTEXT_POISON 'status -s without relative paths' '
 
 	(cd dir1 && git status -s) >output &&
 	test_cmp expect output
@@ -581,7 +581,7 @@ cat <<EOF >expect
 #	output
 #	untracked
 EOF
-test_expect_success 'dry-run of partial commit excluding new file in index' '
+test_expect_success NO_GETTEXT_POISON 'dry-run of partial commit excluding new file in index' '
 	git commit --dry-run dir1/modified >output &&
 	test_cmp expect output
 '
@@ -630,13 +630,13 @@ cat >expect <<EOF
 #	output
 #	untracked
 EOF
-test_expect_success 'status submodule summary is disabled by default' '
+test_expect_success NO_GETTEXT_POISON 'status submodule summary is disabled by default' '
 	git status >output &&
 	test_cmp expect output
 '
 
 # we expect the same as the previous test
-test_expect_success 'status --untracked-files=all does not show submodule' '
+test_expect_success NO_GETTEXT_POISON 'status --untracked-files=all does not show submodule' '
 	git status --untracked-files=all >output &&
 	test_cmp expect output
 '
@@ -694,7 +694,7 @@ cat >expect <<EOF
 #	output
 #	untracked
 EOF
-test_expect_success 'status submodule summary' '
+test_expect_success NO_GETTEXT_POISON 'status submodule summary' '
 	git config status.submodulesummary 10 &&
 	git status >output &&
 	test_cmp expect output
@@ -711,7 +711,7 @@ A  sm
 ?? output
 ?? untracked
 EOF
-test_expect_success 'status -s submodule summary' '
+test_expect_success NO_GETTEXT_POISON 'status -s submodule summary' '
 	git status -s >output &&
 	test_cmp expect output
 '
@@ -735,7 +735,7 @@ cat >expect <<EOF
 #	untracked
 no changes added to commit (use "git add" and/or "git commit -a")
 EOF
-test_expect_success 'status submodule summary (clean submodule)' '
+test_expect_success NO_GETTEXT_POISON 'status submodule summary (clean submodule)' '
 	git commit -m "commit submodule" &&
 	git config status.submodulesummary 10 &&
 	test_must_fail git commit --dry-run >output &&
@@ -753,7 +753,7 @@ cat >expect <<EOF
 ?? output
 ?? untracked
 EOF
-test_expect_success 'status -s submodule summary (clean submodule)' '
+test_expect_success NO_GETTEXT_POISON 'status -s submodule summary (clean submodule)' '
 	git status -s >output &&
 	test_cmp expect output
 '
@@ -787,7 +787,7 @@ cat >expect <<EOF
 #	output
 #	untracked
 EOF
-test_expect_success 'commit --dry-run submodule summary (--amend)' '
+test_expect_success NO_GETTEXT_POISON 'commit --dry-run submodule summary (--amend)' '
 	git config status.submodulesummary 10 &&
 	git commit --dry-run --amend >output &&
 	test_cmp expect output
@@ -842,13 +842,13 @@ cat > expect << EOF
 #	untracked
 EOF
 
-test_expect_success '--ignore-submodules=untracked suppresses submodules with untracked content' '
+test_expect_success NO_GETTEXT_POISON '--ignore-submodules=untracked suppresses submodules with untracked content' '
 	echo modified > sm/untracked &&
 	git status --ignore-submodules=untracked > output &&
 	test_cmp expect output
 '
 
-test_expect_success '.gitmodules ignore=untracked suppresses submodules with untracked content' '
+test_expect_success NO_GETTEXT_POISON '.gitmodules ignore=untracked suppresses submodules with untracked content' '
 	git config diff.ignoreSubmodules dirty &&
 	git status >output &&
 	test_cmp expect output &&
@@ -860,7 +860,7 @@ test_expect_success '.gitmodules ignore=untracked suppresses submodules with unt
 	git config --unset diff.ignoreSubmodules
 '
 
-test_expect_success '.git/config ignore=untracked suppresses submodules with untracked content' '
+test_expect_success NO_GETTEXT_POISON '.git/config ignore=untracked suppresses submodules with untracked content' '
 	git config --add -f .gitmodules submodule.subname.ignore none &&
 	git config --add -f .gitmodules submodule.subname.path sm &&
 	git config --add submodule.subname.ignore untracked &&
@@ -871,12 +871,12 @@ test_expect_success '.git/config ignore=untracked suppresses submodules with unt
 	git config --remove-section -f .gitmodules submodule.subname
 '
 
-test_expect_success '--ignore-submodules=dirty suppresses submodules with untracked content' '
+test_expect_success NO_GETTEXT_POISON '--ignore-submodules=dirty suppresses submodules with untracked content' '
 	git status --ignore-submodules=dirty > output &&
 	test_cmp expect output
 '
 
-test_expect_success '.gitmodules ignore=dirty suppresses submodules with untracked content' '
+test_expect_success NO_GETTEXT_POISON '.gitmodules ignore=dirty suppresses submodules with untracked content' '
 	git config diff.ignoreSubmodules dirty &&
 	git status >output &&
 	! test -s actual &&
@@ -888,7 +888,7 @@ test_expect_success '.gitmodules ignore=dirty suppresses submodules with untrack
 	git config --unset diff.ignoreSubmodules
 '
 
-test_expect_success '.git/config ignore=dirty suppresses submodules with untracked content' '
+test_expect_success NO_GETTEXT_POISON '.git/config ignore=dirty suppresses submodules with untracked content' '
 	git config --add -f .gitmodules submodule.subname.ignore none &&
 	git config --add -f .gitmodules submodule.subname.path sm &&
 	git config --add submodule.subname.ignore dirty &&
@@ -899,13 +899,13 @@ test_expect_success '.git/config ignore=dirty suppresses submodules with untrack
 	git config -f .gitmodules  --remove-section submodule.subname
 '
 
-test_expect_success '--ignore-submodules=dirty suppresses submodules with modified content' '
+test_expect_success NO_GETTEXT_POISON '--ignore-submodules=dirty suppresses submodules with modified content' '
 	echo modified > sm/foo &&
 	git status --ignore-submodules=dirty > output &&
 	test_cmp expect output
 '
 
-test_expect_success '.gitmodules ignore=dirty suppresses submodules with modified content' '
+test_expect_success NO_GETTEXT_POISON '.gitmodules ignore=dirty suppresses submodules with modified content' '
 	git config --add -f .gitmodules submodule.subname.ignore dirty &&
 	git config --add -f .gitmodules submodule.subname.path sm &&
 	git status > output &&
@@ -913,7 +913,7 @@ test_expect_success '.gitmodules ignore=dirty suppresses submodules with modifie
 	git config -f .gitmodules  --remove-section submodule.subname
 '
 
-test_expect_success '.git/config ignore=dirty suppresses submodules with modified content' '
+test_expect_success NO_GETTEXT_POISON '.git/config ignore=dirty suppresses submodules with modified content' '
 	git config --add -f .gitmodules submodule.subname.ignore none &&
 	git config --add -f .gitmodules submodule.subname.path sm &&
 	git config --add submodule.subname.ignore dirty &&
@@ -956,12 +956,12 @@ cat > expect << EOF
 #	untracked
 EOF
 
-test_expect_success "--ignore-submodules=untracked doesn't suppress submodules with modified content" '
+test_expect_success NO_GETTEXT_POISON "--ignore-submodules=untracked doesn't suppress submodules with modified content" '
 	git status --ignore-submodules=untracked > output &&
 	test_cmp expect output
 '
 
-test_expect_success ".gitmodules ignore=untracked doesn't suppress submodules with modified content" '
+test_expect_success NO_GETTEXT_POISON ".gitmodules ignore=untracked doesn't suppress submodules with modified content" '
 	git config --add -f .gitmodules submodule.subname.ignore untracked &&
 	git config --add -f .gitmodules submodule.subname.path sm &&
 	git status > output &&
@@ -969,7 +969,7 @@ test_expect_success ".gitmodules ignore=untracked doesn't suppress submodules wi
 	git config -f .gitmodules  --remove-section submodule.subname
 '
 
-test_expect_success ".git/config ignore=untracked doesn't suppress submodules with modified content" '
+test_expect_success NO_GETTEXT_POISON ".git/config ignore=untracked doesn't suppress submodules with modified content" '
 	git config --add -f .gitmodules submodule.subname.ignore none &&
 	git config --add -f .gitmodules submodule.subname.path sm &&
 	git config --add submodule.subname.ignore untracked &&
@@ -1018,12 +1018,12 @@ cat > expect << EOF
 #	untracked
 EOF
 
-test_expect_success "--ignore-submodules=untracked doesn't suppress submodule summary" '
+test_expect_success NO_GETTEXT_POISON "--ignore-submodules=untracked doesn't suppress submodule summary" '
 	git status --ignore-submodules=untracked > output &&
 	test_cmp expect output
 '
 
-test_expect_success ".gitmodules ignore=untracked doesn't suppress submodule summary" '
+test_expect_success NO_GETTEXT_POISON ".gitmodules ignore=untracked doesn't suppress submodule summary" '
 	git config --add -f .gitmodules submodule.subname.ignore untracked &&
 	git config --add -f .gitmodules submodule.subname.path sm &&
 	git status > output &&
@@ -1031,7 +1031,7 @@ test_expect_success ".gitmodules ignore=untracked doesn't suppress submodule sum
 	git config -f .gitmodules  --remove-section submodule.subname
 '
 
-test_expect_success ".git/config ignore=untracked doesn't suppress submodule summary" '
+test_expect_success NO_GETTEXT_POISON ".git/config ignore=untracked doesn't suppress submodule summary" '
 	git config --add -f .gitmodules submodule.subname.ignore none &&
 	git config --add -f .gitmodules submodule.subname.path sm &&
 	git config --add submodule.subname.ignore untracked &&
@@ -1042,11 +1042,11 @@ test_expect_success ".git/config ignore=untracked doesn't suppress submodule sum
 	git config -f .gitmodules  --remove-section submodule.subname
 '
 
-test_expect_success "--ignore-submodules=dirty doesn't suppress submodule summary" '
+test_expect_success NO_GETTEXT_POISON "--ignore-submodules=dirty doesn't suppress submodule summary" '
 	git status --ignore-submodules=dirty > output &&
 	test_cmp expect output
 '
-test_expect_success ".gitmodules ignore=dirty doesn't suppress submodule summary" '
+test_expect_success NO_GETTEXT_POISON ".gitmodules ignore=dirty doesn't suppress submodule summary" '
 	git config --add -f .gitmodules submodule.subname.ignore dirty &&
 	git config --add -f .gitmodules submodule.subname.path sm &&
 	git status > output &&
@@ -1054,7 +1054,7 @@ test_expect_success ".gitmodules ignore=dirty doesn't suppress submodule summary
 	git config -f .gitmodules  --remove-section submodule.subname
 '
 
-test_expect_success ".git/config ignore=dirty doesn't suppress submodule summary" '
+test_expect_success NO_GETTEXT_POISON ".git/config ignore=dirty doesn't suppress submodule summary" '
 	git config --add -f .gitmodules submodule.subname.ignore none &&
 	git config --add -f .gitmodules submodule.subname.path sm &&
 	git config --add submodule.subname.ignore dirty &&
@@ -1086,7 +1086,7 @@ cat > expect << EOF
 no changes added to commit (use "git add" and/or "git commit -a")
 EOF
 
-test_expect_success "--ignore-submodules=all suppresses submodule summary" '
+test_expect_success NO_GETTEXT_POISON "--ignore-submodules=all suppresses submodule summary" '
 	git status --ignore-submodules=all > output &&
 	test_cmp expect output
 '
diff --git a/t/t7600-merge.sh b/t/t7600-merge.sh
index cde8390..263c6b3 100755
--- a/t/t7600-merge.sh
+++ b/t/t7600-merge.sh
@@ -543,7 +543,7 @@ test_expect_success 'merge fast-forward in a dirty tree' '
 
 test_debug 'gitk --all'
 
-test_expect_success 'in-index merge' '
+test_expect_success NO_GETTEXT_POISON 'in-index merge' '
 	git reset --hard c0 &&
 	git merge --no-ff -s resolve c1 > out &&
 	grep "Wonderful." out &&
diff --git a/t/t7602-merge-octopus-many.sh b/t/t7602-merge-octopus-many.sh
index 2746169..3281db0 100755
--- a/t/t7602-merge-octopus-many.sh
+++ b/t/t7602-merge-octopus-many.sh
@@ -63,7 +63,7 @@ Merge made by octopus.
  create mode 100644 c4.c
 EOF
 
-test_expect_success 'merge output uses pretty names' '
+test_expect_success NO_GETTEXT_POISON 'merge output uses pretty names' '
 	git reset --hard c1 &&
 	git merge c2 c3 c4 >actual &&
 	test_cmp actual expected
@@ -78,7 +78,7 @@ Merge made by octopus.
  create mode 100644 c5.c
 EOF
 
-test_expect_success 'merge up-to-date output uses pretty names' '
+test_expect_success NO_GETTEXT_POISON 'merge up-to-date output uses pretty names' '
 	git merge c4 c5 >actual &&
 	test_cmp actual expected
 '
@@ -94,7 +94,7 @@ Merge made by octopus.
  create mode 100644 c2.c
 EOF
 
-test_expect_success 'merge fast-forward output uses pretty names' '
+test_expect_success NO_GETTEXT_POISON 'merge fast-forward output uses pretty names' '
 	git reset --hard c0 &&
 	git merge c1 c2 >actual &&
 	test_cmp actual expected
diff --git a/t/t7811-grep-open.sh b/t/t7811-grep-open.sh
index 568a6f2..3aa544c 100755
--- a/t/t7811-grep-open.sh
+++ b/t/t7811-grep-open.sh
@@ -61,7 +61,7 @@ test_expect_success SIMPLEPAGER 'git grep -O' '
 	test_cmp empty out
 '
 
-test_expect_success 'git grep -O --cached' '
+test_expect_success NO_GETTEXT_POISON 'git grep -O --cached' '
 	test_must_fail git grep --cached -O GREP_PATTERN >out 2>msg &&
 	grep open-files-in-pager msg
 '
-- 
1.7.2.2.336.g704fc