summaryrefslogtreecommitdiff
path: root/lib/tdb2/test/run-tdb1-bad-tdb-header.c
diff options
context:
space:
mode:
authorRusty Russell <rusty@rustcorp.com.au>2011-09-14 07:49:13 +0930
committerRusty Russell <rusty@rustcorp.com.au>2011-09-14 07:49:13 +0930
commitcbad6e2c140e59a6ec653bcfe773599a57a5042f (patch)
tree84e7605464b76c0fabb18b89c7395f41d7514e5a /lib/tdb2/test/run-tdb1-bad-tdb-header.c
parent333a23fa995faf1735e5234272f56b792d91a877 (diff)
downloadsamba-cbad6e2c140e59a6ec653bcfe773599a57a5042f.tar.gz
samba-cbad6e2c140e59a6ec653bcfe773599a57a5042f.tar.bz2
samba-cbad6e2c140e59a6ec653bcfe773599a57a5042f.zip
tdb2: unify tdb1_open into tdb_open
Finally, we gut tdb1_open() to the tdb1-specific parts, and call it from tdb_open if they specify the TDB_VERSION1 flag or the version is a TDB1. We also unify tdb_close(), based on the TDB_VERSION1 flag. Note that tdb_open(TDB_VERSION1) will fail on an existing tdb if it's a TDB2. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> (Imported from CCAN commit c8c3b3568677e8b0105f84e4ab068c580faf4591)
Diffstat (limited to 'lib/tdb2/test/run-tdb1-bad-tdb-header.c')
-rw-r--r--lib/tdb2/test/run-tdb1-bad-tdb-header.c27
1 files changed, 13 insertions, 14 deletions
diff --git a/lib/tdb2/test/run-tdb1-bad-tdb-header.c b/lib/tdb2/test/run-tdb1-bad-tdb-header.c
index f8bee0b45c..c1d76740cc 100644
--- a/lib/tdb2/test/run-tdb1-bad-tdb-header.c
+++ b/lib/tdb2/test/run-tdb1-bad-tdb-header.c
@@ -16,20 +16,25 @@ int main(int argc, char *argv[])
hsize.tdb1_hashsize.hsize = 1024;
plan_tests(11);
- /* Can open fine if complete crap, as long as O_CREAT. */
- fd = open("run-bad-tdb-header.tdb", O_RDWR|O_CREAT|O_TRUNC, 0600);
+ /* Cannot open fine if complete crap, even with O_CREAT. */
+ fd = open("run-bad-tdb-header.tdb1", O_RDWR|O_CREAT|O_TRUNC, 0600);
ok1(fd >= 0);
ok1(write(fd, "hello world", 11) == 11);
close(fd);
- tdb = tdb1_open("run-bad-tdb-header.tdb", 0, O_RDWR, 0, &tap_log_attr);
+ tdb = tdb_open("run-bad-tdb-header.tdb1", 0, O_RDWR, 0, &tap_log_attr);
ok1(!tdb);
- tdb = tdb1_open("run-bad-tdb-header.tdb", 0, O_CREAT|O_RDWR,
+ tdb = tdb_open("run-bad-tdb-header.tdb1", 0, O_CREAT|O_RDWR,
0600, &hsize);
+ ok1(!tdb);
+
+ /* With truncate, will be fine. */
+ tdb = tdb_open("run-bad-tdb-header.tdb1", TDB_VERSION1,
+ O_RDWR|O_CREAT|O_TRUNC, 0600, &hsize);
ok1(tdb);
- tdb1_close(tdb);
+ tdb_close(tdb);
/* Now, with wrong version it should *not* overwrite. */
- fd = open("run-bad-tdb-header.tdb", O_RDWR);
+ fd = open("run-bad-tdb-header.tdb1", O_RDWR);
ok1(fd >= 0);
ok1(read(fd, &hdr, sizeof(hdr)) == sizeof(hdr));
ok1(hdr.version == TDB1_VERSION);
@@ -38,16 +43,10 @@ int main(int argc, char *argv[])
ok1(write(fd, &hdr, sizeof(hdr)) == sizeof(hdr));
close(fd);
- tdb = tdb1_open("run-bad-tdb-header.tdb", 0, O_RDWR|O_CREAT,
- 0600, &hsize);
+ tdb = tdb_open("run-bad-tdb-header.tdb1", TDB_VERSION1, O_RDWR|O_CREAT,
+ 0600, &hsize);
ok1(errno == EIO);
ok1(!tdb);
- /* With truncate, will be fine. */
- tdb = tdb1_open("run-bad-tdb-header.tdb", 0,
- O_RDWR|O_CREAT|O_TRUNC, 0600, &hsize);
- ok1(tdb);
- tdb1_close(tdb);
-
return exit_status();
}