t3008: skip lazy-init test on a single-core box
authorKevin Willford <kewillf@microsoft.com>
Mon, 3 Apr 2017 15:16:42 +0000 (15:16 +0000)
committerJunio C Hamano <gitster@pobox.com>
Thu, 13 Apr 2017 06:24:36 +0000 (23:24 -0700)
The lazy-init codepath will not be exercised uniless threaded. Skip
the entire test on a single-core box. Also replace a hard-coded
constant of 2000 (number of cache entries to manifacture for tests)
with a variable with a human readable name.

Signed-off-by: Kevin Willford <kewillf@microsoft.com>
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Jeff Hostetler <jeffhost@microsoft.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
t/t3008-ls-files-lazy-init-name-hash.sh
index 971975bff4f8fb7cd3eeb3f50e212855c68b4f1a..bdf5198b7eff11f9a7bfb57239f5905d92fe4bf7 100755 (executable)
@@ -4,14 +4,22 @@ test_description='Test the lazy init name hash with various folder structures'
 
 . ./test-lib.sh
 
+if test 1 -eq $($GIT_BUILD_DIR/t/helper/test-online-cpus)
+then
+       skip_all='skipping lazy-init tests, single cpu'
+       test_done
+fi
+
+LAZY_THREAD_COST=2000
+
 test_expect_success 'no buffer overflow in lazy_init_name_hash' '
        (
-           test_seq 2000 | sed "s/^/a_/"
+           test_seq $LAZY_THREAD_COST | sed "s/^/a_/"
            echo b/b/b
-           test_seq 2000 | sed "s/^/c_/"
+           test_seq $LAZY_THREAD_COST | sed "s/^/c_/"
            test_seq 50 | sed "s/^/d_/" | tr "\n" "/"; echo d
        ) |
-       sed -e "s/^/100644 $EMPTY_BLOB  /" |
+       sed "s/^/100644 $EMPTY_BLOB     /" |
        git update-index --index-info &&
        test-lazy-init-name-hash -m
 '