]> granicus.if.org Git - check/commitdiff
Add tests for ck_assert_str_* with NULL passed
authorDotsenko Andrey <cnconlinux@gmail.com>
Sat, 3 Dec 2016 17:21:06 +0000 (20:21 +0300)
committerDotsenko Andrey <cnconlinux@gmail.com>
Sat, 10 Dec 2016 13:11:18 +0000 (16:11 +0300)
tests/check_check_master.c
tests/check_check_sub.c

index 8510db4e3df91396385f0d27bad8c6c1f7dfa4f2..3373a4b552f04d9661aa48985f34a4432892799f 100644 (file)
@@ -212,11 +212,17 @@ static master_test_t master_tests[] = {
   /* End of tests on long double macros */
   { "Simple Tests", "test_percent_n_escaped", CK_FAILURE, "Assertion 'returnsZero(\"%n\") == 1' failed: returnsZero(\"%n\") == 0, 1 == 1" },
   { "Simple Tests", "test_ck_assert_str_eq", CK_FAILURE, "Assertion '\"test1\" == s' failed: \"test1\" == \"test1\", s == \"test2\"" },
+  { "Simple Tests", "test_ck_assert_str_eq_with_null", CK_FAILURE, "Assertion 't == s' failed: t == (null), s == (null)" },
   { "Simple Tests", "test_ck_assert_str_ne", CK_FAILURE, "Assertion 't != s' failed: t == \"test2\", s == \"test2\"" },
+  { "Simple Tests", "test_ck_assert_str_ne_with_null", CK_FAILURE, "Assertion 't != s' failed: t == \"test\", s == (null)" },
   { "Simple Tests", "test_ck_assert_str_lt", CK_FAILURE, "Assertion 's < s' failed: s == \"test1\", s == \"test1\"" },
+  { "Simple Tests", "test_ck_assert_str_lt_with_null", CK_FAILURE, "Assertion 's < t' failed: s == (null), t == \"test\"" },
   { "Simple Tests", "test_ck_assert_str_le", CK_FAILURE, "Assertion 't <= s' failed: t == \"test2\", s == \"test1\"" },
+  { "Simple Tests", "test_ck_assert_str_le_with_null", CK_FAILURE, "Assertion 't <= s' failed: t == (null), s == (null)" },
   { "Simple Tests", "test_ck_assert_str_gt", CK_FAILURE, "Assertion 't > t' failed: t == \"test2\", t == \"test2\"" },
+  { "Simple Tests", "test_ck_assert_str_gt_with_null", CK_FAILURE, "Assertion 't > s' failed: t == \"test\", s == (null)" },
   { "Simple Tests", "test_ck_assert_str_ge", CK_FAILURE, "Assertion 's >= t' failed: s == \"test1\", t == \"test2\"" },
+  { "Simple Tests", "test_ck_assert_str_ge_with_null", CK_FAILURE, "Assertion 's >= t' failed: s == (null), t == (null)" },
   { "Simple Tests", "test_ck_assert_str_expr", CK_PASS,    "Passed" },
   { "Simple Tests", "test_ck_assert_ptr_eq", CK_FAILURE, "Assertion 'x == y' failed: x == 0x1, y == 0x2" },
   { "Simple Tests", "test_ck_assert_ptr_ne", CK_FAILURE, "Assertion 'x != z' failed: x == 0x1, z == 0x1" },
index 8b82a127e94eae75ba626d456e23317cd100aadd..6c81bd7bed54bec9708a8367e6b283cf50ed4b00 100644 (file)
@@ -1907,19 +1907,32 @@ START_TEST(test_percent_n_escaped)
 
 START_TEST(test_ck_assert_str_eq)
 {
-  const char *s = "test2";
   record_test_name(tcase_name());
+
+  const char *s = "test2";
   ck_assert_str_eq("test2", s);
   record_failure_line_num(__LINE__);
   ck_assert_str_eq("test1", s);
 }
 END_TEST
 
+START_TEST(test_ck_assert_str_eq_with_null)
+{
+  record_test_name(tcase_name());
+
+  const char *s = NULL;
+  const char *t = NULL;
+  record_failure_line_num(__LINE__);
+  ck_assert_str_eq(t, s);
+}
+END_TEST
+
 START_TEST(test_ck_assert_str_ne)
 {
+  record_test_name(tcase_name());
+
   const char *s = "test2";
   const char *t = "test1";
-  record_test_name(tcase_name());
   ck_assert_str_ne(t, s);
   t = "test2";
   record_failure_line_num(__LINE__);
@@ -1927,22 +1940,46 @@ START_TEST(test_ck_assert_str_ne)
 }
 END_TEST
 
+START_TEST(test_ck_assert_str_ne_with_null)
+{
+  record_test_name(tcase_name());
+
+  const char *s = NULL;
+  const char *t = "test";
+  record_failure_line_num(__LINE__);
+  ck_assert_str_ne(t, s);
+}
+END_TEST
+
 START_TEST(test_ck_assert_str_lt)
 {
+  record_test_name(tcase_name());
+
   const char *s = "test1";
   const char *t = "test2";
-  record_test_name(tcase_name());
   ck_assert_str_lt(s, t);
   record_failure_line_num(__LINE__);
   ck_assert_str_lt(s, s);
 }
 END_TEST
 
+START_TEST(test_ck_assert_str_lt_with_null)
+{
+  record_test_name(tcase_name());
+
+  const char *s = NULL;
+  const char *t = "test";
+  record_failure_line_num(__LINE__);
+  ck_assert_str_lt(s, t);
+}
+END_TEST
+
 START_TEST(test_ck_assert_str_le)
 {
+  record_test_name(tcase_name());
+
   const char *s = "test1";
   const char *t = "test2";
-  record_test_name(tcase_name());
   ck_assert_str_le(s, t);
   ck_assert_str_le(s, s);
   record_failure_line_num(__LINE__);
@@ -1950,22 +1987,46 @@ START_TEST(test_ck_assert_str_le)
 }
 END_TEST
 
+START_TEST(test_ck_assert_str_le_with_null)
+{
+  record_test_name(tcase_name());
+
+  const char *s = NULL;
+  const char *t = NULL;
+  record_failure_line_num(__LINE__);
+  ck_assert_str_le(t, s);
+}
+END_TEST
+
 START_TEST(test_ck_assert_str_gt)
 {
+  record_test_name(tcase_name());
+
   const char *s = "test1";
   const char *t = "test2";
-  record_test_name(tcase_name());
   ck_assert_str_gt(t, s);
   record_failure_line_num(__LINE__);
   ck_assert_str_gt(t, t);
 }
 END_TEST
 
+START_TEST(test_ck_assert_str_gt_with_null)
+{
+  record_test_name(tcase_name());
+
+  const char *s = NULL;
+  const char *t = "test";
+  record_failure_line_num(__LINE__);
+  ck_assert_str_gt(t, s);
+}
+END_TEST
+
 START_TEST(test_ck_assert_str_ge)
 {
+  record_test_name(tcase_name());
+
   const char *s = "test1";
   const char *t = "test2";
-  record_test_name(tcase_name());
   ck_assert_str_ge(t, s);
   ck_assert_str_ge(t, t);
   record_failure_line_num(__LINE__);
@@ -1973,11 +2034,23 @@ START_TEST(test_ck_assert_str_ge)
 }
 END_TEST
 
+START_TEST(test_ck_assert_str_ge_with_null)
+{
+  record_test_name(tcase_name());
+
+  const char *s = NULL;
+  const char *t = NULL;
+  record_failure_line_num(__LINE__);
+  ck_assert_str_ge(s, t);
+}
+END_TEST
+
 START_TEST(test_ck_assert_str_expr)
 {
+  record_test_name(tcase_name());
+
   const char *s = "test1";
   const char *t[] = { "test1", "test2" };
-  record_test_name(tcase_name());
   int i = -1;
   ck_assert_str_eq(s, t[++i]);
   ck_assert_str_eq(s, t[i]);
@@ -2778,11 +2851,17 @@ Suite *make_sub_suite(void)
   tcase_add_test (tc_simple, test_ck_assert_ldouble_nan_and_inf_with_expr);
   tcase_add_test (tc_simple, test_percent_n_escaped);
   tcase_add_test (tc_simple, test_ck_assert_str_eq);
+  tcase_add_test (tc_simple, test_ck_assert_str_eq_with_null);
   tcase_add_test (tc_simple, test_ck_assert_str_ne);
+  tcase_add_test (tc_simple, test_ck_assert_str_ne_with_null);
   tcase_add_test (tc_simple, test_ck_assert_str_lt);
+  tcase_add_test (tc_simple, test_ck_assert_str_lt_with_null);
   tcase_add_test (tc_simple, test_ck_assert_str_le);
+  tcase_add_test (tc_simple, test_ck_assert_str_le_with_null);
   tcase_add_test (tc_simple, test_ck_assert_str_gt);
+  tcase_add_test (tc_simple, test_ck_assert_str_gt_with_null);
   tcase_add_test (tc_simple, test_ck_assert_str_ge);
+  tcase_add_test (tc_simple, test_ck_assert_str_ge_with_null);
   tcase_add_test (tc_simple, test_ck_assert_str_expr);
   tcase_add_test (tc_simple, test_ck_assert_ptr_eq);
   tcase_add_test (tc_simple, test_ck_assert_ptr_ne);