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>
This commit is contained in:

committed by
Junio C Hamano

parent
e3482ccf27
commit
845eec2b64
@ -4,14 +4,22 @@ test_description='Test the lazy init name hash with various folder structures'
|
|||||||
|
|
||||||
. ./test-lib.sh
|
. ./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_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
|
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
|
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 &&
|
git update-index --index-info &&
|
||||||
test-lazy-init-name-hash -m
|
test-lazy-init-name-hash -m
|
||||||
'
|
'
|
||||||
|
Reference in New Issue
Block a user