[PATCH/RFC 7/7] t2016 (checkout -p): use printf for multiline y/n input
From: Jonathan Nieder <hidden>
Date: 2016-06-15 22:49:30
Subsystem:
the rest · Maintainer:
Linus Torvalds
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 <redacted> Signed-off-by: Jonathan Nieder <redacted> --- 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