3 static int destruct_counter = 0;
4 static int destruct_len = 0;
6 static void test_destuctor(vmlog_hash_entry *entry) {
9 destruct_len += entry->len;
17 int main(int argc,char **argv)
26 vml = vmlog_log_new(NULL,1);
29 vmlog_file_open(&(vml->idxfile),"TESTIDX",vmlogTruncateAppend);
30 vmlog_file_open(&(vml->strfile),"TESTSTR",vmlogTruncateAppend);
33 i = vmlog_get_string_index(vml,"foo",3);
35 IS(vml->stringhash.nentries,1);
38 i = vmlog_get_string_index(vml,"foo",3);
40 IS(vml->stringhash.nentries,1);
42 i = vmlog_get_string_index(vml,"bar",3);
44 IS(vml->stringhash.nentries,2);
47 i = vmlog_get_string_index(vml,"foo",3);
49 IS(vml->stringhash.nentries,2);
51 i = vmlog_get_string_index(vml,"",0);
53 IS(vml->stringhash.nentries,3);
55 i = vmlog_get_string_index(vml,"",0);
57 IS(vml->stringhash.nentries,3);
59 vmlog_hashtable_free(&(vml->stringhash),test_destuctor);
60 IS(destruct_counter,3);
62 vmlog_file_close(&(vml->idxfile));
63 vmlog_file_close(&(vml->strfile));
65 fd = open("TESTIDX",O_RDONLY);
68 IS(st.st_size,3*sizeof(vmlog_string_entry));
71 fd = open("TESTSTR",O_RDONLY);
74 IS(st.st_size,cumlen);
80 /* vim: noet ts=8 sw=8