From 6ccc4338a45dc61b531850f212cbc0e3ec7eae30 Mon Sep 17 00:00:00 2001 From: David Bremner Date: Fri, 24 Jul 2020 08:14:01 -0300 Subject: [PATCH] test: add regression tests for n_thread_get_toplevel_messages Include a test for the previously omitted non-trivial code path for notmuch_thread_get_replies. --- test/T566-lib-message.sh | 1 - test/T568-lib-thread.sh | 80 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 80 insertions(+), 1 deletion(-) diff --git a/test/T566-lib-message.sh b/test/T566-lib-message.sh index 0c5575a9..4cf35810 100755 --- a/test/T566-lib-message.sh +++ b/test/T566-lib-message.sh @@ -87,7 +87,6 @@ cat < EXPECTED EOF test_expect_equal_file EXPECTED OUTPUT -# XXX TODO: test on a message from notmuch_thread_get_toplevel_messages # XXX this test only tests the trivial code path test_begin_subtest "Handle getting replies from closed database" cat c_head - c_tail <<'EOF' | test_C ${MAIL_DIR} diff --git a/test/T568-lib-thread.sh b/test/T568-lib-thread.sh index 5816cfbc..4703950b 100755 --- a/test/T568-lib-thread.sh +++ b/test/T568-lib-thread.sh @@ -92,4 +92,84 @@ cat < EXPECTED EOF test_expect_equal_file EXPECTED OUTPUT +test_begin_subtest "get top level messages with closed database" +cat c_head - c_tail <<'EOF' | test_C ${MAIL_DIR} + { + notmuch_messages_t *messages; + messages = notmuch_thread_get_toplevel_messages (thread); + printf("%d\n%d\n", thread != NULL, messages != NULL); + } +EOF +cat < EXPECTED +== stdout == +1 +1 +== stderr == +EOF +test_expect_equal_file EXPECTED OUTPUT + +test_begin_subtest "iterate over level messages with closed database" +cat c_head - c_tail <<'EOF' | test_C ${MAIL_DIR} + { + notmuch_messages_t *messages; + for (messages = notmuch_thread_get_toplevel_messages (thread); + notmuch_messages_valid (messages); + notmuch_messages_move_to_next (messages)) { + notmuch_message_t *message = notmuch_messages_get (messages); + const char *mid = notmuch_message_get_message_id (message); + printf("%s\n", mid); + } + } +EOF +cat < EXPECTED +== stdout == +20091117190054.GU3165@dottiness.seas.harvard.edu +== stderr == +EOF +test_expect_equal_file EXPECTED OUTPUT + +test_begin_subtest "iterate over level messages with closed database" +cat c_head - c_tail <<'EOF' | test_C ${MAIL_DIR} + { + notmuch_messages_t *messages; + for (messages = notmuch_thread_get_toplevel_messages (thread); + notmuch_messages_valid (messages); + notmuch_messages_move_to_next (messages)) { + notmuch_message_t *message = notmuch_messages_get (messages); + const char *mid = notmuch_message_get_message_id (message); + printf("%s\n", mid); + } + } +EOF +cat < EXPECTED +== stdout == +20091117190054.GU3165@dottiness.seas.harvard.edu +== stderr == +EOF +test_expect_equal_file EXPECTED OUTPUT + +test_begin_subtest "iterate over replies with closed database" +cat c_head - c_tail <<'EOF' | test_C ${MAIL_DIR} + { + notmuch_messages_t *messages = notmuch_thread_get_toplevel_messages (thread); + notmuch_message_t *message = notmuch_messages_get (messages); + notmuch_messages_t *replies; + for (replies = notmuch_message_get_replies (message); + notmuch_messages_valid (replies); + notmuch_messages_move_to_next (replies)) { + notmuch_message_t *message = notmuch_messages_get (replies); + const char *mid = notmuch_message_get_message_id (message); + + printf("%s\n", mid); + } + } +EOF +cat < EXPECTED +== stdout == +87iqd9rn3l.fsf@vertex.dottedmag +87ocn0qh6d.fsf@yoom.home.cworth.org +== stderr == +EOF +test_expect_equal_file EXPECTED OUTPUT + test_done