# [PATCH] t2024: mark test using "checkout -p" with PERL prerequisite

2 messages from 2018-08-18 to 2018-08-18. Participants: CB Bailey, Ævar Arnfjörð Bjarmason.
Thread: https://gitlist.dev/t/49158

## CB Bailey, 2018-08-18 04:43

Subject: [PATCH] t2024: mark test using "checkout -p" with PERL prerequisite
Message-ID: <20180818044310.14446-1-cb@hashpling.org>
URL: https://gitlist.dev/e/20180818044310.14446-1-cb%40hashpling.org

```
checkout with the -p switch uses the "add interactive" framework which
is written in Perl. Add a PERL prerequisite to skip this test when built
with NO_PERL.

Signed-off-by: CB Bailey <cb@hashpling.org>
---
 t/t2024-checkout-dwim.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/t/t2024-checkout-dwim.sh b/t/t2024-checkout-dwim.sh
index f79dfbbdd6..0e512c3066 100755
--- a/t/t2024-checkout-dwim.sh
+++ b/t/t2024-checkout-dwim.sh
@@ -75,7 +75,7 @@ test_expect_success 'checkout of branch from multiple remotes fails #1' '
 	test_branch master
 '
 
-test_expect_success 'checkout of branch from multiple remotes fails with advice' '
+test_expect_success PERL 'checkout of branch from multiple remotes fails with advice' '
 	git checkout -B master &&
 	test_might_fail git branch -D foo &&
 	test_must_fail git checkout foo 2>stderr &&
-- 
2.14.3 (Apple Git-98)


```

## Ævar Arnfjörð Bjarmason, 2018-08-18 07:01

Subject: [PATCH] t2024: mark test using "checkout -p" with PERL prerequisite
Message-ID: <20180818070147.14026-1-avarab@gmail.com>
URL: https://gitlist.dev/e/20180818070147.14026-1-avarab%40gmail.com
In-Reply-To: <20180818044310.14446-1-cb@hashpling.org>

```
Checkout with the -p switch uses the "add interactive" framework which
is written in Perl.

One test added in 8d7b558bae ("checkout & worktree: introduce
checkout.defaultRemote", 2018-06-05) didn't declare the PERL
prerequisite, breaking the test when built with NO_PERL.

Reported-by: CB Bailey <cb@hashpling.org>
Signed-off-by: CB Bailey <cb@hashpling.org>
Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
---

On Sat, Aug 18, 2018 at 6:43 AM, CB Bailey <cb@hashpling.org> wrote:
> checkout with the -p switch uses the "add interactive" framework which
> is written in Perl. Add a PERL prerequisite to skip this test when built
> with NO_PERL.

Thanks, and sorry about my buggy code. I didn't consider the
interaction between -p and NO_PERL.

Your patch works, but I think just splitting the test up is better, so
we're not skipping things unrelated to "checkout -p" under NO_PERL.

I added your SOB since I stole significant parts of your commit
message.

Junio: We'd want one patch or the other before 2.19 so that release
doesn't break tests under NO_PERL.

 t/t2024-checkout-dwim.sh | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/t/t2024-checkout-dwim.sh b/t/t2024-checkout-dwim.sh
index f79dfbbdd6..69b6774d10 100755
--- a/t/t2024-checkout-dwim.sh
+++ b/t/t2024-checkout-dwim.sh
@@ -86,8 +86,13 @@ test_expect_success 'checkout of branch from multiple remotes fails with advice'
 		checkout foo 2>stderr &&
 	test_branch master &&
 	status_uno_is_clean &&
-	test_i18ngrep ! "^hint: " stderr &&
-	# Make sure the likes of checkout -p do not print this hint
+	test_i18ngrep ! "^hint: " stderr
+'
+
+test_expect_success PERL 'checkout -p with multiple remotes does not print advice' '
+	git checkout -B master &&
+	test_might_fail git branch -D foo &&
+
 	git checkout -p foo 2>stderr &&
 	test_i18ngrep ! "^hint: " stderr &&
 	status_uno_is_clean
-- 
2.18.0.865.gffc8e1a3cd6


```
