On Sat, Oct 02, 2021 at 07:44:14PM +0200, René Scharfe wrote: > b3dfeebb92 (rebase: avoid computing unnecessary patch IDs, 2016-07-29) > added a perf test that calls tac(1) from GNU core utilities. Support > systems without it by reversing the generated list using sort -nr > instead. sort(1) with options -n and -r is already used in other tests. Cute fix. With regular seq(1), this whole thing can become: seq 1000 -1 1 without the extra process, but our test_seq doesn't understand non-1 increments (nor comparisons besides -le). It wouldn't be that hard to teach it, but given that this is the first time we've wanted it, it may not be worth the effort. -Peff diff --git a/t/test-lib-functions.sh b/t/test-lib-functions.sh index 6348e8d733..76c8c0f2f6 100644 --- a/t/test-lib-functions.sh +++ b/t/test-lib-functions.sh @@ -1149,15 +1149,22 @@ test_cmp_fspath () { test_seq () { case $# in - 1) set 1 "$@" ;; - 2) ;; - *) BUG "not 1 or 2 parameters to test_seq" ;; + 1) set 1 1 "$1" ;; + 2) set "$1" 1 "$2" ;; + 3) ;; + *) BUG "not 1, 2, or 3 parameters to test_seq" ;; esac + if test "$1" -lt "$3" + then + test_seq_cmp__=-le + else + test_seq_cmp__=-ge + fi test_seq_counter__=$1 - while test "$test_seq_counter__" -le "$2" + while test "$test_seq_counter__" $test_seq_cmp__ "$3" do echo "$test_seq_counter__" - test_seq_counter__=$(( $test_seq_counter__ + 1 )) + test_seq_counter__=$(( $test_seq_counter__ + $2 )) done }