unitslabhash.c File Reference

Tests the locking LRU keeping hash table implementation. More...

#include "config.h"
#include "testcode/unitmain.h"
#include "util/log.h"
#include "util/storage/slabhash.h"

Data Structures

struct  slab_test_thr
 structure to threaded test the lru hash table More...

Defines

#define HASHTESTMAX   32
 number of hash test max

Typedefs

typedef struct slabhash_testkey testkey_t
 use this type for the slabhash test key
typedef struct slabhash_testdata testdata_t
 use this type for the slabhash test data

Functions

static void delkey (struct slabhash_testkey *k)
 delete key
static hashvalue_t myhash (int id)
 hash func, very bad to improve collisions, both high and low bits
static testkey_tnewkey (int id)
 allocate new key, fill in hash
static testdata_tnewdata (int val)
 new data el
static void test_short_table (struct slabhash *table)
 test hashtable using short sequence
static void testadd (struct slabhash *table, testdata_t *ref[])
 test adding a random element
static void testremove (struct slabhash *table, testdata_t *ref[])
 test adding a random element
static void testlookup (struct slabhash *table, testdata_t *ref[])
 test adding a random element
static void check_lru_table (struct lruhash *table)
 check integrity of hash table
static void check_table (struct slabhash *table)
 check integrity of hash table
static void testadd_unlim (struct slabhash *table, testdata_t **ref)
 test adding a random element (unlimited range)
static void testremove_unlim (struct slabhash *table, testdata_t **ref)
 test adding a random element (unlimited range)
static void testlookup_unlim (struct slabhash *table, testdata_t **ref)
 test adding a random element (unlimited range)
static void test_long_table (struct slabhash *table)
 test with long sequence of adds, removes and updates, and lookups
static void * test_thr_main (void *arg)
 main routine for threaded hash table test
static void test_threaded_table (struct slabhash *table)
 test hash table access by multiple threads
void slabhash_test ()
 unit test slabhashtable implementation

Detailed Description

Tests the locking LRU keeping hash table implementation.

Generated on Thu Apr 22 00:30:18 2010 for unbound by  doxygen 1.6.3