diff options
author | Rusty Russell <rusty@rustcorp.com.au> | 2012-02-14 04:05:43 +1030 |
---|---|---|
committer | Rusty Russell <rusty@rustcorp.com.au> | 2012-02-14 04:05:43 +1030 |
commit | 0802791081ba39298aa93f0e6860c3b62800df73 (patch) | |
tree | 9de98d155090cdb4c6b498e37938890be8514d8b /lib/tdb/test/logging.c | |
parent | 390b9a2dd8447ecd16e3957c02fa886781797733 (diff) | |
download | samba-0802791081ba39298aa93f0e6860c3b62800df73.tar.gz samba-0802791081ba39298aa93f0e6860c3b62800df73.tar.bz2 samba-0802791081ba39298aa93f0e6860c3b62800df73.zip |
tdb: import unit tests from CCAN into tdb/test/
I pulled tdb into CCAN as an experiment a while ago; it doesn't belong
there, but it has accumulated some important unit tests.
These are copied from CCAN version init-1486-gc438ec1 with #include "../"
changed to #include "../common/".
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Diffstat (limited to 'lib/tdb/test/logging.c')
-rw-r--r-- | lib/tdb/test/logging.c | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/lib/tdb/test/logging.c b/lib/tdb/test/logging.c new file mode 100644 index 0000000000..ae598a9845 --- /dev/null +++ b/lib/tdb/test/logging.c @@ -0,0 +1,33 @@ +#include "logging.h" +#include <ccan/tap/tap.h> +#include <stdarg.h> +#include <stdlib.h> +#include <string.h> +#include <stdio.h> + +bool suppress_logging = false; +const char *log_prefix = ""; + +/* Turn log messages into tap diag messages. */ +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); + + /* Strip trailing \n: diag adds it. */ + if (line[0] && line[strlen(line)-1] == '\n') + diag("%s%.*s", log_prefix, (unsigned)strlen(line)-1, line); + else + diag("%s%s", log_prefix, line); +} + +struct tdb_logging_context taplogctx = { taplog, NULL }; |