summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLibravatar Junio C Hamano <gitster@pobox.com>2012-08-22 11:51:37 -0700
committerLibravatar Junio C Hamano <gitster@pobox.com>2012-08-22 11:51:38 -0700
commitc90f06efd84ef0ace0c92509a8bfa1bb1d8b05a8 (patch)
treed780f6142b8e57a1f023757da338dcd663b69aaf
parentMerge branch 'pg/maint-apply-remove-unused-variable' (diff)
parenttests: Introduce test_seq (diff)
downloadtgif-c90f06efd84ef0ace0c92509a8bfa1bb1d8b05a8.tar.xz
Merge branch 'mk/test-seq'
Add a compatibility/utility function to the test framework. * mk/test-seq: tests: Introduce test_seq
-rw-r--r--t/perf/perf-lib.sh2
-rwxr-xr-xt/t5551-http-fetch.sh2
-rw-r--r--t/test-lib-functions.sh21
3 files changed, 23 insertions, 2 deletions
diff --git a/t/perf/perf-lib.sh b/t/perf/perf-lib.sh
index 5580c22812..a1361e530c 100644
--- a/t/perf/perf-lib.sh
+++ b/t/perf/perf-lib.sh
@@ -163,7 +163,7 @@ test_perf () {
else
echo "perf $test_count - $1:"
fi
- for i in $(seq 1 $GIT_PERF_REPEAT_COUNT); do
+ for i in $(test_seq 1 $GIT_PERF_REPEAT_COUNT); do
say >&3 "running: $2"
if test_run_perf_ "$2"
then
diff --git a/t/t5551-http-fetch.sh b/t/t5551-http-fetch.sh
index fadf2f258e..91eaf53d1d 100755
--- a/t/t5551-http-fetch.sh
+++ b/t/t5551-http-fetch.sh
@@ -114,7 +114,7 @@ test -n "$GIT_TEST_LONG" && test_set_prereq EXPENSIVE
test_expect_success EXPENSIVE 'create 50,000 tags in the repo' '
(
cd "$HTTPD_DOCUMENT_ROOT_PATH/repo.git" &&
- for i in `seq 50000`
+ for i in `test_seq 50000`
do
echo "commit refs/heads/too-many-refs"
echo "mark :$i"
diff --git a/t/test-lib-functions.sh b/t/test-lib-functions.sh
index 04b1a43ef2..9bc57d27e9 100644
--- a/t/test-lib-functions.sh
+++ b/t/test-lib-functions.sh
@@ -572,6 +572,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:
#