s3:smb2_write: pass fsp->fnum to init_strict_lock_struct()
[Samba/gebeck_regimport.git] / lib / tdb2 / test / run-tdb1-check.c
blob45bcbc4a9d8921921ceb68b774551763a3f47516
1 #include "tdb2-source.h"
2 #include "tap-interface.h"
3 #include <stdlib.h>
4 #include "logging.h"
6 int main(int argc, char *argv[])
8 struct tdb_context *tdb;
9 TDB_DATA key, data;
10 union tdb_attribute hsize;
12 hsize.base.attr = TDB_ATTRIBUTE_TDB1_HASHSIZE;
13 hsize.base.next = &tap_log_attr;
14 hsize.tdb1_hashsize.hsize = 1;
16 plan_tests(13);
17 tdb = tdb_open("run-check.tdb1", TDB_VERSION1,
18 O_CREAT|O_TRUNC|O_RDWR, 0600, &hsize);
20 ok1(tdb);
21 ok1(tdb_check(tdb, NULL, NULL) == TDB_SUCCESS);
23 key = tdb_mkdata("hi", strlen("hi"));
24 data = tdb_mkdata("world", strlen("world"));
26 ok1(tdb_store(tdb, key, data, TDB_INSERT) == TDB_SUCCESS);
27 ok1(tdb_check(tdb, NULL, NULL) == TDB_SUCCESS);
28 tdb_close(tdb);
30 tdb = tdb_open("run-check.tdb1", TDB_VERSION1, O_RDWR, 0, &tap_log_attr);
31 ok1(tdb);
32 ok1(tdb_check(tdb, NULL, NULL) == TDB_SUCCESS);
33 tdb_close(tdb);
35 tdb = tdb_open("test/tdb1.corrupt", TDB_VERSION1, O_RDWR, 0,
36 &tap_log_attr);
37 ok1(tdb);
38 ok1(tdb_check(tdb, NULL, NULL) == TDB_ERR_CORRUPT);
39 ok1(tdb_error(tdb) == TDB_ERR_CORRUPT);
40 tdb_close(tdb);
42 /* Big and little endian should work! */
43 tdb = tdb_open("test/old-nohash-le.tdb1", TDB_VERSION1, O_RDWR, 0,
44 &tap_log_attr);
45 ok1(tdb);
46 ok1(tdb_check(tdb, NULL, NULL) == TDB_SUCCESS);
47 tdb_close(tdb);
49 tdb = tdb_open("test/old-nohash-be.tdb1", TDB_VERSION1, O_RDWR, 0,
50 &tap_log_attr);
51 ok1(tdb);
52 ok1(tdb_check(tdb, NULL, NULL) == TDB_SUCCESS);
53 tdb_close(tdb);
55 return exit_status();