lib: unit tests: improve / better coverage

This commit is contained in:
Dirk-Jan C. Binnema
2023-09-13 23:02:53 +03:00
parent 7c16d080d2
commit 9dcbe1d96c
15 changed files with 304 additions and 147 deletions

View File

@ -363,8 +363,9 @@ test_maildir_get_new_path_02(void)
}
}
static void
test_maildir_get_new_path_custom(void)
test_maildir_get_new_path_custom_real(bool change_name)
{
struct {
std::string oldpath;
@ -393,12 +394,30 @@ test_maildir_get_new_path_custom(void)
paths[1].root_maildir,
paths[i].targetdir,
paths[i].flags,
false)};
change_name)};
assert_valid_result(newpath);
assert_equal(*newpath, paths[i].newpath);
if (change_name)
g_assert_true(*newpath != paths[i].newpath); // weak test
else
assert_equal(*newpath, paths[i].newpath);
}
}
static void
test_maildir_get_new_path_custom(void)
{
return test_maildir_get_new_path_custom_real(false);
}
static void
test_maildir_get_new_path_custom_change_name(void)
{
return test_maildir_get_new_path_custom_real(true);
}
static void
test_maildir_from_path(void)
{
@ -506,32 +525,30 @@ test_maildir_move_gio()
int
main(int argc, char* argv[])
{
g_test_init(&argc, &argv, NULL);
mu_test_init(&argc, &argv);
/* mu_util_maildir_mkmdir */
g_test_add_func("/mu-maildir/mu-maildir-mkdir-01", test_maildir_mkdir_01);
g_test_add_func("/mu-maildir/mu-maildir-mkdir-02", test_maildir_mkdir_02);
g_test_add_func("/mu-maildir/mu-maildir-mkdir-03", test_maildir_mkdir_03);
g_test_add_func("/mu-maildir/mu-maildir-mkdir-04", test_maildir_mkdir_04);
g_test_add_func("/mu-maildir/mu-maildir-mkdir-05", test_maildir_mkdir_05);
g_test_add_func("/maildir/mkdir-01", test_maildir_mkdir_01);
g_test_add_func("/maildir/mkdir-02", test_maildir_mkdir_02);
g_test_add_func("/maildir/mkdir-03", test_maildir_mkdir_03);
g_test_add_func("/maildir/mkdir-04", test_maildir_mkdir_04);
g_test_add_func("/maildir/mkdir-05", test_maildir_mkdir_05);
g_test_add_func("/mu-maildir/mu-maildir-determine-target-ok",
test_determine_target_ok);
g_test_add_func("/mu-maildir/mu-maildir-determine-target-fail",
test_determine_target_fail);
g_test_add_func("/maildir/determine-target-ok", test_determine_target_ok);
g_test_add_func("/maildir/determine-target-fail", test_determine_target_fail);
// /* get/set flags */
g_test_add_func("/mu-maildir/mu-maildir-get-new-path-01", test_maildir_get_new_path_01);
g_test_add_func("/mu-maildir/mu-maildir-get-new-path-02", test_maildir_get_new_path_02);
g_test_add_func("/mu-maildir/mu-maildir-get-new-path-custom",
test_maildir_get_new_path_custom);
g_test_add_func("/mu-maildir/mu-maildir-from-path",
test_maildir_from_path);
g_test_add_func("/maildir/get-new-path-01", test_maildir_get_new_path_01);
g_test_add_func("/maildir/get-new-path-02", test_maildir_get_new_path_02);
g_test_add_func("/maildir/get-new-path-custom", test_maildir_get_new_path_custom);
g_test_add_func("/maildir/get-new-path-custom-change-name",
test_maildir_get_new_path_custom_change_name);
g_test_add_func("/mu-maildir/mu-maildir-link", test_maildir_link);
g_test_add_func("/maildir/from-path", test_maildir_from_path);
g_test_add_func("/mu-maildir/mu-maildir-move-vanilla", test_maildir_move_vanilla);
g_test_add_func("/mu-maildir/mu-maildir-move-gio", test_maildir_move_gio);
g_test_add_func("/maildir/link", test_maildir_link);
g_test_add_func("/maildir/move-vanilla", test_maildir_move_vanilla);
g_test_add_func("/maildir/aildir-move-gio", test_maildir_move_gio);
return g_test_run();
}

View File

@ -505,6 +505,26 @@ test_store_circular_symlink(void)
remove_directory(testhome);
}
static void
test_store_maildirs()
{
allow_warnings();
TempDir tdir;
auto store = Store::make_new(tdir.path(), MU_TESTMAILDIR2);
assert_valid_result(store);
g_assert_true(store->empty());
const auto mdirs = store->maildirs();
g_assert_cmpuint(mdirs.size(), ==, 3);
g_assert(seq_some(mdirs, [](auto&& m){return m == "/Foo";}));
g_assert(seq_some(mdirs, [](auto&& m){return m == "/bar";}));
g_assert(seq_some(mdirs, [](auto&& m){return m == "/wom_bat";}));
}
static void
test_store_fail()
@ -521,6 +541,7 @@ test_store_fail()
}
}
int
main(int argc, char* argv[])
{
@ -534,8 +555,12 @@ main(int argc, char* argv[])
g_test_add_func("/store/message/attachments",
test_message_attachments);
g_test_add_func("/store/move-dups", test_store_move_dups);
g_test_add_func("/store/maildirs", test_store_maildirs);
g_test_add_func("/store/index/index-move", test_index_move);
g_test_add_func("/store/index/circular-symlink", test_store_circular_symlink);
g_test_add_func("/store/index/fail", test_store_fail);
return g_test_run();