]> mj.ucw.cz Git - libucw.git/blobdiff - lib/db-test.c
Another thing about the C standard I didn't know: passing a va_list to
[libucw.git] / lib / db-test.c
index d4dc4a2f512122c4ef83a5634913a1e89680680b..23d3f21c36498eee122232e1dedec8f14026d654 100644 (file)
@@ -1,14 +1,17 @@
 /*
- *     Sherlock Library -- Database Manager -- Tests and Benchmarks
+ *     UCW Library -- Database Manager -- Tests and Benchmarks
  *
- *     (c) 1999 Martin Mares <mj@atrey.karlin.mff.cuni.cz>
+ *     (c) 1999 Martin Mares <mj@ucw.cz>
+ *
+ *     This software may be freely distributed and used according to the terms
+ *     of the GNU Lesser General Public License.
  */
 
 #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 +48,7 @@ Options:\n\
 -kU            Use keys with URL distribution\n\
 -n<n>          Number of distinct keys\n\
 -d<m>[-<n>]    Use specified value size (see -k<m>-<n>)\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 +261,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 +299,9 @@ int main(int argc, char **argv)
       case 'F':
        opts.flags |= SDBM_FAST;
        break;
+      case 't':
+       dont_delete = 1;
+       break;
       default:
        help();
       }
@@ -316,7 +324,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");