From 4a85b76daeb0ef0032e5ac442a123af32d7c2e9e Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Fri, 24 Dec 1999 08:46:02 +0000 Subject: a useful locking tester - it uses lots of simultaneous writers (This used to be commit 3b3fdd8661cc10057823be4c594e40ca615ca704) --- source3/tdb/tdbtorture.c | 117 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 117 insertions(+) create mode 100644 source3/tdb/tdbtorture.c (limited to 'source3/tdb') diff --git a/source3/tdb/tdbtorture.c b/source3/tdb/tdbtorture.c new file mode 100644 index 0000000000..1aac6d4a01 --- /dev/null +++ b/source3/tdb/tdbtorture.c @@ -0,0 +1,117 @@ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "tdb.h" + +/* this tests tdb by doing lots of ops from several simultaneous + writers - that stresses the locking code. Build with TDB_DEBUG=1 + for best effect */ + + + +#define DELETE_PROB 7 +#define STORE_PROB 5 +#define KEYLEN 3 +#define DATALEN 100 + +static TDB_CONTEXT *db; + +static void fatal(char *why) +{ + perror(why); + exit(1); +} + +static char *randbuf(int len) +{ + char *buf; + int i; + buf = (char *)malloc(len+1); + + for (i=0;i