From: Jonathan Nieder <jrnieder@gmail.com>
To: Jens Lehmann <Jens.Lehmann@web.de>
Cc: Junio C Hamano <gitster@pobox.com>,
Git Mailing List <git@vger.kernel.org>,
Thomas Rast <trast@student.ethz.ch>
Subject: [PATCH/RFC 7/7] t2016 (checkout -p): use printf for multiline y/n input
Date: Mon, 6 Sep 2010 20:55:09 -0500 [thread overview]
Message-ID: <20100907015509.GH1182@burratino> (raw)
In-Reply-To: <20100907014135.GA1182@burratino>
Instead of
(echo y; echo n; echo n) | git checkout -p HEAD^ -- dir
write
printf "%s\n" y n n |
git checkout -p HEAD^ -- dir
which means the same thing but might be easier to read.
While at it, add a missing && to the "git checkout -p HEAD with change
already staged" test.
Cc: Thomas Rast <trast@student.ethz.ch>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
---
t/t2016-checkout-patch.sh | 43 +++++++++++++++++++++++++++++--------------
1 files changed, 29 insertions(+), 14 deletions(-)
diff --git a/t/t2016-checkout-patch.sh b/t/t2016-checkout-patch.sh
index 2144184..8cb7f46 100755
--- a/t/t2016-checkout-patch.sh
+++ b/t/t2016-checkout-patch.sh
@@ -20,48 +20,55 @@ test_expect_success 'setup' '
test_expect_success 'saying "n" does nothing' '
set_and_save_state dir/foo work head &&
- (echo n; echo n) | git checkout -p &&
+ printf "%s\n" n n |
+ git checkout -p &&
verify_saved_state bar &&
verify_saved_state dir/foo
'
test_expect_success 'git checkout -p' '
- (echo n; echo y) | git checkout -p &&
+ printf "%s\n" n y |
+ git checkout -p &&
verify_saved_state bar &&
verify_state dir/foo head head
'
test_expect_success 'git checkout -p with staged changes' '
- set_state dir/foo work index
- (echo n; echo y) | git checkout -p &&
+ set_state dir/foo work index &&
+ printf "%s\n" n y |
+ git checkout -p &&
verify_saved_state bar &&
verify_state dir/foo index index
'
test_expect_success 'git checkout -p HEAD with NO staged changes: abort' '
set_and_save_state dir/foo work head &&
- (echo n; echo y; echo n) | git checkout -p HEAD &&
+ printf "%s\n" n y n |
+ git checkout -p HEAD &&
verify_saved_state bar &&
verify_saved_state dir/foo
'
test_expect_success 'git checkout -p HEAD with NO staged changes: apply' '
- (echo n; echo y; echo y) | git checkout -p HEAD &&
+ printf "%s\n" n y y |
+ git checkout -p HEAD &&
verify_saved_state bar &&
verify_state dir/foo head head
'
test_expect_success 'git checkout -p HEAD with change already staged' '
- set_state dir/foo index index
+ set_state dir/foo index index &&
# the third n is to get out in case it mistakenly does not apply
- (echo n; echo y; echo n) | git checkout -p HEAD &&
+ printf "%s\n" n y n |
+ git checkout -p HEAD &&
verify_saved_state bar &&
verify_state dir/foo head head
'
test_expect_success 'git checkout -p HEAD^' '
# the third n is to get out in case it mistakenly does not apply
- (echo n; echo y; echo n) | git checkout -p HEAD^ &&
+ printf "%s\n" n y n |
+ git checkout -p HEAD^ &&
verify_saved_state bar &&
verify_state dir/foo parent parent
'
@@ -69,7 +76,8 @@ test_expect_success 'git checkout -p HEAD^' '
test_expect_success 'git checkout -p handles deletion' '
set_state dir/foo work index &&
rm dir/foo &&
- (echo n; echo y) | git checkout -p &&
+ printf "%s\n" n y |
+ git checkout -p &&
verify_saved_state bar &&
verify_state dir/foo index index
'
@@ -81,21 +89,24 @@ test_expect_success 'git checkout -p handles deletion' '
test_expect_success 'path limiting works: dir' '
set_state dir/foo work head &&
- (echo y; echo n) | git checkout -p dir &&
+ printf "%s\n" y n |
+ git checkout -p dir &&
verify_saved_state bar &&
verify_state dir/foo head head
'
test_expect_success 'path limiting works: -- dir' '
set_state dir/foo work head &&
- (echo y; echo n) | git checkout -p -- dir &&
+ printf "%s\n" y n |
+ git checkout -p -- dir &&
verify_saved_state bar &&
verify_state dir/foo head head
'
test_expect_success 'path limiting works: HEAD^ -- dir' '
# the third n is to get out in case it mistakenly does not apply
- (echo y; echo n; echo n) | git checkout -p HEAD^ -- dir &&
+ printf "%s\n" y n n |
+ git checkout -p HEAD^ -- dir &&
verify_saved_state bar &&
verify_state dir/foo parent parent
'
@@ -103,7 +114,11 @@ test_expect_success 'path limiting works: HEAD^ -- dir' '
test_expect_success 'path limiting works: foo inside dir' '
set_state dir/foo work head &&
# the third n is to get out in case it mistakenly does not apply
- (echo y; echo n; echo n) | (cd dir && git checkout -p foo) &&
+ printf "%s\n" y n n |
+ (
+ cd dir &&
+ git checkout -p foo
+ ) &&
verify_saved_state bar &&
verify_state dir/foo head head
'
--
1.7.2.3
next prev parent reply other threads:[~2010-09-07 1:57 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-09-06 18:39 [PATCH] Several tests: cd inside subshell instead of around Jens Lehmann
2010-09-06 19:06 ` Jonathan Nieder
2010-09-06 20:12 ` Jens Lehmann
2010-09-07 1:41 ` [PATCH 0/7] " Jonathan Nieder
2010-09-07 1:42 ` [PATCH 1/7] tests: subshell indentation stylefix Jonathan Nieder
2010-09-07 3:44 ` Jonathan Nieder
2010-09-07 1:47 ` [PATCH 2/7] t1450 (fsck): remove dangling objects Jonathan Nieder
2010-09-07 1:49 ` [PATCH 3/7] t2105 (gitfile): add missing && Jonathan Nieder
2010-09-07 12:57 ` Brad King
2010-09-07 1:50 ` [PATCH 4/7] t0004 (unwritable files): simplify error handling Jonathan Nieder
2010-09-07 1:52 ` [PATCH 5/7] t1302 (core.repositoryversion): style tweaks Jonathan Nieder
2010-09-07 23:45 ` Nguyen Thai Ngoc Duy
2010-09-07 1:53 ` [PATCH 6/7] t1303 (config): " Jonathan Nieder
2010-09-07 4:30 ` Jeff King
2010-09-07 4:52 ` Junio C Hamano
2010-09-07 5:27 ` Jonathan Nieder
2010-09-07 5:12 ` guarding everything with test_expect_success (Re: [PATCH 6/7] t1303 (config): style tweaks) Jonathan Nieder
2010-09-07 5:56 ` Jeff King
2010-09-07 6:12 ` Jonathan Nieder
2010-09-07 1:55 ` Jonathan Nieder [this message]
2010-09-07 8:06 ` [PATCH/RFC 7/7] t2016 (checkout -p): use printf for multiline y/n input Thomas Rast
2010-09-07 8:22 ` Jonathan Nieder
2010-09-06 23:16 ` [PATCH] Several tests: cd inside subshell instead of around Junio C Hamano
2010-09-07 2:37 ` Jonathan Nieder
2010-09-07 5:08 ` Junio C Hamano
2010-09-07 5:19 ` Jonathan Nieder
2010-09-07 10:29 ` [PATCH] t1020: Get rid of 'cd "$HERE"' at the start of each test Jens Lehmann
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20100907015509.GH1182@burratino \
--to=jrnieder@gmail.com \
--cc=Jens.Lehmann@web.de \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=trast@student.ethz.ch \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.