-
Notifications
You must be signed in to change notification settings - Fork 10
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. ↩
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels