summaryrefslogtreecommitdiff
path: root/t/test-lib-functions.sh
diff options
context:
space:
mode:
authorLibravatar Junio C Hamano <gitster@pobox.com>2012-08-24 12:05:24 -0700
committerLibravatar Junio C Hamano <gitster@pobox.com>2012-08-24 12:05:24 -0700
commitc247d76c5419df96db62f6e7c9cf4f672f24a727 (patch)
tree6a6a845bf33526fe5b4250d39944ae08bdf8fb15 /t/test-lib-functions.sh
parentMerge branch 'lp/no-cmd-http-fetch' into maint-1.7.11 (diff)
parenttests: Introduce test_seq (diff)
downloadtgif-c247d76c5419df96db62f6e7c9cf4f672f24a727.tar.xz
Merge branch 'mk/test-seq' into maint-1.7.11
Add a compatibility/utility function to the test framework. * mk/test-seq: tests: Introduce test_seq
Diffstat (limited to 't/test-lib-functions.sh')
-rw-r--r--t/test-lib-functions.sh21
1 files changed, 21 insertions, 0 deletions
diff --git a/t/test-lib-functions.sh b/t/test-lib-functions.sh
index 80daaca780..9096398b18 100644
--- a/t/test-lib-functions.sh
+++ b/t/test-lib-functions.sh
@@ -530,6 +530,27 @@ test_cmp() {
$GIT_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 (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
+# for k in `test_seq a z`; do
+# echo $i-$j-$k
+# done
+# done
+# done
+
+test_seq () {
+ 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
# unconditionally at the end of the test to restore sanity:
#