]> git.ozlabs.org Git - ccan/blobdiff - ccan/tdb2/test/run-summary.c
tdb2: use failtest for opening and checking database.
[ccan] / ccan / tdb2 / test / run-summary.c
index d6ccf2fa7c570801f2802322e0dc3d3d238d7b2c..8ef5c80ef557b90867a6f97896834db2a31065df 100644 (file)
@@ -5,6 +5,7 @@
 #include <ccan/tdb2/hash.c>
 #include <ccan/tdb2/check.c>
 #include <ccan/tdb2/summary.c>
+#include <ccan/tdb2/transaction.c>
 #include <ccan/tap/tap.h>
 #include "logging.h"
 
@@ -19,7 +20,7 @@ int main(int argc, char *argv[])
        struct tdb_data data = { (unsigned char *)&j, sizeof(j) };
        char *summary;
 
-       plan_tests(sizeof(flags) / sizeof(flags[0]) * (1 + 2 * 7) + 1);
+       plan_tests(sizeof(flags) / sizeof(flags[0]) * (1 + 2 * 4) + 1);
        for (i = 0; i < sizeof(flags) / sizeof(flags[0]); i++) {
                tdb = tdb_open("run-summary.tdb", flags[i],
                               O_RDWR|O_CREAT|O_TRUNC, 0600, &tap_log_attr);
@@ -28,9 +29,12 @@ int main(int argc, char *argv[])
                        continue;
 
                /* Put some stuff in there. */
-               for (j = 0; j < 500; j++)
+               for (j = 0; j < 500; j++) {
+                       /* Make sure padding varies to we get some graphs! */
+                       data.dsize = j % (sizeof(j) + 1);
                        if (tdb_store(tdb, key, data, TDB_REPLACE) != 0)
                                fail("Storing in tdb");
+               }
 
                for (j = 0;
                     j <= TDB_SUMMARY_HISTOGRAMS;
@@ -38,10 +42,7 @@ int main(int argc, char *argv[])
                        summary = tdb_summary(tdb, j);
                        ok1(strstr(summary, "Number of records: 500\n"));
                        ok1(strstr(summary, "Smallest/average/largest keys: 4/4/4\n"));
-                       ok1(strstr(summary, "Smallest/average/largest data: 4/4/4\n"));
-                       ok1(strstr(summary, "Free bucket 8"));
-                       ok1(strstr(summary, "Free bucket 16"));
-                       ok1(strstr(summary, "Free bucket 24"));
+                       ok1(strstr(summary, "Smallest/average/largest data: 0/2/4\n"));
                        if (j == TDB_SUMMARY_HISTOGRAMS)
                                ok1(strstr(summary, "|")
                                    && strstr(summary, "*"));