t3008: skip lazy-init test on a single-core box

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>

Kevin Willford committed Apr 3, 2017 at 15:16 UTC 845eec2b64d6a064ee7b453a77a309a419806896
1 file changed +11 -3
t/t3008-ls-files-lazy-init-name-hash.sh
+11 -3
@@ -4,14 +4,22 @@ test_description='Test the lazy init name hash with various folder structures'
4
5 . ./test-lib.sh
6
7 +if test 1 -eq $($GIT_BUILD_DIR/t/helper/test-online-cpus)
8 +then
9 + skip_all='skipping lazy-init tests, single cpu'
10 + test_done
11 +fi
12 +
13 +LAZY_THREAD_COST=2000
14 +
15 test_expect_success 'no buffer overflow in lazy_init_name_hash' '
16 (
9 - test_seq 2000 | sed "s/^/a_/"
17 + test_seq $LAZY_THREAD_COST | sed "s/^/a_/"
18 echo b/b/b
11 - test_seq 2000 | sed "s/^/c_/"
19 + test_seq $LAZY_THREAD_COST | sed "s/^/c_/"
20 test_seq 50 | sed "s/^/d_/" | tr "\n" "/"; echo d
21 ) |
14 - sed -e "s/^/100644 $EMPTY_BLOB /" |
22 + sed "s/^/100644 $EMPTY_BLOB /" |
23 git update-index --index-info &&
24 test-lazy-init-name-hash -m
25 '