-
Notifications
You must be signed in to change notification settings - Fork 9
Open
Description
This issue calls for improving code coverage of the bloomfilter
library.
A code coverage report was created by executing cabal test --enable-coverage lsm-tree:bloomfilter-tests
on the main
branch as of 2 April 2025, concretely on commit 441f194.
The individual coverage deficits of all modules in the bloomfilter
library where examined. All non-trivial cases of missing coverage are listed below. Each case is described by either of the following:
- A situation that never occurred, which led to code not being executed
- A value that was never used (in which case the description contains the phrase “never used”)
Missing coverage of the following kinds is not mentioned here:
- Lack of coverage that follows from the program logic (impossible situations and unneeded values)
- Derived class instantiations
- Instantiations of
NFData
- Field selectors
- Error message strings or parts thereof
- Explicit
()
Data.BloomFilter
freeze
- Never used
thaw
- Never used
empty
- Never used
singleton
- Never used
elemHashes
- Bit in Bloom filter not set
length
- Never used
unfold
- Never used
Data.BloomFilter.BitVec64
prefetchIndex
- Never used
new
- 128 or more words
unsafeWrite
- Bit to be cleared
unsafeRead
- Never used
freeze
- Never used
thaw
- Never used
Data.BloomFilter.Calc
falsePositiveProb
- Never used
Data.BloomFilter.Easy
easyList
- Empty set
easyNew
- Never used
safeSuggestSizing
- Non-positive expected maximum capacity
- Expected maximum capacity too large
- Invalid desired FPR
primes
- All above 1021 never used
suggestSizing
- Invalid expected maximum capacity
- Invalid desired FPR
Data.BloomFilter.Hash
hashSalt64 @ByteArray
- Never used
hashByteArray
- Never used
update @Word32
- Never used
update @Char
- Never used
makeHashes @RealHashes
- Never used
evalHashes @RealHashes
- Never used
Prim (CheapHashes a)
- Never used
indexLo
- Never used
indexHi
- Never used
Data.BloomFilter.Internal
(==) @(Bloom' h a)
- Size divisible by 64
Show (Bloom' h a)
- Never used
Data.BloomFilter.Mutable
new
- No bits in filter
- 2⁴⁸ − 1 or more bits in filter1
elem
- Never used
elemHashes
- Never used
length
- Never used
Data.BloomFilter.Mutable.Internal
Show (MBloom' s h a)
- Never used
Footnotes
-
I actually wonder whether the corresponding guard should say
>
instead of>=
, thus referring to 2⁴⁸ or more bits. ↩
Metadata
Metadata
Assignees
Labels
No labels