Bigfoot71 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
..
lru_cache 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
threads 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
Makefile 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
README 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
all_funcs 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
bloom_perf.c 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
bloom_perf.sh 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
do_tests 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
do_tests.cygwin 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
do_tests.mingw 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
do_tests_win32.cmd 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
emit_keys.c 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
example.c 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
hashscan.c 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
keystats 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
simkeys.pl 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
sleep_test.c 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
tdiff.cpp 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test1.ans 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test1.c 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test10.ans 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test10.c 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test100.ans 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test100.c 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test11.ans 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test11.c 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test11.dat 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test12.ans 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test12.c 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test13.ans 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test13.c 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test14.ans 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test14.c 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test14.dat 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test15.ans 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test15.c 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test16.ans 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test16.c 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test17.ans 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test17.c 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test18.ans 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test18.c 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test19.ans 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test19.c 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test2.ans 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test2.c 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test20.ans 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test20.c 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test21.ans 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test21.c 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test22.ans 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test22.c 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test23.ans 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test23.c 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test24.ans 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test24.c 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test25.ans 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test25.c 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test26.ans 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test26.c 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test27.ans 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test27.c 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test28.ans 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test28.c 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test29.ans 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test29.c 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test3.ans 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test3.c 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test30.ans 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test30.c 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test31.ans 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test31.c 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test32.ans 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test32.c 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test33.ans 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test33.c 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test34.ans 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test34.c 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test35.ans 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test35.c 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test36.ans 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test36.c 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test37.ans 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test37.c 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test38.ans 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test38.c 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test39.ans 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test39.c 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test4.ans 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test4.c 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test40.ans 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test40.c 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test41.ans 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test41.c 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test42.ans 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test42.c 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test43.ans 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test43.c 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test44.ans 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test44.c 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test45.ans 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test45.c 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test46.ans 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test46.c 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test47.ans 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test47.c 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test48.ans 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test48.c 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test49.ans 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test49.c 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test5.ans 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test5.c 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test50.ans 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test50.c 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test51.ans 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test51.c 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test52.ans 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test52.c 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test53.ans 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test53.c 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test54.ans 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test54.c 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test55.ans 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test55.c 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test56.ans 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test56.c 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test57.ans 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test57.c 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test58.ans 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test58.c 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test59.ans 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test59.c 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test6.ans 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test6.c 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test60.ans 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test60.c 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test61.ans 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test61.c 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test62.ans 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test62.c 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test63.ans 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test63.c 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test64.ans 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test64.c 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test65.ans 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test65.c 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test65.dat 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test66.ans 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test66.c 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test67.ans 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test67.c 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test68.ans 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test68.c 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test69.ans 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test69.c 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test7.ans 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test7.c 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test70.ans 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test70.c 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test71.ans 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test71.c 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test72.ans 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test72.c 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test73.ans 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test73.c 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test74.ans 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test74.c 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test75.ans 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test75.c 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test76.ans 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test76.c 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test77.ans 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test77.c 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test78.ans 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test78.c 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test79.ans 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test79.c 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test8.ans 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test8.c 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test80.ans 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test80.c 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test81.ans 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test81.c 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test82.ans 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test82.c 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test83.ans 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test83.c 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test84.ans 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test84.c 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test85.ans 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test85.c 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test86.ans 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test86.c 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test87.ans 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test87.c 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test88.ans 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test88.c 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test89.ans 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test89.c 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test9.ans 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test9.c 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test90.ans 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test90.c 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test91.ans 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test91.c 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test92.ans 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test92.c 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test93.ans 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test93.c 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test94.ans 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test94.c 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test95.ans 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test95.c 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test96.ans 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test96.c 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test97.ans 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test97.c 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test98.ans 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test98.c 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test99.ans 7ee18a3d13 adding uthahs as dependency 2 luni în urmă
test99.c 7ee18a3d13 adding uthahs as dependency 2 luni în urmă

README

Automated tests for uthash
==============================================================================
Run "make" in this directory to build the tests and run them.

test1: make 10-item hash, iterate and print each one
test2: make 10-item hash, lookup items with even keys, print
test3: make 10-item hash, delete items with even keys, print others
test4: 10 structs have dual hash handles, separate keys
test5: 10 structs have dual hash handles, lookup evens by alt key
test6: test alt malloc macros (and alt key-comparison macro)
test7: test alt malloc macros with 1000 structs so bucket expansion occurs
test8: test num_items counter in UT_hash_handle
test9: test "find" after bucket expansion
test10: dual-hash handle test, bucket expansion on one and not the other
test11: read dat file of names into hash, sort them and print
test12: create hash with string keys, add 10 items, lookup each item
test13: make 10-item hash, delete items with even keys, reverse print others
test14: read dat file of names into hash, read file again and lookup each one
test15: build string-keyed hash of 3 items, lookup one item (c.f. test40.c)
test16: hash on aggregate key, iterate, lookup, using generalized macros
test17: sort, add more items, sort again
test18: test pathological HASH_DEL(a,a) scenario (single head,deletee variable)
test19: sort two hash tables with shared elements using HASH_SRT
test20: test a 5-byte "binary" key
test21: test a structure key (userguide)
test22: test multi-field key using flexible array member (userguide utf32)
test23: test whether delete in iteration works
test24: make 10-item hash and confirm item count (HASH_COUNT)
test25: CDL / DL / LL tests
test26: test the linked list sort macros in utlist.h
test27: LL_APPEND, SORT
test28: CDL / DL / LL tests
test29: DL_APPEND, SORT
test30: CDL_PREPEND, SORT
test31: CDL_PREPEND, SORT
test32: DL_PREPEND
test33: LL_PREPEND
test34: CDL_PREPEND
test35: CDL_PREPEND
test36: HASH_SELECT
test37: HASH_CLEAR
test38: find-or-add test on integer keys in short loop
test39: HASH_ADD_KEYPTR then HASH_FIND using array element as key pointer
test40: HASH_ADD_KEYPTR on string keys; pointer equivalent to test15.c
test41: test LL_FOREACH_SAFE,DL_FOREACH_SAFE,CDL_FOREACH_SAFE
test42: test LL_SEARCH, LL_SEARCH_SCALAR, and DL and CDL counterparts
test43: test utarray with intpair objects
test44: test utarray with int objects
test45: test utarray with int objects
test46: test utarray with char* objects
test47: test utstring
test48: test utarray of int
test49: test utarray of str
test50: test utarray of long
test51: test utarray of intpair
test52: test utarray of intchar
test53: test utstring
test54: test utstring
test55: test utstring
test56: test uthash, utlist and utstring together for #define conflicts etc
test57: test uthash HASH_ADD_PTR and HASH_FIND_PTR
test58: test HASH_ITER macro
test59: sample of multi-level hash
test60: sample of multi-level hash that also does HASH_DEL and free
test61: test utarray_find
test62: test macros used in safe unaligned reads on non-Intel type platforms
test63: LL_CONCAT test
test64: DL_CONCAT test
test65: LRU cache example courtesy of jehiah.cz with modifications
test66: test example where output variable to HASH_FIND needs extra parens
test67: test utarray_prev
test68: test DL_REPLACE_ELEM (Zoltán Lajos Kis)
test69: test DL_PREPEND_ELEM (Zoltán Lajos Kis)
test70: test LL_REPLACE_ELEM (Zoltán Lajos Kis)
test71: test LL_PREPEND_ELEM (Zoltán Lajos Kis)
test72: test CDL_REPLACE_ELEM (Zoltán Lajos Kis)
test73: test CDL_PREPEND_ELEM (Zoltán Lajos Kis)
test74: test utstring with utstring_find (Joe Wei)
test75: test utstring with utstring_findR (Joe Wei)
test76: test utstring with _utstring_find (Joe Wei)
test77: test utstring with _utstring_findR (Joe Wei)
test78: test utlist "2" family with flexible Prev/Next naming eg. DL_DELETE2
test79: test HASH_REPLACE
test80: test utarray_insert past end of array
test81: test utarray_insert past end of array
test82: test utarray_inserta past end of array
test83: test HASH_REPLACE_STR with char[] key
test84: test HASH_REPLACE_STR with char* key
test85: test HASH_OVERHEAD on null and non null hash
test86: test *_APPEND_ELEM / *_PREPEND_ELEM (Thilo Schulz)
test87: test HASH_ADD_INORDER() macro (Thilo Schulz)
test88: test alt key-comparison and strlen macros
test89: test code from the tinydtls project
test90: regression-test HASH_ADD_KEYPTR_INORDER (IronBug)
test91: test LL_INSERT_INORDER etc.
test92: HASH_NONFATAL_OOM
test93: alt_fatal
test94: utlist with fields named other than 'next' and 'prev'
test95: utstack
test96: HASH_FUNCTION + HASH_KEYCMP
test97: deleting a const-qualified node from a hash

Other Make targets
================================================================================
pedantic: makes the tests with extra CFLAGS for pedantic compiling
cplusplus: compiles all the C tests using the C++ compiler to test compatibility
debug: makes the tests with debugging symbols and no optimization
example: builds the 'example' program from the user guide
================================================================================

Testing a specific hash function
--------------------------------
Set EXTRA_CFLAGS with this Makefile to use a specific hash function:
EXTRA_CFLAGS=-DHASH_FUNCTION=HASH_BER make

Other files
================================================================================
keystats: key statistics analyzer. See the uthash User Guide.
emit_keys: reads a data file of unique strings, emits as keys w/HASH_EMIT_KEYS=1
all_funcs: a script which executes the test suite with every hash function
win32tests:builds and runs the test suite under Microsoft Visual Studio

LINUX/FREEBSD
-------------
hashscan: tool to examine a running process and get info on its hash tables
test_sleep:used as a subject for inspection by hashscan

Manual performance testing
================================================================================
# test performance characteristics on keys that are English dictionary words
emit_keys /usr/share/dict/words > words.keys
./keystats words.keys