Add functional and unit tests for DB export/import
All checks were successful
CI Code / Check spelling (pull_request) Successful in 18s
CI Code / Check coding style (pull_request) Successful in 32s
CI Code / Code Coverage (pull_request) Successful in 6m23s
CI Code / Linux (debian) (pull_request) Successful in 7m47s
CI Code / Linux (ubuntu) (pull_request) Successful in 7m51s
CI Code / Linux (arch) (pull_request) Successful in 8m5s
All checks were successful
CI Code / Check spelling (pull_request) Successful in 18s
CI Code / Check coding style (pull_request) Successful in 32s
CI Code / Code Coverage (pull_request) Successful in 6m23s
CI Code / Linux (debian) (pull_request) Successful in 7m47s
CI Code / Linux (ubuntu) (pull_request) Successful in 7m51s
CI Code / Linux (arch) (pull_request) Successful in 8m5s
- 2 functional tests: export_sqlite_to_flatfile, import_flatfile_to_sqlite with XEP-0203 delay timestamps for deterministic verification - 27 unit tests for database_export covering edge cases - Merge test/db-functional-tests: 12 DB persistence tests (test_history) - Group 2 rebalanced: 25 tests (23 base + 2 SQLite-only export/import) - #ifdef HAVE_SQLITE guards for export/import tests - prof_stop() helper in proftest.c - Makefile.am: source ordering cleanup, new test files added
This commit is contained in:
@@ -36,6 +36,7 @@
|
||||
#include "test_form.h"
|
||||
#include "test_callbacks.h"
|
||||
#include "test_plugins_disco.h"
|
||||
#include "test_database_export.h"
|
||||
|
||||
#define muc_unit_test(f) cmocka_unit_test_setup_teardown(f, muc_before_test, muc_after_test)
|
||||
|
||||
@@ -656,6 +657,43 @@ main(int argc, char* argv[])
|
||||
cmocka_unit_test_setup_teardown(test_allow_unencrypted_message_confirms_on_second_attempt, load_preferences, close_preferences),
|
||||
cmocka_unit_test_setup_teardown(test_cmd_force_encryption_invalid_policy, load_preferences, close_preferences),
|
||||
cmocka_unit_test_setup_teardown(test_allow_unencrypted_message_invalid_mode, load_preferences, close_preferences),
|
||||
|
||||
// Flatfile export/import round-trip
|
||||
cmocka_unit_test(test_ff_roundtrip_simple_chat),
|
||||
cmocka_unit_test(test_ff_roundtrip_with_all_metadata),
|
||||
cmocka_unit_test(test_ff_roundtrip_with_resource),
|
||||
cmocka_unit_test(test_ff_roundtrip_newline_in_body),
|
||||
cmocka_unit_test(test_ff_roundtrip_pipe_in_stanza_id),
|
||||
cmocka_unit_test(test_ff_roundtrip_backslash_in_body),
|
||||
cmocka_unit_test(test_ff_roundtrip_unicode_body),
|
||||
cmocka_unit_test(test_ff_roundtrip_empty_body),
|
||||
cmocka_unit_test(test_ff_roundtrip_colonspace_in_resource),
|
||||
cmocka_unit_test(test_ff_roundtrip_muc_type),
|
||||
cmocka_unit_test(test_ff_roundtrip_omemo_enc),
|
||||
cmocka_unit_test(test_ff_roundtrip_replace_id),
|
||||
|
||||
// Escape / unescape
|
||||
cmocka_unit_test(test_ff_escape_unescape_message_identity),
|
||||
cmocka_unit_test(test_ff_escape_unescape_meta_identity),
|
||||
cmocka_unit_test(test_ff_escape_meta_null_returns_null),
|
||||
cmocka_unit_test(test_ff_escape_message_null_returns_empty),
|
||||
|
||||
// jid_to_dir
|
||||
cmocka_unit_test(test_ff_jid_to_dir_simple),
|
||||
cmocka_unit_test(test_ff_jid_to_dir_with_at),
|
||||
cmocka_unit_test(test_ff_jid_to_dir_path_traversal_rejected),
|
||||
cmocka_unit_test(test_ff_jid_to_dir_null),
|
||||
|
||||
// Parser edge cases
|
||||
cmocka_unit_test(test_ff_parse_line_empty),
|
||||
cmocka_unit_test(test_ff_parse_line_comment),
|
||||
cmocka_unit_test(test_ff_parse_line_legacy_format),
|
||||
cmocka_unit_test(test_ff_parse_line_no_metadata),
|
||||
cmocka_unit_test(test_ff_parse_line_invalid_timestamp),
|
||||
|
||||
// Type/enc round-trip
|
||||
cmocka_unit_test(test_ff_type_str_roundtrip),
|
||||
cmocka_unit_test(test_ff_enc_str_roundtrip),
|
||||
};
|
||||
return cmocka_run_group_tests(all_tests, NULL, NULL);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user