t/t4216-log-bloom.sh: harden test_bloom_filters_not_used()
The existing implementation of test_bloom_filters_not_used() asserts that the Bloom filter sub-system has not been initialized at all, by checking for the absence of any data from it from trace2. In the following commit, it will become possible to load Bloom filters without using them (e.g., because `commitGraph.changedPathVersion` is incompatible with the hash version with which the commit-graph's Bloom filters were written). When this is the case, it's possible to initialize the Bloom filter sub-system, while still not using any Bloom filters. When this is the case, check that the data dump from the Bloom sub-system is all zeros, indicating that no filters were used. Signed-off-by: Taylor Blau <me@ttaylorr.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:

committed by
Junio C Hamano

parent
813d9a9188
commit
b5d4831a62
@ -81,7 +81,19 @@ test_bloom_filters_used () {
|
||||
test_bloom_filters_not_used () {
|
||||
log_args=$1
|
||||
setup "$log_args" &&
|
||||
! grep -q "statistics:{\"filter_not_present\":" "$TRASH_DIRECTORY/trace.perf" &&
|
||||
|
||||
if grep -q "statistics:{\"filter_not_present\":" "$TRASH_DIRECTORY/trace.perf"
|
||||
then
|
||||
# if the Bloom filter system is initialized, ensure that no
|
||||
# filters were used
|
||||
data="statistics:{"
|
||||
data="$data\"filter_not_present\":0,"
|
||||
data="$data\"maybe\":0,"
|
||||
data="$data\"definitely_not\":0,"
|
||||
data="$data\"false_positive\":0}"
|
||||
|
||||
grep -q "$data" "$TRASH_DIRECTORY/trace.perf"
|
||||
fi &&
|
||||
test_cmp log_wo_bloom log_w_bloom
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user