mirror of
https://github.com/isar/libmdbx.git
synced 2024-10-30 23:39:19 +08:00
17b8e48bf4
Cleanup after 4e40af60e7
(Merge pull request #20 from rouzier/feature/txn_try).
38 lines
815 B
C++
38 lines
815 B
C++
#include "test.h"
|
|
|
|
bool testcase_try::setup() {
|
|
log_trace(">> setup");
|
|
if (!inherited::setup())
|
|
return false;
|
|
|
|
log_trace("<< setup");
|
|
return true;
|
|
}
|
|
|
|
bool testcase_try::run() {
|
|
db_open();
|
|
assert(!txn_guard);
|
|
|
|
MDBX_txn *txn = nullptr;
|
|
MDBX_txn *txn2 = nullptr;
|
|
int rc = mdbx_txn_begin(db_guard.get(), nullptr, 0, &txn);
|
|
if (unlikely(rc != MDBX_SUCCESS))
|
|
failure_perror("mdbx_txn_begin(MDBX_TRYTXN)", rc);
|
|
else {
|
|
rc = mdbx_txn_begin(db_guard.get(), nullptr, MDBX_TRYTXN, &txn2);
|
|
if (unlikely(rc != MDBX_BUSY))
|
|
failure_perror("mdbx_txn_begin(MDBX_TRYTXN)", rc);
|
|
}
|
|
|
|
txn_guard.reset(txn);
|
|
return true;
|
|
}
|
|
|
|
bool testcase_try::teardown() {
|
|
log_trace(">> teardown");
|
|
cursor_guard.release();
|
|
txn_guard.release();
|
|
db_guard.release();
|
|
return inherited::teardown();
|
|
}
|