]> mj.ucw.cz Git - libucw.git/commitdiff
Moved tests to extra file.
authorMartin Mares <mj@ucw.cz>
Mon, 15 Nov 1999 22:47:10 +0000 (22:47 +0000)
committerMartin Mares <mj@ucw.cz>
Mon, 15 Nov 1999 22:47:10 +0000 (22:47 +0000)
lib/db-test.c [new file with mode: 0644]
lib/db.c

diff --git a/lib/db-test.c b/lib/db-test.c
new file mode 100644 (file)
index 0000000..6eeb8a7
--- /dev/null
@@ -0,0 +1,104 @@
+/*
+ *     Sherlock Library -- Database Manager -- Simple Tests
+ *
+ *     (c) 1999 Martin Mares <mj@atrey.karlin.mff.cuni.cz>
+ */
+
+#if 1
+#include "db.c"
+#else
+#include "db-emul.c"
+#endif
+
+int main(void)
+{
+  struct sdbm *d;
+  struct sdbm_options o = {
+    name: "db.test",
+    flags: SDBM_CREAT | SDBM_WRITE,
+    page_order: 10,
+    cache_size: 1024,
+    key_size: -1,
+    val_size: 4
+  };
+  byte buf[256];
+  int i, j, k, l, m, n;
+#define BIGN 10000
+
+  puts("OPEN");
+  d = sdbm_open(&o);
+  if (!d)
+    die("failed: %m");
+
+  puts("WRITE");
+  for(i=0; i<BIGN; i++)
+    {
+      sprintf(buf, "%d", i);
+      k = sdbm_store(d, buf, strlen(buf), (byte *) &i, sizeof(i));
+//      printf("%s:%d\r", buf, k);
+      fflush(stdout);
+    }
+  sdbm_sync(d);
+
+  puts("REWRITE");
+  for(i=0; i<BIGN; i++)
+    {
+      sprintf(buf, "%d", i);
+      k = sdbm_replace(d, buf, strlen(buf), (byte *) &i, sizeof(i));
+//      printf("%s:%d\r", buf, k);
+      if (!k) { printf("XXX %s %d\n", buf, k); return 1; }
+      fflush(stdout);
+    }
+  sdbm_sync(d);
+
+  puts("READ");
+  for(i=0; i<BIGN; i++)
+    {
+      sprintf(buf, "%d", i);
+      j = sdbm_fetch(d, buf, strlen(buf), NULL, NULL);
+//      printf("%s:%d\r", buf, j);
+      fflush(stdout);
+      if (!j)
+       { printf("\nERR: %s %d\n", buf, j); return 1; }
+    }
+
+  puts("FETCH");
+  sdbm_rewind(d);
+  l = 0;
+  m = 0;
+  n = 0;
+  for(;;)
+    {
+      j = sizeof(buf);
+      i = sdbm_get_next(d, buf, &j, (byte *) &k, NULL);
+      if (i < 0) { puts("ERRRR\n"); return 1; }
+      if (!i) break;
+      buf[j] = 0;
+//      printf("%s %d\n", buf, k);
+      l += k;
+      m += n++;
+    }
+  if (n != BIGN) { printf("MISMATCH COUNT %d\n", n); return 1; }
+  if (l != m) { printf("MISMATCH %d != %d\n", l, m); return 1; }
+
+  puts("DELETE");
+  for(i=0; i<BIGN; i++)
+    {
+      sprintf(buf, "%d", i);
+      j = sdbm_delete(d, buf, strlen(buf));
+//      printf("%s:%d\r", buf, j);
+      fflush(stdout);
+      if (!j)
+       { printf("\nERR: %s %d\n", buf, j); return 1; }
+    }
+  sdbm_sync(d);
+
+  puts("CHECK");
+  sdbm_rewind(d);
+  if (sdbm_get_next(d, buf, NULL, NULL, NULL)) { puts("NOT EMPTY!"); return 1; }
+
+  puts("CLOSE");
+  sdbm_close(d);
+  puts("DONE");
+  return 0;
+}
index ea8e530c386025725ff64094942470fab34fa14f..fee956b14b849e9b9d2c4569d1898a9a278b8969 100644 (file)
--- a/lib/db.c
+++ b/lib/db.c
@@ -567,100 +567,3 @@ sdbm_sync(struct sdbm *d)
   if (d->flags & SDBM_FSYNC)
     fsync(d->fd);
 }
-
-#ifdef TEST
-
-int main(void)
-{
-  struct sdbm *d;
-  struct sdbm_options o = {
-    name: "db.test",
-    flags: SDBM_CREAT | SDBM_WRITE,
-    page_order: 10,
-    cache_size: 1024,
-    key_size: -1,
-    val_size: 4
-  };
-  byte buf[256];
-  int i, j, k, l, m, n;
-#define BIGN 100000
-
-  puts("OPEN");
-  d = sdbm_open(&o);
-  if (!d)
-    die("failed: %m");
-
-  puts("WRITE");
-  for(i=0; i<BIGN; i++)
-    {
-      sprintf(buf, "%d", i);
-      k = sdbm_store(d, buf, strlen(buf), (byte *) &i, sizeof(i));
-//      printf("%s:%d\r", buf, k);
-      fflush(stdout);
-    }
-  sdbm_sync(d);
-
-  puts("REWRITE");
-  for(i=0; i<BIGN; i++)
-    {
-      sprintf(buf, "%d", i);
-      k = sdbm_replace(d, buf, strlen(buf), (byte *) &i, sizeof(i));
-//      printf("%s:%d\r", buf, k);
-      if (!k) { printf("XXX %s %d\n", buf, k); return 1; }
-      fflush(stdout);
-    }
-  sdbm_sync(d);
-
-  puts("READ");
-  for(i=0; i<BIGN; i++)
-    {
-      sprintf(buf, "%d", i);
-      j = sdbm_fetch(d, buf, strlen(buf), NULL, NULL);
-//      printf("%s:%d\r", buf, j);
-      fflush(stdout);
-      if (!j)
-       { printf("\nERR: %s %d %x %d\n", buf, j, sdbm_hash(buf, strlen(buf)), d->dir_shift); return 1; }
-    }
-
-  puts("FETCH");
-  sdbm_rewind(d);
-  l = 0;
-  m = 0;
-  n = 0;
-  for(;;)
-    {
-      j = sizeof(buf);
-      i = sdbm_get_next(d, buf, &j, (byte *) &k, NULL);
-      if (i < 0) { puts("ERRRR\n"); return 1; }
-      if (!i) break;
-      buf[j] = 0;
-//      printf("%s %d\n", buf, k);
-      l += k;
-      m += n++;
-    }
-  if (n != BIGN) { printf("MISMATCH COUNT %d\n", n); return 1; }
-  if (l != m) { printf("MISMATCH %d != %d\n", l, m); return 1; }
-
-  puts("DELETE");
-  for(i=0; i<BIGN; i++)
-    {
-      sprintf(buf, "%d", i);
-      j = sdbm_delete(d, buf, strlen(buf));
-//      printf("%s:%d\r", buf, j);
-      fflush(stdout);
-      if (!j)
-       { printf("\nERR: %s %d %x %d\n", buf, j, sdbm_hash(buf, strlen(buf)), d->dir_shift); return 1; }
-    }
-  sdbm_sync(d);
-
-  puts("CHECK");
-  sdbm_rewind(d);
-  if (sdbm_get_next(d, buf, NULL, NULL, NULL)) { puts("NOT EMPTY!"); return 1; }
-
-  puts("CLOSE");
-  sdbm_close(d);
-  puts("DONE");
-  return 0;
-}
-
-#endif