1 #include "tdb2-source.h"
2 #include "tap-interface.h"
6 int main(int argc
, char *argv
[])
9 struct tdb_context
*tdb
;
10 int flags
[] = { TDB_INTERNAL
, TDB_DEFAULT
, TDB_NOMMAP
,
11 TDB_INTERNAL
|TDB_CONVERT
, TDB_CONVERT
,
12 TDB_NOMMAP
|TDB_CONVERT
};
13 TDB_DATA key
= { (unsigned char *)&j
, sizeof(j
) };
14 TDB_DATA data
= { (unsigned char *)&j
, sizeof(j
) };
17 plan_tests(sizeof(flags
) / sizeof(flags
[0]) * 14);
18 for (i
= 0; i
< sizeof(flags
) / sizeof(flags
[0]); i
++) {
19 tdb
= tdb_open("run-summary.tdb1", flags
[i
]|TDB_VERSION1
,
20 O_RDWR
|O_CREAT
|O_TRUNC
, 0600, NULL
);
25 /* Put some stuff in there. */
26 for (j
= 0; j
< 500; j
++) {
27 /* Make sure padding varies to we get some graphs! */
28 data
.dsize
= j
% (sizeof(j
) + 1);
29 if (tdb_store(tdb
, key
, data
, TDB_REPLACE
)
31 fail("Storing in tdb");
35 summary
= tdb1_summary(tdb
);
37 ok1(strstr(summary
, "Size of file/data: "));
38 ok1(strstr(summary
, "Number of records: 500\n"));
39 ok1(strstr(summary
, "Smallest/average/largest keys: 4/4/4\n"));
40 ok1(strstr(summary
, "Smallest/average/largest data: 0/2/4\n"));
41 ok1(strstr(summary
, "Smallest/average/largest padding: "));
42 ok1(strstr(summary
, "Number of dead records: 0\n"));
43 ok1(strstr(summary
, "Number of free records: 1\n"));
44 ok1(strstr(summary
, "Smallest/average/largest free records: "));
45 ok1(strstr(summary
, "Number of hash chains: 131\n"));
46 ok1(strstr(summary
, "Smallest/average/largest hash chains: "));
47 ok1(strstr(summary
, "Number of uncoalesced records: 0\n"));
48 ok1(strstr(summary
, "Smallest/average/largest uncoalesced runs: 0/0/0\n"));
49 ok1(strstr(summary
, "Percentage keys/data/padding/free/dead/rechdrs&tailers/hashes: "));