|
rpm-build |
ca8475 |
#include "../common/tdb_private.h"
|
|
rpm-build |
ca8475 |
#include "../common/io.c"
|
|
rpm-build |
ca8475 |
#include "../common/tdb.c"
|
|
rpm-build |
ca8475 |
#include "../common/lock.c"
|
|
rpm-build |
ca8475 |
#include "../common/freelist.c"
|
|
rpm-build |
ca8475 |
#include "../common/traverse.c"
|
|
rpm-build |
ca8475 |
#include "../common/transaction.c"
|
|
rpm-build |
ca8475 |
#include "../common/error.c"
|
|
rpm-build |
ca8475 |
#include "../common/open.c"
|
|
rpm-build |
ca8475 |
#include "../common/check.c"
|
|
rpm-build |
ca8475 |
#include "../common/hash.c"
|
|
rpm-build |
ca8475 |
#include "../common/mutex.c"
|
|
rpm-build |
ca8475 |
#include "tap-interface.h"
|
|
rpm-build |
ca8475 |
#include <stdlib.h>
|
|
rpm-build |
ca8475 |
|
|
rpm-build |
ca8475 |
static void log_fn(struct tdb_context *tdb, enum tdb_debug_level level, const char *fmt, ...)
|
|
rpm-build |
ca8475 |
{
|
|
rpm-build |
ca8475 |
unsigned int *count = tdb_get_logging_private(tdb);
|
|
rpm-build |
ca8475 |
if (strstr(fmt, "spinlocks"))
|
|
rpm-build |
ca8475 |
(*count)++;
|
|
rpm-build |
ca8475 |
}
|
|
rpm-build |
ca8475 |
|
|
rpm-build |
ca8475 |
/* The code should barf on TDBs created with rwlocks. */
|
|
rpm-build |
ca8475 |
int main(int argc, char *argv[])
|
|
rpm-build |
ca8475 |
{
|
|
rpm-build |
ca8475 |
struct tdb_context *tdb;
|
|
rpm-build |
ca8475 |
unsigned int log_count;
|
|
rpm-build |
ca8475 |
struct tdb_logging_context log_ctx = { log_fn, &log_count };
|
|
rpm-build |
ca8475 |
|
|
rpm-build |
ca8475 |
plan_tests(4);
|
|
rpm-build |
ca8475 |
|
|
rpm-build |
ca8475 |
/* We should fail to open rwlock-using tdbs of either endian. */
|
|
rpm-build |
ca8475 |
log_count = 0;
|
|
rpm-build |
ca8475 |
tdb = tdb_open_ex("test/rwlock-le.tdb", 0, 0, O_RDWR, 0,
|
|
rpm-build |
ca8475 |
&log_ctx, NULL);
|
|
rpm-build |
ca8475 |
ok1(!tdb);
|
|
rpm-build |
ca8475 |
ok1(log_count == 1);
|
|
rpm-build |
ca8475 |
|
|
rpm-build |
ca8475 |
log_count = 0;
|
|
rpm-build |
ca8475 |
tdb = tdb_open_ex("test/rwlock-be.tdb", 0, 0, O_RDWR, 0,
|
|
rpm-build |
ca8475 |
&log_ctx, NULL);
|
|
rpm-build |
ca8475 |
ok1(!tdb);
|
|
rpm-build |
ca8475 |
ok1(log_count == 1);
|
|
rpm-build |
ca8475 |
|
|
rpm-build |
ca8475 |
return exit_status();
|
|
rpm-build |
ca8475 |
}
|