Junio C Hamano <gits...@pobox.com> 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. > > Avoid using unnecessary variables $first and $last. > > Signed-off-by: Junio C Hamano <gits...@pobox.com> > --- > 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 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html