Browse Source

tdb2: speed up testing.

The time to run tests under valgrind has become excessive; particularly
the failure tests which fork().   Thus we cut down testing:

1) api-94-repack: reduce from 234 seconds to 2 seconds by cutting
   iterations, despite adding TDB_VERSION1 tests.

2) api-missing-entries: reduce from 17 seconds to under 1 second by
   not checking db inside loop, but at end.

This reduces the total ccanlint time from 729 to 489 seconds.
Rusty Russell 14 years ago
parent
commit
a99c2ccf97
2 changed files with 7 additions and 5 deletions
  1. 4 1
      ccan/tdb2/test/api-93-repack.c
  2. 3 4
      ccan/tdb2/test/api-missing-entries.c

+ 4 - 1
ccan/tdb2/test/api-93-repack.c

@@ -5,7 +5,7 @@
 #include <fcntl.h>
 #include <fcntl.h>
 #include "logging.h"
 #include "logging.h"
 
 
-#define NUM_TESTS 50000
+#define NUM_TESTS 1000
 
 
 static bool store_all(struct tdb_context *tdb)
 static bool store_all(struct tdb_context *tdb)
 {
 {
@@ -53,6 +53,9 @@ int main(int argc, char *argv[])
 	struct tdb_context *tdb;
 	struct tdb_context *tdb;
 	int flags[] = { TDB_DEFAULT, TDB_NOMMAP,
 	int flags[] = { TDB_DEFAULT, TDB_NOMMAP,
 			TDB_CONVERT, TDB_NOMMAP|TDB_CONVERT,
 			TDB_CONVERT, TDB_NOMMAP|TDB_CONVERT,
+			TDB_VERSION1, TDB_VERSION1|TDB_NOMMAP,
+			TDB_VERSION1|TDB_CONVERT,
+			TDB_VERSION1|TDB_NOMMAP|TDB_CONVERT
 	};
 	};
 
 
 	plan_tests(sizeof(flags) / sizeof(flags[0]) * 6 + 1);
 	plan_tests(sizeof(flags) / sizeof(flags[0]) * 6 + 1);

+ 3 - 4
ccan/tdb2/test/api-missing-entries.c

@@ -26,16 +26,15 @@ int main(int argc, char *argv[])
 						.fn = failhash } };
 						.fn = failhash } };
 
 
 	hattr.base.next = &tap_log_attr;
 	hattr.base.next = &tap_log_attr;
-	plan_tests(1 + 2 * NUM_RECORDS + 1);
+	plan_tests(1 + NUM_RECORDS + 2);
 
 
 	tdb = tdb_open("run-missing-entries.tdb", TDB_INTERNAL,
 	tdb = tdb_open("run-missing-entries.tdb", TDB_INTERNAL,
 		       O_RDWR|O_CREAT|O_TRUNC, 0600, &hattr);
 		       O_RDWR|O_CREAT|O_TRUNC, 0600, &hattr);
-	ok1(tdb);
-	if (tdb) {
+	if (ok1(tdb)) {
 		for (i = 0; i < NUM_RECORDS; i++) {
 		for (i = 0; i < NUM_RECORDS; i++) {
 			ok1(tdb_store(tdb, key, data, TDB_REPLACE) == 0);
 			ok1(tdb_store(tdb, key, data, TDB_REPLACE) == 0);
-			ok1(tdb_check(tdb, NULL, NULL) == 0);
 		}
 		}
+		ok1(tdb_check(tdb, NULL, NULL) == 0);
 		tdb_close(tdb);
 		tdb_close(tdb);
 	}
 	}