From: Rusty Russell Date: Sat, 11 Sep 2010 02:43:14 +0000 (+0930) Subject: tdb: unify logging code in test dir. X-Git-Url: https://git.ozlabs.org/?p=ccan;a=commitdiff_plain;h=655ef777da34bae1ec992503d754e607d6cebf8c tdb: unify logging code in test dir. --- diff --git a/ccan/tdb/test/external-agent.c b/ccan/tdb/test/external-agent.c index dd43c204..503b00d8 100644 --- a/ccan/tdb/test/external-agent.c +++ b/ccan/tdb/test/external-agent.c @@ -1,5 +1,6 @@ #include "external-agent.h" #include "lock-tracking.h" +#include "logging.h" #include #include #include @@ -17,23 +18,8 @@ static struct tdb_context *tdb; -static void taplog(struct tdb_context *tdb, - enum tdb_debug_level level, - const char *fmt, ...) -{ - va_list ap; - char line[200]; - - va_start(ap, fmt); - vsprintf(line, fmt, ap); - va_end(ap); - - diag("external: %s", line); -} - static enum agent_return do_operation(enum operation op, const char *name) { - struct tdb_logging_context logctx = { taplog, NULL }; TDB_DATA k; enum agent_return ret; TDB_DATA data; @@ -54,7 +40,7 @@ static enum agent_return do_operation(enum operation op, const char *name) return OTHER_FAILURE; } tdb = tdb_open_ex(name, 0, TDB_DEFAULT, O_RDWR, 0, - &logctx, NULL); + &taplogctx, NULL); if (!tdb) { if (!locking_would_block) diag("Opening tdb gave %s", strerror(errno)); @@ -66,7 +52,7 @@ static enum agent_return do_operation(enum operation op, const char *name) if (tdb) return OTHER_FAILURE; tdb = tdb_open_ex(name, 0, TDB_CLEAR_IF_FIRST, O_RDWR, 0, - &logctx, NULL); + &taplogctx, NULL); ret = tdb ? SUCCESS : OTHER_FAILURE; break; case TRANSACTION_START: @@ -146,6 +132,7 @@ struct agent *prepare_external_agent(void) /* We want to fail, not block. */ nonblocking_locks = true; + log_prefix = "external: "; while ((ret = read(command[0], name, sizeof(name))) > 0) { enum agent_return result; diff --git a/ccan/tdb/test/run-3G-file.c b/ccan/tdb/test/run-3G-file.c index ea395a9c..7204128f 100644 --- a/ccan/tdb/test/run-3G-file.c +++ b/ccan/tdb/test/run-3G-file.c @@ -14,6 +14,7 @@ #include #include #include +#include "logging.h" static int tdb_expand_file_sparse(struct tdb_context *tdb, tdb_off_t size, @@ -73,8 +74,8 @@ int main(int argc, char *argv[]) struct tdb_record rec; plan_tests(24); - tdb = tdb_open("run-36-file.tdb", 1024, TDB_CLEAR_IF_FIRST, - O_CREAT|O_TRUNC|O_RDWR, 0600); + tdb = tdb_open_ex("run-36-file.tdb", 1024, TDB_CLEAR_IF_FIRST, + O_CREAT|O_TRUNC|O_RDWR, 0600, &taplogctx, NULL); ok1(tdb); tdb->methods = &large_io_methods; diff --git a/ccan/tdb/test/run-bad-tdb-header.c b/ccan/tdb/test/run-bad-tdb-header.c index 0303ec26..4ee225cc 100644 --- a/ccan/tdb/test/run-bad-tdb-header.c +++ b/ccan/tdb/test/run-bad-tdb-header.c @@ -12,6 +12,7 @@ #include #include #include +#include "logging.h" int main(int argc, char *argv[]) { @@ -25,9 +26,11 @@ int main(int argc, char *argv[]) ok1(fd >= 0); ok1(write(fd, "hello world", 11) == 11); close(fd); - tdb = tdb_open("run-bad-tdb-header.tdb", 1024, 0, O_RDWR, 0); + tdb = tdb_open_ex("run-bad-tdb-header.tdb", 1024, 0, O_RDWR, 0, + &taplogctx, NULL); ok1(!tdb); - tdb = tdb_open("run-bad-tdb-header.tdb", 1024, 0, O_CREAT|O_RDWR, 0600); + tdb = tdb_open_ex("run-bad-tdb-header.tdb", 1024, 0, O_CREAT|O_RDWR, + 0600, &taplogctx, NULL); ok1(tdb); tdb_close(tdb); @@ -41,12 +44,14 @@ int main(int argc, char *argv[]) ok1(write(fd, &hdr, sizeof(hdr)) == sizeof(hdr)); close(fd); - tdb = tdb_open("run-bad-tdb-header.tdb", 1024, 0, O_RDWR|O_CREAT, 0600); + tdb = tdb_open_ex("run-bad-tdb-header.tdb", 1024, 0, O_RDWR|O_CREAT, + 0600, &taplogctx, NULL); ok1(errno == EIO); ok1(!tdb); /* With truncate, will be fine. */ - tdb = tdb_open("run-bad-tdb-header.tdb", 1024, 0, O_RDWR|O_CREAT|O_TRUNC, 0600); + tdb = tdb_open_ex("run-bad-tdb-header.tdb", 1024, 0, + O_RDWR|O_CREAT|O_TRUNC, 0600, &taplogctx, NULL); ok1(tdb); tdb_close(tdb); diff --git a/ccan/tdb/test/run-check.c b/ccan/tdb/test/run-check.c index 3a4a39f1..b76d91bb 100644 --- a/ccan/tdb/test/run-check.c +++ b/ccan/tdb/test/run-check.c @@ -12,6 +12,7 @@ #include #include #include +#include "logging.h" int main(int argc, char *argv[]) { @@ -19,8 +20,8 @@ int main(int argc, char *argv[]) TDB_DATA key, data; plan_tests(9); - tdb = tdb_open("run-check.tdb", 1, TDB_CLEAR_IF_FIRST, - O_CREAT|O_TRUNC|O_RDWR, 0600); + tdb = tdb_open_ex("run-check.tdb", 1, TDB_CLEAR_IF_FIRST, + O_CREAT|O_TRUNC|O_RDWR, 0600, &taplogctx, NULL); ok1(tdb); ok1(tdb_check(tdb, NULL, NULL) == 0); diff --git a/ccan/tdb/test/run-corrupt.c b/ccan/tdb/test/run-corrupt.c index a5c4aa44..067ac861 100644 --- a/ccan/tdb/test/run-corrupt.c +++ b/ccan/tdb/test/run-corrupt.c @@ -12,6 +12,7 @@ #include #include #include +#include "logging.h" static int check(TDB_DATA key, TDB_DATA data, void *private) { @@ -103,8 +104,8 @@ int main(int argc, char *argv[]) plan_tests(4); /* This should use mmap. */ - tdb = tdb_open("run-corrupt.tdb", 2, TDB_CLEAR_IF_FIRST, - O_CREAT|O_TRUNC|O_RDWR, 0600); + tdb = tdb_open_ex("run-corrupt.tdb", 2, TDB_CLEAR_IF_FIRST, + O_CREAT|O_TRUNC|O_RDWR, 0600, &taplogctx, NULL); if (!tdb) abort(); @@ -112,8 +113,8 @@ int main(int argc, char *argv[]) tdb_close(tdb); /* This should not. */ - tdb = tdb_open("run-corrupt.tdb", 2, TDB_CLEAR_IF_FIRST|TDB_NOMMAP, - O_CREAT|O_TRUNC|O_RDWR, 0600); + tdb = tdb_open_ex("run-corrupt.tdb", 2, TDB_CLEAR_IF_FIRST|TDB_NOMMAP, + O_CREAT|O_TRUNC|O_RDWR, 0600, &taplogctx, NULL); if (!tdb) abort(); diff --git a/ccan/tdb/test/run-die-during-transaction.c b/ccan/tdb/test/run-die-during-transaction.c index c5f802c2..fb5da455 100644 --- a/ccan/tdb/test/run-die-during-transaction.c +++ b/ccan/tdb/test/run-die-during-transaction.c @@ -27,6 +27,7 @@ static int ftruncate_check(int fd, off_t length); #include #include #include "external-agent.h" +#include "logging.h" #undef write #undef pwrite @@ -34,29 +35,11 @@ static int ftruncate_check(int fd, off_t length); #undef ftruncate static bool in_transaction; -static bool suppress_logging; static int target, current; static jmp_buf jmpbuf; #define TEST_DBNAME "run-die-during-transaction.tdb" #define KEY_STRING "helloworld" -static void taplog(struct tdb_context *tdb, - enum tdb_debug_level level, - const char *fmt, ...) -{ - va_list ap; - char line[200]; - - if (suppress_logging) - return; - - va_start(ap, fmt); - vsprintf(line, fmt, ap); - va_end(ap); - - diag("%s", line); -} - static void maybe_die(int fd) { if (in_transaction && current++ == target) { @@ -109,7 +92,6 @@ static bool test_death(enum operation op, struct agent *agent) { struct tdb_context *tdb = NULL; TDB_DATA key; - struct tdb_logging_context logctx = { taplog, NULL }; enum agent_return ret; int needed_recovery = 0; @@ -172,7 +154,7 @@ reset: unlink(TEST_DBNAME); tdb = tdb_open_ex(TEST_DBNAME, 1024, TDB_NOMMAP, - O_CREAT|O_TRUNC|O_RDWR, 0600, &logctx, NULL); + O_CREAT|O_TRUNC|O_RDWR, 0600, &taplogctx, NULL); /* Put key for agent to fetch. */ key.dsize = strlen(KEY_STRING); diff --git a/ccan/tdb/test/run-endian.c b/ccan/tdb/test/run-endian.c index 9ee877dd..74184a1a 100644 --- a/ccan/tdb/test/run-endian.c +++ b/ccan/tdb/test/run-endian.c @@ -12,6 +12,7 @@ #include #include #include +#include "logging.h" int main(int argc, char *argv[]) { @@ -19,8 +20,9 @@ int main(int argc, char *argv[]) TDB_DATA key, data; plan_tests(13); - tdb = tdb_open("run-endian.tdb", 1024, TDB_CLEAR_IF_FIRST|TDB_CONVERT, - O_CREAT|O_TRUNC|O_RDWR, 0600); + tdb = tdb_open_ex("run-endian.tdb", 1024, + TDB_CLEAR_IF_FIRST|TDB_CONVERT, + O_CREAT|O_TRUNC|O_RDWR, 0600, &taplogctx, NULL); ok1(tdb); key.dsize = strlen("hi"); @@ -46,7 +48,8 @@ int main(int argc, char *argv[]) tdb_close(tdb); /* Reopen: should read it */ - tdb = tdb_open("run-endian.tdb", 1024, 0, O_RDWR, 0); + tdb = tdb_open_ex("run-endian.tdb", 1024, 0, O_RDWR, 0, + &taplogctx, NULL); ok1(tdb); key.dsize = strlen("hi"); diff --git a/ccan/tdb/test/run-nested-transactions.c b/ccan/tdb/test/run-nested-transactions.c index b3983363..f8fd0549 100644 --- a/ccan/tdb/test/run-nested-transactions.c +++ b/ccan/tdb/test/run-nested-transactions.c @@ -13,6 +13,8 @@ #include #include #include +#include "logging.h" + int main(int argc, char *argv[]) { struct tdb_context *tdb; @@ -22,8 +24,9 @@ int main(int argc, char *argv[]) key.dsize = strlen("hi"); key.dptr = (void *)"hi"; - tdb = tdb_open("run-nested-transactions.tdb", 1024, TDB_CLEAR_IF_FIRST, - O_CREAT|O_TRUNC|O_RDWR, 0600); + tdb = tdb_open_ex("run-nested-transactions.tdb", + 1024, TDB_CLEAR_IF_FIRST, + O_CREAT|O_TRUNC|O_RDWR, 0600, &taplogctx, NULL); ok1(tdb); /* No nesting by default. */ @@ -49,7 +52,8 @@ int main(int argc, char *argv[]) free(data.dptr); tdb_close(tdb); - tdb = tdb_open("run-nested-transactions.tdb", 1024, TDB_ALLOW_NESTING, O_RDWR, 0); + tdb = tdb_open_ex("run-nested-transactions.tdb", + 1024, TDB_ALLOW_NESTING, O_RDWR, 0, &taplogctx, NULL); ok1(tdb); ok1(tdb_transaction_start(tdb) == 0); diff --git a/ccan/tdb/test/run-nested-traverse.c b/ccan/tdb/test/run-nested-traverse.c index d4e499d7..7e0a71dd 100644 --- a/ccan/tdb/test/run-nested-traverse.c +++ b/ccan/tdb/test/run-nested-traverse.c @@ -17,6 +17,7 @@ #include #include #include "external-agent.h" +#include "logging.h" static struct agent *agent; @@ -65,8 +66,8 @@ int main(int argc, char *argv[]) if (!agent) err(1, "preparing agent"); - tdb = tdb_open("run-nested-traverse.tdb", 1024, TDB_CLEAR_IF_FIRST, - O_CREAT|O_TRUNC|O_RDWR, 0600); + tdb = tdb_open_ex("run-nested-traverse.tdb", 1024, TDB_CLEAR_IF_FIRST, + O_CREAT|O_TRUNC|O_RDWR, 0600, &taplogctx, NULL); ok1(tdb); ok1(external_agent_operation(agent, OPEN, tdb_name(tdb)) == SUCCESS); diff --git a/ccan/tdb/test/run-no-lock-during-traverse.c b/ccan/tdb/test/run-no-lock-during-traverse.c index a4f7668e..bbca2e93 100644 --- a/ccan/tdb/test/run-no-lock-during-traverse.c +++ b/ccan/tdb/test/run-no-lock-during-traverse.c @@ -17,6 +17,7 @@ #include #include #include +#include "logging.h" #undef fcntl @@ -78,8 +79,9 @@ int main(int argc, char *argv[]) int errors = 0; plan_tests(41); - tdb = tdb_open("run-no-lock-during-traverse.tdb", - 1024, TDB_CLEAR_IF_FIRST, O_CREAT|O_TRUNC|O_RDWR, 0600); + tdb = tdb_open_ex("run-no-lock-during-traverse.tdb", + 1024, TDB_CLEAR_IF_FIRST, O_CREAT|O_TRUNC|O_RDWR, + 0600, &taplogctx, NULL); ok1(tdb); ok1(prepare_entries(tdb)); diff --git a/ccan/tdb/test/run-open-during-transaction.c b/ccan/tdb/test/run-open-during-transaction.c index 1c55b723..98cbac91 100644 --- a/ccan/tdb/test/run-open-during-transaction.c +++ b/ccan/tdb/test/run-open-during-transaction.c @@ -27,6 +27,7 @@ static int ftruncate_check(int fd, off_t length); #include #include #include "external-agent.h" +#include "logging.h" static struct agent *agent; static bool opened; @@ -39,20 +40,6 @@ static bool clear_if_first; #undef fcntl #undef ftruncate -static void taplog(struct tdb_context *tdb, - enum tdb_debug_level level, - const char *fmt, ...) -{ - va_list ap; - char line[200]; - - va_start(ap, fmt); - vsprintf(line, fmt, ap); - va_end(ap); - - diag("%s", line); -} - static bool is_same(const char *snapshot, const char *latest, off_t len) { unsigned i; @@ -154,7 +141,6 @@ static int ftruncate_check(int fd, off_t length) int main(int argc, char *argv[]) { - struct tdb_logging_context logctx = { taplog, NULL }; const int flags[] = { TDB_DEFAULT, TDB_CLEAR_IF_FIRST, TDB_NOMMAP, @@ -177,7 +163,7 @@ int main(int argc, char *argv[]) unlink(TEST_DBNAME); tdb = tdb_open_ex(TEST_DBNAME, 1024, flags[i], O_CREAT|O_TRUNC|O_RDWR, 0600, - &logctx, NULL); + &taplogctx, NULL); ok1(tdb); opened = true; diff --git a/ccan/tdb/test/run-traverse-in-transaction.c b/ccan/tdb/test/run-traverse-in-transaction.c index c7079cf6..a3475582 100644 --- a/ccan/tdb/test/run-traverse-in-transaction.c +++ b/ccan/tdb/test/run-traverse-in-transaction.c @@ -17,6 +17,7 @@ #include #include #include "external-agent.h" +#include "logging.h" static struct agent *agent; @@ -50,8 +51,9 @@ int main(int argc, char *argv[]) if (!agent) err(1, "preparing agent"); - tdb = tdb_open("run-traverse-in-transaction.tdb", - 1024, TDB_CLEAR_IF_FIRST, O_CREAT|O_TRUNC|O_RDWR, 0600); + tdb = tdb_open_ex("run-traverse-in-transaction.tdb", + 1024, TDB_CLEAR_IF_FIRST, O_CREAT|O_TRUNC|O_RDWR, + 0600, &taplogctx, NULL); ok1(tdb); key.dsize = strlen("hi"); diff --git a/ccan/tdb/test/run-zero-append.c b/ccan/tdb/test/run-zero-append.c index 999fe1d7..8cb57f40 100644 --- a/ccan/tdb/test/run-zero-append.c +++ b/ccan/tdb/test/run-zero-append.c @@ -12,6 +12,7 @@ #include #include #include +#include "logging.h" int main(int argc, char *argv[]) { @@ -19,7 +20,8 @@ int main(int argc, char *argv[]) TDB_DATA key, data; plan_tests(4); - tdb = tdb_open(NULL, 1024, TDB_INTERNAL, O_CREAT|O_TRUNC|O_RDWR, 0600); + tdb = tdb_open_ex(NULL, 1024, TDB_INTERNAL, O_CREAT|O_TRUNC|O_RDWR, + 0600, &taplogctx, NULL); ok1(tdb); /* Tickle bug on appending zero length buffer to zero length buffer. */ diff --git a/ccan/tdb/test/run.c b/ccan/tdb/test/run.c index b6202fe7..fe09d45b 100644 --- a/ccan/tdb/test/run.c +++ b/ccan/tdb/test/run.c @@ -12,6 +12,7 @@ #include #include #include +#include "logging.h" int main(int argc, char *argv[]) { @@ -19,8 +20,8 @@ int main(int argc, char *argv[]) TDB_DATA key, data; plan_tests(10); - tdb = tdb_open("run.tdb", 1024, TDB_CLEAR_IF_FIRST, - O_CREAT|O_TRUNC|O_RDWR, 0600); + tdb = tdb_open_ex("run.tdb", 1024, TDB_CLEAR_IF_FIRST, + O_CREAT|O_TRUNC|O_RDWR, 0600, &taplogctx, NULL); ok1(tdb); key.dsize = strlen("hi");