In order to be able to use a generic hashmap in things such
as the fs_backing_store we want one to exist. Here it is,
along with some moderately comprehensive tests.
Current limits:
1. All keys and values are owned by the hashmap
2. The hashmap, while capable of different bucket counts
only has a single fixed count for now
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
When assert() is called, which is not uncommon in utility code within NetSurf,
we lose coverage data for anything done before the assert() in the test. This
commit corrects that oversight but is at least slightly GCC specific and may
need tweaks for non-Linux platforms.
By default, 'make coverage' will enable assert coverage, and it can be disabled
with 'make coverage NOASSERTCOVERAGE=yes' if necessary.
Signed-off-by: Daniel Silverstone <dsilvers@netsurf-browser.org>
This builds a dynamic library which can cause heap allocation (malloc)
faliures after a specified number of calls. This is useful to allow
tesing of memory failure allocation paths within netsurf test suites.
An example test for core strings test has been added which
incrementaly fails alloctions allowing all error paths in
initialisation to be exercised.
Adds check based unit test for teh bloom filter implementation. This
is based on Roberts original test code in utils/bloom.c and uses
/usr/share/dict as a source of strings to check bloom creation, no
false negatives and the false positive rate is below 15%.
+ urldb API now takes URLs as nsurl, rather than string.
+ urldb internally stores full URLs with nsurl ref.
+ urldb internally stores schemes as lwc_string.
+ Load and save of cookies and URL file may be slower since
we now need to create a nsurl.
+ Everything else should be faster, and there should be much
less allocating/freeing and much less parsing of the same
url over and over again.
+ Updated urldbtest for new urldb API.
+ urldbtest now cleans up at the end
+ Added lwc_string itterator to end of urldbtest
+ Adding some broken URLs (such as http:domain/) will now
work, since nsurl fixes (http://domain/) them.
Fix up llcache tester to reflect nsurl changes
Make handling of http:,http:/,http:// consistent
Fix buffer overflow when presented with an input string: "http://"
svn path=/trunk/netsurf/; revision=13051