Junio C Hamano [off-list ref] wrote:
Tentatively I'll queue this one on top, but I am tempted to squash
this in before merging the topic down.
-- >8 --
Subject: [PATCH] fixup! tests: Introduce test_seq
Complex chains of && and || are harder to read when used as
replacement for if/else statements, but it is easy to rewrite it
with a case/esac in this case.
I just copied it from test_expect_success, but yeah, case/esac is
clearer.
quoted hunk ↗ jump to hunk
Avoid using unnecessary variables $first and $last.
Signed-off-by: Junio C Hamano <redacted>
---
t/test-lib-functions.sh | 13 +++++++------
1 file changed, 7 insertions(+), 6 deletions(-)
diff --git a/t/test-lib-functions.sh b/t/test-lib-functions.sh
index c8b4ae3..7dc70eb 100644
--- a/t/test-lib-functions.sh
+++ b/t/test-lib-functions.sh
@@ -532,7 +532,7 @@ test_cmp() {
# Print a sequence of numbers or letters in increasing order. This is
# similar to GNU seq(1), but the latter might not be available
-# everywhere. It may be used like:
+# everywhere (and does not do letters). It may be used like:
#
# for i in `test_seq 100`; do
# for j in `test_seq 10 20`; do@@ -543,11 +543,12 @@ test_cmp() {
# done
test_seq () {
- test $# = 2 && { first=$1; shift; } || first=1
- test $# = 1 ||
- error "bug in the test script: not 1 or 2 parameters to test_seq"
- last=$1
- "$PERL_PATH" -le 'print for "$ARGV[0]".."$ARGV[1]"' "$first" "$last"
+ case $# in
+ 1) set 1 "$@" ;;
+ 2) ;;
+ *) error "bug in the test script: not 1 or 2 parameters to test_seq" ;;
+ esac
+ "$PERL_PATH" -le 'print for $ARGV[0]..$ARGV[1]' "$@"
}
# This function can be used to schedule some commands to be run