summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 492b107)
raw | patch | inline | side by side (parent: 492b107)
author | Jonathan Nieder <jrnieder@gmail.com> | |
Sat, 26 Jun 2010 19:23:02 +0000 (14:23 -0500) | ||
committer | Junio C Hamano <gitster@pobox.com> | |
Mon, 28 Jun 2010 17:31:17 +0000 (10:31 -0700) |
The current tests test pager configuration for ‘git log’, but other
commands use a different setup procedure and should therefore be
tested separately. Add a helper to make this easier.
This patch introduces the helper and changes some existing tests to
use it. The only functional change should be the introduction of ‘git
log - ’ to a few test descriptions.
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Acked-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
commands use a different setup procedure and should therefore be
tested separately. Add a helper to make this easier.
This patch introduces the helper and changes some existing tests to
use it. The only functional change should be the introduction of ‘git
log - ’ to a few test descriptions.
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Acked-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
t/t7006-pager.sh | patch | blob | history |
diff --git a/t/t7006-pager.sh b/t/t7006-pager.sh
index 9a83241c942f63c7c7b2f5c739164c34c80ab68d..b117ebb5a7d6c38804b1396c2f30628e25744636 100755 (executable)
--- a/t/t7006-pager.sh
+++ b/t/t7006-pager.sh
test_set_prereq SIMPLEPAGER
fi
-test_expect_success SIMPLEPAGER 'default pager is used by default' '
+# Use this helper to make it easy for the caller of your
+# terminal-using function to specify whether it should fail.
+# If you write
+#
+# your_test() {
+# parse_args "$@"
+#
+# $test_expectation "$cmd - behaves well" "
+# ...
+# $full_command &&
+# ...
+# "
+# }
+#
+# then your test can be used like this:
+#
+# your_test expect_(success|failure) [test_must_fail] 'git foo'
+#
+parse_args() {
+ test_expectation="test_$1"
+ shift
+ if test "$1" = test_must_fail
+ then
+ full_command="test_must_fail test_terminal "
+ shift
+ else
+ full_command="test_terminal "
+ fi
+ cmd=$1
+ full_command="$full_command $1"
+}
+
+parse_args expect_success 'git log'
+$test_expectation SIMPLEPAGER "$cmd - default pager is used by default" "
unset PAGER GIT_PAGER;
test_might_fail git config --unset core.pager &&
rm -f default_pager_used ||
cleanup_fail &&
- cat >$less <<-\EOF &&
+ cat >\$less <<-\EOF &&
#!/bin/sh
wc >default_pager_used
EOF
- chmod +x $less &&
+ chmod +x \$less &&
(
- PATH=.:$PATH &&
+ PATH=.:\$PATH &&
export PATH &&
- test_terminal git log
+ $full_command
) &&
test -e default_pager_used
-'
+"
-test_expect_success TTY 'PAGER overrides default pager' '
+parse_args expect_success 'git log'
+$test_expectation TTY "$cmd - PAGER overrides default pager" "
unset GIT_PAGER;
test_might_fail git config --unset core.pager &&
rm -f PAGER_used ||
cleanup_fail &&
- PAGER="wc >PAGER_used" &&
+ PAGER='wc >PAGER_used' &&
export PAGER &&
- test_terminal git log &&
+ $full_command &&
test -e PAGER_used
-'
+"
-test_expect_success TTY 'core.pager overrides PAGER' '
+parse_args expect_success 'git log'
+$test_expectation TTY "$cmd - core.pager overrides PAGER" "
unset GIT_PAGER;
rm -f core.pager_used ||
cleanup_fail &&
PAGER=wc &&
export PAGER &&
- git config core.pager "wc >core.pager_used" &&
- test_terminal git log &&
+ git config core.pager 'wc >core.pager_used' &&
+ $full_command &&
test -e core.pager_used
-'
+"
-test_expect_success TTY 'GIT_PAGER overrides core.pager' '
+parse_args expect_success 'git log'
+$test_expectation TTY "$cmd - GIT_PAGER overrides core.pager" "
rm -f GIT_PAGER_used ||
cleanup_fail &&
git config core.pager wc &&
- GIT_PAGER="wc >GIT_PAGER_used" &&
+ GIT_PAGER='wc >GIT_PAGER_used' &&
export GIT_PAGER &&
- test_terminal git log &&
+ $full_command &&
test -e GIT_PAGER_used
-'
+"
test_done