Ensure all tests/examples pass without args and don't interfere with each other

This commit is contained in:
Martchus 2022-01-30 22:23:43 +01:00
parent bc5df35b67
commit b75ff2602b
8 changed files with 29 additions and 34 deletions

View File

@ -15,7 +15,7 @@ void checkLMDB(MDBEnv *env, MDBDbi dbi)
int main()
{
auto env = getMDBEnv("./database", MDB_NOSUBDIR, 0600);
auto env = getMDBEnv("./basic.lmdb", MDB_NOSUBDIR, 0600);
auto dbi = env->openDB("example", MDB_CREATE);
auto txn = env->getRWTransaction();

View File

@ -8,7 +8,7 @@ using namespace LMDBSafe;
int main()
{
unlink("./multi");
auto env = getMDBEnv("multi", MDB_NOSUBDIR, 0600);
auto env = getMDBEnv("./multi.lmdb", MDB_NOSUBDIR, 0600);
auto dbi = env->openDB("qnames", MDB_DUPSORT | MDB_CREATE);
auto txn = env->getRWTransaction();

View File

@ -53,7 +53,7 @@ static void store(MDBRWTransaction &txn, MDBDbi &records, MDBDbi &domainidx, MDB
int main(int argc, char **argv)
{
auto env = getMDBEnv("pdns", MDB_NOSUBDIR, 0600);
auto env = getMDBEnv("./pdns.lmdb", MDB_NOSUBDIR, 0600);
auto records = env->openDB("records", MDB_INTEGERKEY | MDB_CREATE);
auto domainidx = env->openDB("domainidx", MDB_INTEGERKEY | MDB_DUPFIXED | MDB_DUPSORT | MDB_CREATE);
auto nameidx = env->openDB("nameidx", MDB_DUPFIXED | MDB_DUPSORT | MDB_CREATE);

View File

@ -12,7 +12,7 @@ template <typename First, typename Second> struct Pair {
int main(int argc, char **)
{
auto env = getMDBEnv("resize", MDB_NOSUBDIR | MDB_NOSYNC, 0600);
auto env = getMDBEnv("./resize.lmdb", MDB_NOSUBDIR | MDB_NOSYNC, 0600);
auto main = env->openDB("ahu", MDB_CREATE);
MDBInVal key("counter");

View File

@ -22,7 +22,7 @@ struct MDBVal {
int main(int argc, char **argv)
{
auto env = getMDBEnv("./database", MDB_NOSUBDIR, 0600);
auto env = getMDBEnv("./scale.lmdb", MDB_NOSUBDIR, 0600);
auto dbi = env->openDB(std::string_view(), MDB_CREATE | MDB_INTEGERKEY);
auto txn = env->getRWTransaction();

View File

@ -27,7 +27,11 @@ void countDB(MDBEnv &env, MDBROTransaction &txn, const std::string &dbname)
int main(int argc, char **argv)
{
MDBEnv env(argc >= 2 ? argv[1] : "./database", MDB_RDONLY | MDB_NOSUBDIR, 0600);
if (argc < 2) {
cout << "No database file specified.\n";
return 0;
}
MDBEnv env(argv[1], MDB_RDONLY | MDB_NOSUBDIR, 0600);
auto main = env.openDB("", 0);
auto txn = env.getROTransaction();

View File

@ -12,9 +12,8 @@ using namespace LMDBSafe;
TEST_CASE("Most basic tests", "[mostbasic]")
{
unlink("./tests");
MDBEnv env("./tests", MDB_NOSUBDIR, 0600);
unlink("./basic-tests.lmdb");
MDBEnv env("./basic-tests.lmdb", MDB_NOSUBDIR, 0600);
REQUIRE(1);
MDBDbi main = env.openDB("", MDB_CREATE);
@ -36,9 +35,8 @@ TEST_CASE("Most basic tests", "[mostbasic]")
TEST_CASE("Range tests", "[range]")
{
unlink("./tests");
MDBEnv env("./tests", MDB_NOSUBDIR, 0600);
unlink("./basic-tests.lmdb");
MDBEnv env("./basic-tests.lmdb", MDB_NOSUBDIR, 0600);
REQUIRE(1);
MDBDbi main = env.openDB("", MDB_CREATE);
@ -98,9 +96,8 @@ TEST_CASE("Range tests", "[range]")
TEST_CASE("moving transactions")
{
unlink("./tests");
MDBEnv env("./tests", MDB_NOSUBDIR, 0600);
unlink("./basic-tests.lmdb");
MDBEnv env("./basic-tests.lmdb", MDB_NOSUBDIR, 0600);
REQUIRE(1);
MDBDbi main = env.openDB("", MDB_CREATE);
@ -125,9 +122,8 @@ TEST_CASE("moving transactions")
TEST_CASE("transaction inheritance and moving")
{
unlink("./tests");
MDBEnv env("./tests", MDB_NOSUBDIR, 0600);
unlink("./basic-tests.lmdb");
MDBEnv env("./basic-tests.lmdb", MDB_NOSUBDIR, 0600);
MDBDbi main = env.openDB("", MDB_CREATE);
MDBRWCursor cursor;
@ -155,9 +151,8 @@ TEST_CASE("transaction inheritance and moving")
TEST_CASE("nested RW transactions", "[transactions]")
{
unlink("./tests");
MDBEnv env("./tests", MDB_NOSUBDIR, 0600);
unlink("./basic-tests.lmdb");
MDBEnv env("./basic-tests.lmdb", MDB_NOSUBDIR, 0600);
REQUIRE(1);
MDBDbi main = env.openDB("", MDB_CREATE);
@ -206,9 +201,8 @@ TEST_CASE("nested RW transactions", "[transactions]")
TEST_CASE("nesting RW -> RO", "[transactions]")
{
unlink("./tests");
MDBEnv env("./tests", MDB_NOSUBDIR, 0600);
unlink("./basic-tests.lmdb");
MDBEnv env("./basic-tests.lmdb", MDB_NOSUBDIR, 0600);
REQUIRE(1);
MDBDbi main = env.openDB("", MDB_CREATE);
@ -259,9 +253,8 @@ TEST_CASE("nesting RW -> RO", "[transactions]")
TEST_CASE("try to nest twice", "[transactions]")
{
unlink("./tests");
MDBEnv env("./tests", MDB_NOSUBDIR, 0600);
unlink("./basic-tests.lmdb");
MDBEnv env("./basic-tests.lmdb", MDB_NOSUBDIR, 0600);
REQUIRE(1);
MDBDbi main = env.openDB("", MDB_CREATE);
@ -295,9 +288,8 @@ TEST_CASE("try to nest twice", "[transactions]")
TEST_CASE("transaction counter correctness for RW->RW nesting")
{
unlink("./tests");
MDBEnv env("./tests", MDB_NOSUBDIR, 0600);
unlink("./basic-tests.lmdb");
MDBEnv env("./basic-tests.lmdb", MDB_NOSUBDIR, 0600);
REQUIRE(1);
MDBDbi main = env.openDB("", MDB_CREATE);
@ -314,9 +306,8 @@ TEST_CASE("transaction counter correctness for RW->RW nesting")
TEST_CASE("transaction counter correctness for RW->RO nesting")
{
unlink("./tests");
MDBEnv env("./tests", MDB_NOSUBDIR, 0600);
unlink("./basic-tests.lmdb");
MDBEnv env("./basic-tests.lmdb", MDB_NOSUBDIR, 0600);
REQUIRE(1);
MDBDbi main = env.openDB("", MDB_CREATE);

View File

@ -32,7 +32,7 @@ TEST_CASE("Basic typed tests", "[basictyped]")
index_on<Member, time_t, &Member::enrolled>>
tmembers_t;
auto tmembers = tmembers_t(getMDBEnv("./tests-typed", MDB_CREATE | MDB_NOSUBDIR, 0600), "members");
auto tmembers = tmembers_t(getMDBEnv("./tests-typed.lmdb", MDB_CREATE | MDB_NOSUBDIR, 0600), "members");
REQUIRE(1);