p0004: don't error out if test repo is too small
authorRené Scharfe <l.s.r@web.de>
Sat, 13 May 2017 16:03:50 +0000 (18:03 +0200)
committerJunio C Hamano <gitster@pobox.com>
Tue, 16 May 2017 02:11:56 +0000 (11:11 +0900)
Repositories with less than 4000 entries are always handled using a
single thread, causing test-lazy-init-name-hash --multi to error out.
Don't abort the whole test script in that case, but simply skip the
multi-threaded performance check. We can still use it to compare the
single-threaded speed of different versions in that case.

Signed-off-by: Rene Scharfe <l.s.r@web.de>
Acked-by: Jeff Hostetler <git@jeffhostetler.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
t/perf/p0004-lazy-init-name-hash.sh
index 3c2135a18527b75e7cae69b827b6732a792fe7cd..8de5a98cfc6c513bb35cd8355f3e831ab3a8007d 100755 (executable)
@@ -8,10 +8,13 @@ test_checkout_worktree
 
 test_expect_success 'verify both methods build the same hashmaps' '
        test-lazy-init-name-hash --dump --single >out.single &&
 
 test_expect_success 'verify both methods build the same hashmaps' '
        test-lazy-init-name-hash --dump --single >out.single &&
-       test-lazy-init-name-hash --dump --multi >out.multi &&
-       sort <out.single >sorted.single &&
-       sort <out.multi >sorted.multi &&
-       test_cmp sorted.single sorted.multi
+       if test-lazy-init-name-hash --dump --multi >out.multi
+       then
+               test_set_prereq REPO_BIG_ENOUGH_FOR_MULTI &&
+               sort <out.single >sorted.single &&
+               sort <out.multi >sorted.multi &&
+               test_cmp sorted.single sorted.multi
+       fi
 '
 
 test_expect_success 'calibrate' '
 '
 
 test_expect_success 'calibrate' '
@@ -46,7 +49,7 @@ test_perf "single-threaded, $desc" "
        test-lazy-init-name-hash --single --count=$count
 "
 
        test-lazy-init-name-hash --single --count=$count
 "
 
-test_perf "multi-threaded, $desc" "
+test_perf REPO_BIG_ENOUGH_FOR_MULTI "multi-threaded, $desc" "
        test-lazy-init-name-hash --multi --count=$count
 "
 
        test-lazy-init-name-hash --multi --count=$count
 "