X-Git-Url: http://git.ozlabs.org/?a=blobdiff_plain;f=ccan%2Ftdb2%2Ftest%2Frun-tdb1-bad-tdb-header.c;h=c1d76740cc36bf610c6f3b7378c7d524da0c1adc;hb=407057edd6b45cae437d119df80ff080989a2752;hp=9e23e9797051334824a33969e067d273928d5e9e;hpb=fab544c24c1ad6523f95893abcaec4e6cce6c2b4;p=ccan diff --git a/ccan/tdb2/test/run-tdb1-bad-tdb-header.c b/ccan/tdb2/test/run-tdb1-bad-tdb-header.c index 9e23e979..c1d76740 100644 --- a/ccan/tdb2/test/run-tdb1-bad-tdb-header.c +++ b/ccan/tdb2/test/run-tdb1-bad-tdb-header.c @@ -2,30 +2,39 @@ #include #include #include -#include "tdb1-logging.h" +#include "logging.h" int main(int argc, char *argv[]) { - struct tdb1_context *tdb; + struct tdb_context *tdb; struct tdb1_header hdr; int fd; + union tdb_attribute hsize; + + hsize.base.attr = TDB_ATTRIBUTE_TDB1_HASHSIZE; + hsize.base.next = &tap_log_attr; + 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_ex("run-bad-tdb-header.tdb", 1024, 0, O_RDWR, 0, - &taplogctx, NULL); + tdb = tdb_open("run-bad-tdb-header.tdb1", 0, O_RDWR, 0, &tap_log_attr); + ok1(!tdb); + tdb = tdb_open("run-bad-tdb-header.tdb1", 0, O_CREAT|O_RDWR, + 0600, &hsize); ok1(!tdb); - tdb = tdb1_open_ex("run-bad-tdb-header.tdb", 1024, 0, O_CREAT|O_RDWR, - 0600, &taplogctx, NULL); + + /* 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); @@ -34,16 +43,10 @@ int main(int argc, char *argv[]) ok1(write(fd, &hdr, sizeof(hdr)) == sizeof(hdr)); close(fd); - tdb = tdb1_open_ex("run-bad-tdb-header.tdb", 1024, 0, O_RDWR|O_CREAT, - 0600, &taplogctx, NULL); + 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_ex("run-bad-tdb-header.tdb", 1024, 0, - O_RDWR|O_CREAT|O_TRUNC, 0600, &taplogctx, NULL); - ok1(tdb); - tdb1_close(tdb); - return exit_status(); }