]> granicus.if.org Git - neomutt/commitdiff
test: add thread tests for degenerate cases
authorRichard Russon <rich@flatcap.org>
Mon, 29 Apr 2019 13:46:56 +0000 (14:46 +0100)
committerRichard Russon <rich@flatcap.org>
Tue, 30 Apr 2019 10:22:04 +0000 (11:22 +0100)
test/thread/clean_references.c
test/thread/find_virtual.c
test/thread/insert_message.c
test/thread/is_descendant.c
test/thread/mutt_break_thread.c
test/thread/thread_hash_destructor.c
test/thread/unlink_message.c

index c8419453a27d7aa9dbe71b124e4df9e30f7bc383..b493ff53d299465ce9e6b1875b3e88bea23178c8 100644 (file)
 void test_clean_references(void)
 {
   // void clean_references(struct MuttThread *brk, struct MuttThread *cur);
+
+  {
+    struct MuttThread muttthread = { 0 };
+    clean_references(NULL, &muttthread);
+    TEST_CHECK_(1, "clean_references(NULL, &muttthread)");
+  }
+
+  {
+    struct MuttThread muttthread = { 0 };
+    clean_references(&muttthread, NULL);
+    TEST_CHECK_(1, "clean_references(&muttthread, NULL)");
+  }
 }
index 96a8a96882bfe16569c7305aec046526f69f7952..3ab06fd277bdedcec94ccfae1346f0eb3630d7b0 100644 (file)
@@ -30,4 +30,8 @@
 void test_find_virtual(void)
 {
   // struct Email *find_virtual(struct MuttThread *cur, int reverse);
+
+  {
+    TEST_CHECK(!find_virtual(NULL, 0));
+  }
 }
index 71b4806cc7ddd942454c34f23fdd35a0e6ecc34c..bea0267c2d29ea09fc2215d412cff6d2e718658d 100644 (file)
 void test_insert_message(void)
 {
   // void insert_message(struct MuttThread **new, struct MuttThread *newparent, struct MuttThread *cur);
+
+  {
+    struct MuttThread newparent = { 0 };
+    struct MuttThread cur = { 0 };
+    insert_message(NULL, &newparent, &cur);
+    TEST_CHECK_(1, "insert_message(NULL, &newparent, &cur)");
+  }
+
+  {
+    struct MuttThread *new = NULL;
+    struct MuttThread cur = { 0 };
+    insert_message(&new, NULL, &cur);
+    TEST_CHECK_(1, "insert_message(&new, NULL, &cur)");
+  }
+
+  {
+    struct MuttThread *new = NULL;
+    struct MuttThread newparent = { 0 };
+    insert_message(&new, &newparent, NULL);
+    TEST_CHECK_(1, "insert_message(&new, &newparent, NULL)");
+  }
 }
index 5754bd9d506f746c6ec6d87205c8a3380eee51ad..9e67c06cebc529b2d157175f20c3c347909384e3 100644 (file)
 void test_is_descendant(void)
 {
   // bool is_descendant(struct MuttThread *a, struct MuttThread *b);
+
+  {
+    struct MuttThread muttthread = { 0 };
+    TEST_CHECK(!is_descendant(NULL, &muttthread));
+  }
+
+  {
+    struct MuttThread muttthread = { 0 };
+    TEST_CHECK(!is_descendant(&muttthread, NULL));
+  }
 }
index cdc0e3a680071212f12ac296f7d3e97448a464ba..a5b15faebd13dd8543b7ecb9eb8b3ae1c4b50e7b 100644 (file)
@@ -30,4 +30,9 @@
 void test_mutt_break_thread(void)
 {
   // void mutt_break_thread(struct Email *e);
+
+  {
+    mutt_break_thread(NULL);
+    TEST_CHECK_(1, "mutt_break_thread(NULL)");
+  }
 }
index dbd3afc8598a4a3019cb27ab4b7e0a32952755fc..d6182d4f0d377266d1484b86bf9d96a5ccddbd4e 100644 (file)
 void test_thread_hash_destructor(void)
 {
   // void thread_hash_destructor(int type, void *obj, intptr_t data);
+
+  {
+    thread_hash_destructor(0, NULL, (intptr_t) "apple");
+    TEST_CHECK_(1, "thread_hash_destructor(0, NULL, \"apple\")");
+  }
+
+  {
+    struct Address *address = mutt_mem_calloc(1, sizeof(*address));
+    thread_hash_destructor(0, address, 0);
+    TEST_CHECK_(1, "thread_hash_destructor(0, &address, NULL)");
+  }
 }
index fc3166c5eea20cd83bd66274bb2707a8c5043663..3039602721b844ec911ac5f941a33a9ee2f78548 100644 (file)
 void test_unlink_message(void)
 {
   // void unlink_message(struct MuttThread **old, struct MuttThread *cur);
+
+  {
+    struct MuttThread cur = { 0 };
+    unlink_message(NULL, &cur);
+    TEST_CHECK_(1, "unlink_message(NULL, &cur)");
+  }
+
+  {
+    struct MuttThread *old = NULL;
+    unlink_message(&old, NULL);
+    TEST_CHECK_(1, "unlink_message(&old, NULL)");
+  }
 }