mirror of
https://github.com/isar/libmdbx.git
synced 2025-04-01 14:52:57 +08:00
mdbx-tests: перехват и логирование исключений в extra-C++ тестах (backport).
This commit is contained in:
parent
59343d9106
commit
e11d419d20
@ -349,12 +349,7 @@ bool simple(mdbx::env env) {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
int main(int argc, const char *argv[]) {
|
int doit() {
|
||||||
(void)argc;
|
|
||||||
(void)argv;
|
|
||||||
|
|
||||||
mdbx_setup_debug_nofmt(MDBX_LOG_NOTICE, MDBX_DBG_ASSERT, logger_nofmt, log_buffer, sizeof(log_buffer));
|
|
||||||
|
|
||||||
mdbx::path db_filename = "test-crunched-del";
|
mdbx::path db_filename = "test-crunched-del";
|
||||||
mdbx::env::remove(db_filename);
|
mdbx::env::remove(db_filename);
|
||||||
|
|
||||||
@ -392,3 +387,15 @@ int main(int argc, const char *argv[]) {
|
|||||||
std::cout << "OK\n";
|
std::cout << "OK\n";
|
||||||
return EXIT_SUCCESS;
|
return EXIT_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int main(int argc, char *argv[]) {
|
||||||
|
(void)argc;
|
||||||
|
(void)argv;
|
||||||
|
mdbx_setup_debug_nofmt(MDBX_LOG_NOTICE, MDBX_DBG_ASSERT, logger_nofmt, log_buffer, sizeof(log_buffer));
|
||||||
|
try {
|
||||||
|
return doit();
|
||||||
|
} catch (const std::exception &ex) {
|
||||||
|
std::cerr << "Exception: " << ex.what() << "\n";
|
||||||
|
return EXIT_FAILURE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@ -316,12 +316,7 @@ bool case1(mdbx::env env) {
|
|||||||
|
|
||||||
//--------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
int main(int argc, const char *argv[]) {
|
int doit() {
|
||||||
(void)argc;
|
|
||||||
(void)argv;
|
|
||||||
|
|
||||||
mdbx_setup_debug_nofmt(MDBX_LOG_NOTICE, MDBX_DBG_ASSERT, logger_nofmt, log_buffer, sizeof(log_buffer));
|
|
||||||
|
|
||||||
mdbx::path db_filename = "test-cursor-closing";
|
mdbx::path db_filename = "test-cursor-closing";
|
||||||
mdbx::env::remove(db_filename);
|
mdbx::env::remove(db_filename);
|
||||||
|
|
||||||
@ -339,3 +334,15 @@ int main(int argc, const char *argv[]) {
|
|||||||
return EXIT_FAILURE;
|
return EXIT_FAILURE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int main(int argc, char *argv[]) {
|
||||||
|
(void)argc;
|
||||||
|
(void)argv;
|
||||||
|
mdbx_setup_debug_nofmt(MDBX_LOG_NOTICE, MDBX_DBG_ASSERT, logger_nofmt, log_buffer, sizeof(log_buffer));
|
||||||
|
try {
|
||||||
|
return doit();
|
||||||
|
} catch (const std::exception &ex) {
|
||||||
|
std::cerr << "Exception: " << ex.what() << "\n";
|
||||||
|
return EXIT_FAILURE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@ -11,12 +11,7 @@ static void logger_nofmt(MDBX_log_level_t loglevel, const char *function, int li
|
|||||||
fprintf(stdout, "%s:%u %s", function, line, msg);
|
fprintf(stdout, "%s:%u %s", function, line, msg);
|
||||||
}
|
}
|
||||||
|
|
||||||
int main(int argc, const char *argv[]) {
|
int doit() {
|
||||||
(void)argc;
|
|
||||||
(void)argv;
|
|
||||||
|
|
||||||
mdbx_setup_debug_nofmt(MDBX_LOG_NOTICE, MDBX_DBG_ASSERT, logger_nofmt, log_buffer, sizeof(log_buffer));
|
|
||||||
|
|
||||||
mdbx::path db_filename = "test-dbi";
|
mdbx::path db_filename = "test-dbi";
|
||||||
mdbx::env::remove(db_filename);
|
mdbx::env::remove(db_filename);
|
||||||
|
|
||||||
@ -71,3 +66,15 @@ int main(int argc, const char *argv[]) {
|
|||||||
std::cout << "OK\n";
|
std::cout << "OK\n";
|
||||||
return EXIT_SUCCESS;
|
return EXIT_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int main(int argc, char *argv[]) {
|
||||||
|
(void)argc;
|
||||||
|
(void)argv;
|
||||||
|
mdbx_setup_debug_nofmt(MDBX_LOG_NOTICE, MDBX_DBG_ASSERT, logger_nofmt, log_buffer, sizeof(log_buffer));
|
||||||
|
try {
|
||||||
|
return doit();
|
||||||
|
} catch (const std::exception &ex) {
|
||||||
|
std::cerr << "Exception: " << ex.what() << "\n";
|
||||||
|
return EXIT_FAILURE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@ -211,10 +211,7 @@ static bool test(mdbx::txn txn, mdbx::map_handle dbi) {
|
|||||||
return ok;
|
return ok;
|
||||||
}
|
}
|
||||||
|
|
||||||
int main(int argc, const char *argv[]) {
|
int doit() {
|
||||||
(void)argc;
|
|
||||||
(void)argv;
|
|
||||||
|
|
||||||
mdbx::path db_filename = "test-posi";
|
mdbx::path db_filename = "test-posi";
|
||||||
mdbx::env_managed::remove(db_filename);
|
mdbx::env_managed::remove(db_filename);
|
||||||
mdbx::env_managed env(db_filename, mdbx::env_managed::create_parameters(), mdbx::env::operate_parameters(3));
|
mdbx::env_managed env(db_filename, mdbx::env_managed::create_parameters(), mdbx::env::operate_parameters(3));
|
||||||
@ -243,3 +240,14 @@ int main(int argc, const char *argv[]) {
|
|||||||
std::cout << "OK\n";
|
std::cout << "OK\n";
|
||||||
return EXIT_SUCCESS;
|
return EXIT_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int main(int argc, char *argv[]) {
|
||||||
|
(void)argc;
|
||||||
|
(void)argv;
|
||||||
|
try {
|
||||||
|
return doit();
|
||||||
|
} catch (const std::exception &ex) {
|
||||||
|
std::cerr << "Exception: " << ex.what() << "\n";
|
||||||
|
return EXIT_FAILURE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@ -25,7 +25,7 @@ int main() {
|
|||||||
MDBX_val key, data;
|
MDBX_val key, data;
|
||||||
MDBX_txn *txn = NULL;
|
MDBX_txn *txn = NULL;
|
||||||
|
|
||||||
const char *db_filename = "./example-db";
|
const char *db_filename = "./test-dupfix-addodd";
|
||||||
mdbx_env_delete(db_filename, MDBX_ENV_JUST_DELETE);
|
mdbx_env_delete(db_filename, MDBX_ENV_JUST_DELETE);
|
||||||
|
|
||||||
rc = mdbx_env_create(&env);
|
rc = mdbx_env_create(&env);
|
||||||
|
@ -9,7 +9,7 @@ using buffer = mdbx::default_buffer;
|
|||||||
|
|
||||||
bool case1_ordering(mdbx::env env) {
|
bool case1_ordering(mdbx::env env) {
|
||||||
auto txn = env.start_write();
|
auto txn = env.start_write();
|
||||||
auto map = txn.create_map(nullptr, mdbx::key_mode::ordinal, mdbx::value_mode::multi_ordinal);
|
auto map = txn.create_map("case1", mdbx::key_mode::ordinal, mdbx::value_mode::multi_ordinal);
|
||||||
|
|
||||||
txn.insert(map, buffer::key_from_u64(21), buffer::key_from_u64(18));
|
txn.insert(map, buffer::key_from_u64(21), buffer::key_from_u64(18));
|
||||||
txn.insert(map, buffer::key_from_u64(7), buffer::key_from_u64(19));
|
txn.insert(map, buffer::key_from_u64(7), buffer::key_from_u64(19));
|
||||||
@ -175,7 +175,7 @@ bool case1_ordering(mdbx::env env) {
|
|||||||
bool case2_batch_read(mdbx::env env) {
|
bool case2_batch_read(mdbx::env env) {
|
||||||
|
|
||||||
auto txn = env.start_write();
|
auto txn = env.start_write();
|
||||||
auto map = txn.create_map(nullptr, mdbx::key_mode::usual, mdbx::value_mode::multi_samelength);
|
auto map = txn.create_map("case2", mdbx::key_mode::usual, mdbx::value_mode::multi_samelength);
|
||||||
txn.upsert(map, mdbx::slice("key1"), mdbx::slice("val1"));
|
txn.upsert(map, mdbx::slice("key1"), mdbx::slice("val1"));
|
||||||
txn.upsert(map, mdbx::pair("key1", "val2"));
|
txn.upsert(map, mdbx::pair("key1", "val2"));
|
||||||
txn.upsert(map, mdbx::pair("key1", "val3"));
|
txn.upsert(map, mdbx::pair("key1", "val3"));
|
||||||
@ -270,7 +270,7 @@ bool case3_put_a_lot(mdbx::env env) {
|
|||||||
int doit() {
|
int doit() {
|
||||||
mdbx::path db_filename = "test-dupfix-multiple";
|
mdbx::path db_filename = "test-dupfix-multiple";
|
||||||
mdbx::env_managed::remove(db_filename);
|
mdbx::env_managed::remove(db_filename);
|
||||||
mdbx::env_managed env(db_filename, mdbx::env_managed::create_parameters(), mdbx::env::operate_parameters(1));
|
mdbx::env_managed env(db_filename, mdbx::env_managed::create_parameters(), mdbx::env::operate_parameters(3));
|
||||||
|
|
||||||
bool ok = case1_ordering(env);
|
bool ok = case1_ordering(env);
|
||||||
ok = case2_batch_read(env) && ok;
|
ok = case2_batch_read(env) && ok;
|
||||||
@ -288,7 +288,6 @@ int doit() {
|
|||||||
int main(int argc, const char *argv[]) {
|
int main(int argc, const char *argv[]) {
|
||||||
(void)argc;
|
(void)argc;
|
||||||
(void)argv;
|
(void)argv;
|
||||||
|
|
||||||
try {
|
try {
|
||||||
return doit();
|
return doit();
|
||||||
} catch (const std::exception &ex) {
|
} catch (const std::exception &ex) {
|
||||||
|
@ -1,13 +1,11 @@
|
|||||||
#include "mdbx.h++"
|
#include "mdbx.h++"
|
||||||
#include <cstring>
|
#include <cstring>
|
||||||
|
#include <iostream>
|
||||||
|
|
||||||
static const char *const testkey = "testkey";
|
static const char *const testkey = "testkey";
|
||||||
static uint64_t testval = 11;
|
static uint64_t testval = 11;
|
||||||
|
|
||||||
int main(int argc, char *argv[]) {
|
int doit() {
|
||||||
(void)argc;
|
|
||||||
(void)argv;
|
|
||||||
|
|
||||||
mdbx::path db_filename = "test-early_close_dbi";
|
mdbx::path db_filename = "test-early_close_dbi";
|
||||||
mdbx::env_managed::remove(db_filename);
|
mdbx::env_managed::remove(db_filename);
|
||||||
|
|
||||||
@ -126,3 +124,14 @@ int main(int argc, char *argv[]) {
|
|||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int main(int argc, char *argv[]) {
|
||||||
|
(void)argc;
|
||||||
|
(void)argv;
|
||||||
|
try {
|
||||||
|
return doit();
|
||||||
|
} catch (const std::exception &ex) {
|
||||||
|
std::cerr << "Exception: " << ex.what() << "\n";
|
||||||
|
return EXIT_FAILURE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@ -75,10 +75,7 @@ static bool basic() {
|
|||||||
return ok;
|
return ok;
|
||||||
}
|
}
|
||||||
|
|
||||||
int main(int argc, const char *argv[]) {
|
int doit() {
|
||||||
(void)argc;
|
|
||||||
(void)argv;
|
|
||||||
|
|
||||||
auto ok = basic();
|
auto ok = basic();
|
||||||
for (size_t n = 0; n < 1000; ++n) {
|
for (size_t n = 0; n < 1000; ++n) {
|
||||||
for (size_t length = 0; ok && length < 111; ++length) {
|
for (size_t length = 0; ok && length < 111; ++length) {
|
||||||
@ -108,3 +105,14 @@ int main(int argc, const char *argv[]) {
|
|||||||
std::cout << "OK\n";
|
std::cout << "OK\n";
|
||||||
return EXIT_SUCCESS;
|
return EXIT_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int main(int argc, char *argv[]) {
|
||||||
|
(void)argc;
|
||||||
|
(void)argv;
|
||||||
|
try {
|
||||||
|
return doit();
|
||||||
|
} catch (const std::exception &ex) {
|
||||||
|
std::cerr << "Exception: " << ex.what() << "\n";
|
||||||
|
return EXIT_FAILURE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@ -4,11 +4,8 @@
|
|||||||
#include "mdbx.h++"
|
#include "mdbx.h++"
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
|
|
||||||
int main(int argc, const char *argv[]) {
|
static int doit() {
|
||||||
(void)argc;
|
mdbx::path db_filename = "test-maindb-ordinal";
|
||||||
(void)argv;
|
|
||||||
|
|
||||||
mdbx::path db_filename = "test-dupfix-multiple";
|
|
||||||
mdbx::env_managed::remove(db_filename);
|
mdbx::env_managed::remove(db_filename);
|
||||||
mdbx::env_managed env(db_filename, mdbx::env_managed::create_parameters(), mdbx::env::operate_parameters());
|
mdbx::env_managed env(db_filename, mdbx::env_managed::create_parameters(), mdbx::env::operate_parameters());
|
||||||
|
|
||||||
@ -51,3 +48,14 @@ int main(int argc, const char *argv[]) {
|
|||||||
return EXIT_SUCCESS;
|
return EXIT_SUCCESS;
|
||||||
#endif /* __cpp_lib_string_view >= 201606L */
|
#endif /* __cpp_lib_string_view >= 201606L */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int main(int argc, char *argv[]) {
|
||||||
|
(void)argc;
|
||||||
|
(void)argv;
|
||||||
|
try {
|
||||||
|
return doit();
|
||||||
|
} catch (const std::exception &ex) {
|
||||||
|
std::cerr << "Exception: " << ex.what() << "\n";
|
||||||
|
return EXIT_FAILURE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@ -25,12 +25,7 @@ static void logger_nofmt(MDBX_log_level_t loglevel, const char *function, int li
|
|||||||
fprintf(stdout, "%s:%u %s", function, line, msg);
|
fprintf(stdout, "%s:%u %s", function, line, msg);
|
||||||
}
|
}
|
||||||
|
|
||||||
int main(int argc, const char *argv[]) {
|
int doit() {
|
||||||
(void)argc;
|
|
||||||
(void)argv;
|
|
||||||
|
|
||||||
mdbx_setup_debug_nofmt(MDBX_LOG_VERBOSE, MDBX_DBG_ASSERT, logger_nofmt, log_buffer, sizeof(log_buffer));
|
|
||||||
|
|
||||||
mdbx::path path = "test-open";
|
mdbx::path path = "test-open";
|
||||||
mdbx::env::remove(path);
|
mdbx::env::remove(path);
|
||||||
|
|
||||||
@ -86,4 +81,16 @@ int main(int argc, const char *argv[]) {
|
|||||||
return EXIT_SUCCESS;
|
return EXIT_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int main(int argc, char *argv[]) {
|
||||||
|
(void)argc;
|
||||||
|
(void)argv;
|
||||||
|
mdbx_setup_debug_nofmt(MDBX_LOG_VERBOSE, MDBX_DBG_ASSERT, logger_nofmt, log_buffer, sizeof(log_buffer));
|
||||||
|
try {
|
||||||
|
return doit();
|
||||||
|
} catch (const std::exception &ex) {
|
||||||
|
std::cerr << "Exception: " << ex.what() << "\n";
|
||||||
|
return EXIT_FAILURE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
#endif /* __cpp_lib_latch */
|
#endif /* __cpp_lib_latch */
|
||||||
|
@ -308,12 +308,7 @@ bool case2(const mdbx::path &path, bool no_sticky_threads) {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
int main(int argc, const char *argv[]) {
|
int doit() {
|
||||||
(void)argc;
|
|
||||||
(void)argv;
|
|
||||||
|
|
||||||
mdbx_setup_debug_nofmt(MDBX_LOG_VERBOSE, MDBX_DBG_ASSERT, logger_nofmt, log_buffer, sizeof(log_buffer));
|
|
||||||
|
|
||||||
mdbx::path path = "test-txn";
|
mdbx::path path = "test-txn";
|
||||||
mdbx::env::remove(path);
|
mdbx::env::remove(path);
|
||||||
|
|
||||||
@ -326,4 +321,16 @@ int main(int argc, const char *argv[]) {
|
|||||||
return ok ? EXIT_SUCCESS : EXIT_FAILURE;
|
return ok ? EXIT_SUCCESS : EXIT_FAILURE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int main(int argc, char *argv[]) {
|
||||||
|
(void)argc;
|
||||||
|
(void)argv;
|
||||||
|
mdbx_setup_debug_nofmt(MDBX_LOG_VERBOSE, MDBX_DBG_ASSERT, logger_nofmt, log_buffer, sizeof(log_buffer));
|
||||||
|
try {
|
||||||
|
return doit();
|
||||||
|
} catch (const std::exception &ex) {
|
||||||
|
std::cerr << "Exception: " << ex.what() << "\n";
|
||||||
|
return EXIT_FAILURE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
#endif /* __cpp_lib_latch */
|
#endif /* __cpp_lib_latch */
|
||||||
|
Loading…
x
Reference in New Issue
Block a user