unitlruhash.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/lruhash.h"
#include "util/storage/slabhash.h"

Data Structures

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

Defines

#define HASHTESTMAX   25
 number of hash test max

Typedefs

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

Functions

static void delkey (struct slabhash_testkey *k)
 delete key
static void deldata (struct slabhash_testdata *d)
 delete data
static hashvalue_t myhash (int id)
 hash func, very bad to improve collisions
static testkey_tnewkey (int id)
 allocate new key, fill in hash
static testdata_tnewdata (int val)
 new data el
static void test_bin_find_entry (struct lruhash *table)
 test bin_find_entry function and bin_overflow_remove
static void test_lru (struct lruhash *table)
 test lru_front lru_remove
static void test_short_table (struct lruhash *table)
 test hashtable using short sequence
static void testadd (struct lruhash *table, testdata_t *ref[])
 test adding a random element
static void testremove (struct lruhash *table, testdata_t *ref[])
 test adding a random element
static void testlookup (struct lruhash *table, testdata_t *ref[])
 test adding a random element
static void check_table (struct lruhash *table)
 check integrity of hash table
static void testadd_unlim (struct lruhash *table, testdata_t **ref)
 test adding a random element (unlimited range)
static void testremove_unlim (struct lruhash *table, testdata_t **ref)
 test adding a random element (unlimited range)
static void testlookup_unlim (struct lruhash *table, testdata_t **ref)
 test adding a random element (unlimited range)
static void test_long_table (struct lruhash *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 lruhash *table)
 test hash table access by multiple threads
void lruhash_test ()
 unit test lruhashtable implementation

Detailed Description

Tests the locking LRU keeping hash table implementation.

Generated on Thu Apr 22 00:27:07 2010 for unbound by  doxygen 1.6.3