X-Git-Url: http://mj.ucw.cz/gitweb/?a=blobdiff_plain;f=lib%2Fdb-test.c;h=659313b82356db9f76965c323257668d4bde2f05;hb=23552983305e667eeb772406d1745ab7b865855e;hp=4ba3afd5cc2ab2dd0134fc121604788367781620;hpb=abe1abe4f943ae9157588556d486a6863262226a;p=libucw.git diff --git a/lib/db-test.c b/lib/db-test.c index 4ba3afd5..659313b8 100644 --- a/lib/db-test.c +++ b/lib/db-test.c @@ -1,14 +1,14 @@ /* * Sherlock Library -- Database Manager -- Tests and Benchmarks * - * (c) 1999 Martin Mares + * (c) 1999 Martin Mares */ #if 1 -#include "db.c" +#include "lib/db.c" #define NAME "SDBM" #else -#include "db-emul.c" +#include "lib/db-emul.c" #define NAME "GDBM" #endif @@ -45,6 +45,7 @@ Options:\n\ -kU Use keys with URL distribution\n\ -n Number of distinct keys\n\ -d[-] Use specified value size (see -k-)\n\ +-t Perform the tests on an existing database file\n\ -v Be verbose\n\ -s Turn on synchronous mode\n\ -S Turn on supersynchronous mode\n\ @@ -257,11 +258,12 @@ int main(int argc, char **argv) byte kb[2048], vb[2048], vb2[2048]; uns ks, vs, vs2, perc, cnt; char *ch; + int dont_delete = 0; - initlog("dbtest"); + log_init("dbtest"); setvbuf(stdout, NULL, _IONBF, 0); setvbuf(stderr, NULL, _IONBF, 0); - while ((c = getopt(argc, argv, "c:p:k:n:d:vsSF")) >= 0) + while ((c = getopt(argc, argv, "c:p:k:n:d:vsStF")) >= 0) switch (c) { case 'c': @@ -294,6 +296,9 @@ int main(int argc, char **argv) case 'F': opts.flags |= SDBM_FAST; break; + case 't': + dont_delete = 1; + break; default: help(); } @@ -316,7 +321,8 @@ int main(int argc, char **argv) verb("OPEN(%s, key=%d, val=%d, cache=%d, pgorder=%d)\n", opts.name, opts.key_size, opts.val_size, opts.cache_size, opts.page_order); - unlink(opts.name); + if (!dont_delete) + unlink(opts.name); d = sdbm_open(&opts); if (!d) die("open failed: %m"); @@ -360,7 +366,7 @@ int main(int argc, char **argv) ch = o; perc = 100; } - cnt = atol(o); + cnt = atol(ch); if (!cnt) { cnt = num_keys;