]> granicus.if.org Git - neomutt/commitdiff
test: add address tests for degenerate cases
authorRichard Russon <rich@flatcap.org>
Sat, 27 Apr 2019 16:53:29 +0000 (17:53 +0100)
committerRichard Russon <rich@flatcap.org>
Sat, 27 Apr 2019 21:48:41 +0000 (22:48 +0100)
25 files changed:
test/address/mutt_addr_append.c
test/address/mutt_addr_cat.c
test/address/mutt_addr_cmp.c
test/address/mutt_addr_cmp_strict.c
test/address/mutt_addr_copy.c
test/address/mutt_addr_copy_list.c
test/address/mutt_addr_for_display.c
test/address/mutt_addr_free.c
test/address/mutt_addr_has_recips.c
test/address/mutt_addr_is_intl.c
test/address/mutt_addr_is_local.c
test/address/mutt_addr_mbox_to_udomain.c
test/address/mutt_addr_parse_list.c
test/address/mutt_addr_parse_list2.c
test/address/mutt_addr_qualify.c
test/address/mutt_addr_remove_from_list.c
test/address/mutt_addr_remove_xrefs.c
test/address/mutt_addr_search.c
test/address/mutt_addr_set_intl.c
test/address/mutt_addr_set_local.c
test/address/mutt_addr_valid_msgid.c
test/address/mutt_addr_write.c
test/address/mutt_addr_write_single.c
test/address/mutt_addrlist_to_intl.c
test/address/mutt_addrlist_to_local.c

index 225766739b3cb80c082f190b8e25bfe0bbd9da19..fe9af1249b4cf1f26cf67bcff5d90955a631f5d6 100644 (file)
 void test_mutt_addr_append(void)
 {
   // struct Address *mutt_addr_append(struct Address **a, struct Address *b, bool prune);
+
+  {
+    struct Address addr = { 0 };
+    TEST_CHECK(!mutt_addr_append(NULL, &addr, false));
+  }
+
+  {
+    struct Address *addr = NULL;
+    TEST_CHECK(!mutt_addr_append(&addr, NULL, false));
+  }
 }
index acae11c7ba17a5303a0fe14d19beae3ac97a1084..74993458db745e44a4ce2619a8ec8fc5b1e95188 100644 (file)
 void test_mutt_addr_cat(void)
 {
   // void mutt_addr_cat(char *buf, size_t buflen, const char *value, const char *specials);
+
+  const char MimeSpecials[] = "@.,;:<>[]\\\"()?/= \t";
+
+  {
+    mutt_addr_cat(NULL, 32, "apple", MimeSpecials);
+    TEST_CHECK_(1, "mutt_addr_cat(NULL, 32, \"apple\", MimeSpecials)");
+  }
+
+  {
+    char buf[32];
+    mutt_addr_cat(buf, sizeof(buf), NULL, MimeSpecials);
+    TEST_CHECK_(1, "mutt_addr_cat(buf, sizeof(buf), NULL, MimeSpecials)");
+  }
+
+  {
+    char buf[32];
+    mutt_addr_cat(buf, sizeof(buf), "apple", NULL);
+    TEST_CHECK_(1, "mutt_addr_cat(buf, sizeof(buf), \"apple\", NULL)");
+  }
 }
index 432ff948062c5a09a7d4ee81bb0d7f137113222b..b43cb2b50f73e6a700116e6bfa02a99943a090cd 100644 (file)
 void test_mutt_addr_cmp(void)
 {
   // bool mutt_addr_cmp(struct Address *a, struct Address *b);
+
+  {
+    struct Address addr = { 0 };
+    TEST_CHECK(!mutt_addr_cmp(NULL, &addr));
+  }
+
+  {
+    struct Address addr = { 0 };
+    TEST_CHECK(!mutt_addr_cmp(&addr, NULL));
+  }
 }
index e88e72840188a95db19bad7fb7cb3cf0f7c30f14..651939489bfd3a9b25c72a01274afa13d19c2041 100644 (file)
 void test_mutt_addr_cmp_strict(void)
 {
   // bool mutt_addr_cmp_strict(const struct Address *a, const struct Address *b);
+
+  {
+    struct Address addr = { 0 };
+    TEST_CHECK(!mutt_addr_cmp_strict(NULL, &addr));
+  }
+
+  {
+    struct Address addr = { 0 };
+    TEST_CHECK(!mutt_addr_cmp_strict(&addr, NULL));
+  }
 }
index 9f600187f2d7e558f8d5fe9d291c9e24fda36191..12a272f4088fdb42c9dbbc93ea135449ba40519a 100644 (file)
@@ -29,4 +29,8 @@
 void test_mutt_addr_copy(void)
 {
   // struct Address *mutt_addr_copy(struct Address *addr);
+
+  {
+    TEST_CHECK(!mutt_addr_copy(NULL));
+  }
 }
index bf549b9ad90d7c242b134a545545740164bfd293..cae8e1c11c02304159320973045c46329ef61311 100644 (file)
@@ -29,4 +29,8 @@
 void test_mutt_addr_copy_list(void)
 {
   // struct Address *mutt_addr_copy_list(struct Address *addr, bool prune);
+
+  {
+    TEST_CHECK(!mutt_addr_copy_list(NULL, false));
+  }
 }
index ca26eb5ed31c9dab0bdf1173f7fa0a4d5a352e5e..71004d66653bceef8d3bc32b73c62dde688df3f3 100644 (file)
@@ -29,4 +29,8 @@
 void test_mutt_addr_for_display(void)
 {
   // const char * mutt_addr_for_display(struct Address *a);
+
+  {
+    TEST_CHECK(!mutt_addr_for_display(NULL));
+  }
 }
index a73e6287cd41b46135739e919a188edde28f84a5..cb33e33463a329ad9e33832fae5aecf211bd9fa5 100644 (file)
@@ -29,4 +29,9 @@
 void test_mutt_addr_free(void)
 {
   // void mutt_addr_free(struct Address **p);
+
+  {
+    mutt_addr_free(NULL);
+    TEST_CHECK_(1, "mutt_addr_free(NULL)");
+  }
 }
index 9582f3242a07210f4d24395cd842b06bdd433dbf..30f905bdf97be30190b21d8a592713e1d2f8e986 100644 (file)
@@ -29,4 +29,8 @@
 void test_mutt_addr_has_recips(void)
 {
   // int mutt_addr_has_recips(struct Address *a);
+
+  {
+    TEST_CHECK(mutt_addr_has_recips(NULL) == 0);
+  }
 }
index d7530e50d998a3efe5ecafeb500f7c16344a20ba..43a512880dda88f523f77d7bee9aad7df7595a3f 100644 (file)
@@ -29,4 +29,8 @@
 void test_mutt_addr_is_intl(void)
 {
   // bool mutt_addr_is_intl(struct Address *a);
+
+  {
+    TEST_CHECK(!mutt_addr_is_intl(NULL));
+  }
 }
index c9f13f17e4c213d9b8165c9b29ed83caa814eec0..2015e897f7557c94c648fefcb04635c754b5578a 100644 (file)
@@ -29,4 +29,8 @@
 void test_mutt_addr_is_local(void)
 {
   // bool mutt_addr_is_local(struct Address *a);
+
+  {
+    TEST_CHECK(!mutt_addr_is_local(NULL));
+  }
 }
index 623d725b5f33219edde7ff3e0466c9ad148dc578..eac5b7c7d85377ea96f91f3e750e3209bcd12a2b 100644 (file)
 void test_mutt_addr_mbox_to_udomain(void)
 {
   // int mutt_addr_mbox_to_udomain(const char *mbox, char **user, char **domain);
+
+  {
+    char *user = NULL;
+    char *domain = NULL;
+    TEST_CHECK(mutt_addr_mbox_to_udomain(NULL, &user, &domain) == -1);
+  }
+
+  {
+    char *domain = NULL;
+    TEST_CHECK(mutt_addr_mbox_to_udomain("apple", NULL, &domain) == -1);
+  }
+
+  {
+    char *user = NULL;
+    TEST_CHECK(mutt_addr_mbox_to_udomain("apple", &user, NULL) == -1);
+  }
 }
index e47e405091e8fd620c9660bcccb346211e924379..ac76e76186a11570e1ccb84dfe910ec1b09b7a56 100644 (file)
 void test_mutt_addr_parse_list(void)
 {
   // struct Address *mutt_addr_parse_list(struct Address *top, const char *s);
+
+  {
+    struct Address *addr = NULL;
+    TEST_CHECK((addr = mutt_addr_parse_list(NULL, "apple")) != NULL);
+    mutt_addr_free(&addr);
+  }
+
+  {
+    struct Address addr = { 0 };
+    TEST_CHECK(!mutt_addr_parse_list(&addr, NULL));
+  }
 }
index 73cff7901c35b6f866ff39ecbadac23d1c13cf69..241b3c75941320930610cd1c723271af823a97d3 100644 (file)
 void test_mutt_addr_parse_list2(void)
 {
   // struct Address *mutt_addr_parse_list2(struct Address *p, const char *s);
+
+  {
+    struct Address *addr = NULL;
+    TEST_CHECK((addr = mutt_addr_parse_list2(NULL, "apple")) != NULL);
+    mutt_addr_free(&addr);
+  }
+
+  {
+    struct Address addr = { 0 };
+    TEST_CHECK(!mutt_addr_parse_list2(&addr, NULL));
+  }
 }
index 4b32cb459916d7ede8db2905a5c237b44ca11959..2e724513b2eb3fde611b4223ea963556330b33c1 100644 (file)
 void test_mutt_addr_qualify(void)
 {
   // void mutt_addr_qualify(struct Address *addr, const char *host);
+
+  {
+    mutt_addr_qualify(NULL, "example.com");
+    TEST_CHECK_(1, "mutt_addr_qualify(NULL, \"example.com\")");
+  }
+
+  {
+    struct Address addr = { 0 };
+    mutt_addr_qualify(&addr, NULL);
+    TEST_CHECK_(1, "mutt_addr_qualify(&addr, NULL)");
+  }
 }
index 1cff65951ed531935bce3afab6bd92565f48305f..96d313afd91e05eacdb2d9b34d1852aab42af721 100644 (file)
 void test_mutt_addr_remove_from_list(void)
 {
   // int mutt_addr_remove_from_list(struct Address **a, const char *mailbox);
+
+  {
+    TEST_CHECK(mutt_addr_remove_from_list(NULL, "apple") == -1);
+  }
+
+  {
+    struct Address *addr = NULL;
+    TEST_CHECK(mutt_addr_remove_from_list(&addr, NULL) == 0);
+  }
 }
index f2f177b9463d5cfd0aa29544c3ec15b7868844a6..1e282fcaf5b18a404700babf6551833147a41679 100644 (file)
 void test_mutt_addr_remove_xrefs(void)
 {
   // struct Address *mutt_addr_remove_xrefs(struct Address *a, struct Address *b);
+
+  {
+    struct Address addr = { 0 };
+    TEST_CHECK(mutt_addr_remove_xrefs(NULL, &addr) == NULL);
+  }
+
+  {
+    struct Address addr = { 0 };
+    TEST_CHECK(mutt_addr_remove_xrefs(&addr, NULL) == NULL);
+  }
 }
index cb6c2970f0041ce41f3140de37eaa1c5c9383a60..52f2f56b284b83a53614f7fc30bfffd281b3588f 100644 (file)
 void test_mutt_addr_search(void)
 {
   // bool mutt_addr_search(struct Address *a, struct Address *lst);
+
+  {
+    struct Address addr = { 0 };
+    TEST_CHECK(!mutt_addr_search(NULL, &addr));
+  }
+
+  {
+    struct Address addr = { 0 };
+    TEST_CHECK(!mutt_addr_search(&addr, NULL));
+  }
 }
index 72541026737ba787e320a8ae1569b6769fab9749..6765959b64f8bf69a42fd957222dac8a189ff1e2 100644 (file)
 void test_mutt_addr_set_intl(void)
 {
   // void mutt_addr_set_intl(struct Address *a, char *intl_mailbox);
+
+  {
+    mutt_addr_set_intl(NULL, "apple");
+    TEST_CHECK_(1, "mutt_addr_set_intl(NULL, \"apple\")");
+  }
+
+  {
+    struct Address addr = { 0 };
+    mutt_addr_set_intl(&addr, NULL);
+    TEST_CHECK_(1, "mutt_addr_set_intl(&addr, NULL)");
+  }
 }
index 9377aa618b0b8c2ac7a236e8c4df7313ce045cf3..1710673283ca69c768eaa2f88cb779dddd13ee6b 100644 (file)
 void test_mutt_addr_set_local(void)
 {
   // void mutt_addr_set_local(struct Address *a, char *local_mailbox);
+
+  {
+    mutt_addr_set_local(NULL, "apple");
+    TEST_CHECK_(1, "mutt_addr_set_local(NULL, \"apple\")");
+  }
+
+  {
+    struct Address addr = { 0 };
+    mutt_addr_set_local(&addr, NULL);
+    TEST_CHECK_(1, "mutt_addr_set_local(&addr, NULL)");
+  }
 }
index ad420b87ee48a7ee59975c7930c9f0c75acb6931..036737a8cd0a6790460afa864ca8005fa37dbd45 100644 (file)
@@ -29,4 +29,8 @@
 void test_mutt_addr_valid_msgid(void)
 {
   // bool mutt_addr_valid_msgid(const char *msgid);
+
+  {
+    TEST_CHECK(!mutt_addr_valid_msgid(NULL));
+  }
 }
index d685358518d17884fcf13b3018d2cfe061dce0b9..e6d0bcb63736d1790216ee206c797b530e857760 100644 (file)
 void test_mutt_addr_write(void)
 {
   // size_t mutt_addr_write(char *buf, size_t buflen, struct Address *addr, bool display);
+
+  {
+    struct Address addr = { 0 };
+    TEST_CHECK(mutt_addr_write(NULL, 32, &addr, false) == 0);
+  }
+
+  {
+    char buf[32] = { 0 };
+    TEST_CHECK(mutt_addr_write(buf, sizeof(buf), NULL, false) == 0);
+  }
 }
index c7dc659e8d776d6a0b6024e359aeb67f8691e844..09cc0a0f705de2d632db93c5a728638d90e6ccb0 100644 (file)
 void test_mutt_addr_write_single(void)
 {
   // void mutt_addr_write_single(char *buf, size_t buflen, struct Address *addr, bool display);
+
+  {
+    struct Address addr = { 0 };
+    mutt_addr_write_single(NULL, 32, &addr, false);
+    TEST_CHECK_(1, "mutt_addr_write_single(NULL, 32, &addr, false)");
+  }
+
+  {
+    char buf[32] = { 0 };
+    mutt_addr_write_single(buf, sizeof(buf), NULL, false);
+    TEST_CHECK_(1, "mutt_addr_write_single(buf, sizeof(buf), NULL, false)");
+  }
 }
index ff7acf5a7f853c7a03b83f621941a9e7318a484b..670c9d19c06a23b151076e1a61b3d323cbce4146 100644 (file)
 void test_mutt_addrlist_to_intl(void)
 {
   // int mutt_addrlist_to_intl(struct Address *a, char **err);
+
+  {
+    char *err = NULL;
+    TEST_CHECK(mutt_addrlist_to_intl(NULL, &err) == 0);
+  }
+
+  {
+    struct Address addr = { 0 };
+    TEST_CHECK(mutt_addrlist_to_intl(&addr, NULL) == 0);
+  }
 }
index 57a99a8ad9c1fa4137cb70ae47439b704953b136..fc213a19f5bc8d6966acaa836ab28e0c86da0eb3 100644 (file)
@@ -29,4 +29,8 @@
 void test_mutt_addrlist_to_local(void)
 {
   // int mutt_addrlist_to_local(struct Address *a);
+
+  {
+    TEST_CHECK(mutt_addrlist_to_local(NULL) == 0);
+  }
 }