1 #include "tdb2-source.h"
2 #include <ccan/tap/tap.h>
5 #include "tdb1-logging.h"
7 int main(int argc, char *argv[])
9 struct tdb1_context *tdb;
13 tdb = tdb1_open_ex("run.tdb", 1024, TDB_DEFAULT,
14 O_CREAT|O_TRUNC|O_RDWR, 0600, &taplogctx, NULL);
17 key.dsize = strlen("hi");
18 key.dptr = (void *)"hi";
19 data.dsize = strlen("world");
20 data.dptr = (void *)"world";
22 ok1(tdb1_store(tdb, key, data, TDB_MODIFY) < 0);
23 ok1(tdb_error(tdb) == TDB_ERR_NOEXIST);
24 ok1(tdb1_store(tdb, key, data, TDB_INSERT) == 0);
25 ok1(tdb1_store(tdb, key, data, TDB_INSERT) < 0);
26 ok1(tdb_error(tdb) == TDB_ERR_EXISTS);
27 ok1(tdb1_store(tdb, key, data, TDB_MODIFY) == 0);
29 data = tdb1_fetch(tdb, key);
30 ok1(data.dsize == strlen("world"));
31 ok1(memcmp(data.dptr, "world", strlen("world")) == 0);
35 data = tdb1_fetch(tdb, key);
36 ok1(data.dptr == NULL);