Imported Upstream version 0.14.0
[platform/upstream/check.git] / tests / check_check_master.c
index 5aedc79..a606708 100644 (file)
@@ -43,10 +43,10 @@ char * line_num_failures_file_name = NULL;
 
 enum ck_test_msg_type_t {
 #if ENABLE_REGEX
-  // For tests with different output on different platforms
+  /* For tests with different output on different platforms */
   CK_MSG_REGEXP,
 #endif
-  // Simple text
+  /* Simple text */
   CK_MSG_TEXT
 };
 
@@ -416,16 +416,16 @@ static int nr_of_master_tests = sizeof master_tests /sizeof master_tests[0];
 START_TEST(test_check_nfailures)
 {
   int i;
-  int failed = 0;
+  int number_failed = 0;
   
   for (i = 0; i < nr_of_master_tests; i++) {
     if (master_tests[i].failure_type != CK_PASS) {
-      failed++;
+      number_failed++;
     }
   }
-  ck_assert_msg (sub_nfailed == failed,
+  ck_assert_msg (sub_nfailed == number_failed,
                "Unexpected number of failures received, %d, expected %d.",
-               sub_nfailed, failed);
+               sub_nfailed, number_failed);
 }
 END_TEST
 
@@ -499,29 +499,32 @@ START_TEST(test_check_failure_msgs)
     expected_msg = master_test->msg;
 
     switch (master_test->msg_type) {
-    case CK_MSG_TEXT:
-      if (strcmp(got_msg, expected_msg) != 0) {
-        not_equal = 1;
-      }
-      break;
+      case CK_MSG_TEXT:
+        if (strcmp(got_msg, expected_msg) != 0) {
+          not_equal = 1;
+        }
+        break;
 #if ENABLE_REGEX
-    case CK_MSG_REGEXP: {
-      reg_err = regcomp(&re, expected_msg, REG_EXTENDED | REG_NOSUB);
-      if (reg_err) {        
-        regerror(reg_err, &re, err_text, sizeof(err_text));
-        ck_assert_msg(reg_err == 0,
-                "For test %d:%s:%s Expected regexp '%s', but regcomp returned error '%s'",
-                i, master_test->tcname, master_test->test_name, expected_msg,
-                err_text);
-      }
-      reg_err = regexec(&re, got_msg, 0, NULL, 0);
-      regfree(&re);
-      if (reg_err) {
-        not_equal = 1;
+      case CK_MSG_REGEXP: {
+        reg_err = regcomp(&re, expected_msg, REG_EXTENDED | REG_NOSUB);
+        if (reg_err) {        
+          regerror(reg_err, &re, err_text, sizeof(err_text));
+          ck_assert_msg(reg_err == 0,
+                  "For test %d:%s:%s Expected regexp '%s', but regcomp returned error '%s'",
+                  i, master_test->tcname, master_test->test_name, expected_msg,
+                  err_text);
+        }
+        reg_err = regexec(&re, got_msg, 0, NULL, 0);
+        regfree(&re);
+        if (reg_err) {
+          not_equal = 1;
+        }
+        break;
       }
-      break;
-    }
 #endif /* ENABLE_REGEX */
+      default:
+        /* Program should not reach here */
+        break;
     }
     
     if (not_equal) {      
@@ -560,7 +563,7 @@ START_TEST(test_check_failure_lnos)
   int i;
   int line_no;
   int passed = 0;
-  int failed;
+  int number_failed;
   TestResult *tr;
   
   /* Create list of line numbers where failures occurred */
@@ -572,22 +575,22 @@ START_TEST(test_check_failure_lnos)
       continue;
     }
 
-    failed = i - passed;
+    number_failed = i - passed;
 
     ck_assert_msg(i - passed <= sub_nfailed, NULL);
-    tr = tr_fail_array[failed];
+    tr = tr_fail_array[number_failed];
     ck_assert_msg(tr != NULL, NULL);
     line_no = get_next_failure_line_num(line_num_failures);
 
     if(line_no == -1)
     {
       ck_abort_msg("Did not find the %dth failure line number for suite %s, msg %s",
-        (failed+1), tr_tcname(tr), tr_msg(tr));
+        (number_failed+1), tr_tcname(tr), tr_msg(tr));
     }
 
     if (line_no > 0 && tr_lno(tr) != line_no) {
       ck_abort_msg("For test %d (failure %d): Expected lno %d, got %d for suite %s, msg %s",
-               i, failed, line_no, tr_lno(tr), tr_tcname(tr), tr_msg(tr));
+               i, number_failed, line_no, tr_lno(tr), tr_tcname(tr), tr_msg(tr));
     }    
   }
 
@@ -615,7 +618,7 @@ START_TEST(test_check_failure_ftypes)
     ck_assert_msg(tr != NULL, NULL);
     ck_assert_msg(master_tests[i].failure_type == tr_rtype(tr),
                 "Failure type wrong for test %d:%s:%s",
-                               i, master_tests[i].tcname, master_tests[i].test_name);
+                i, master_tests[i].tcname, master_tests[i].test_name);
   }
 }
 END_TEST
@@ -629,7 +632,7 @@ START_TEST(test_check_failure_lfiles)
     ck_assert_msg(tr_lfile(tr) != NULL, "Bad file name for test %d", i);
     ck_assert_msg(strstr(tr_lfile(tr), "check_check_sub.c") != 0,
                 "Bad file name for test %d:%s:%s",
-                               i, master_tests[i].tcname, master_tests[i].test_name);
+                i, master_tests[i].tcname, master_tests[i].test_name);
   }
 }
 END_TEST
@@ -641,7 +644,7 @@ START_TEST(test_check_tcnames)
   if (strcmp(tcname, master_tests[_i].tcname) != 0) {
     ck_abort_msg("Expected '%s', got '%s' for test %d:%s",
          master_tests[_i].tcname, tcname,
-            _i, master_tests[_i].test_name);
+         _i, master_tests[_i].test_name);
   } 
 }
 END_TEST
@@ -651,24 +654,24 @@ START_TEST(test_check_test_names)
   int i;
   int line_no;
   int passed = 0;
-  int failed;
+  int number_failed;
   TestResult *tr;
 
   rewind(test_names_file);
 
   for (i = 0; i < sub_ntests; i++)
   {
-         char* test_name = get_next_test_name(test_names_file);
-
-         if(test_name == NULL || strcmp(master_tests[i].test_name, test_name) != 0)
-         {
-                 ck_abort_msg("Expected test name '%s' but found '%s' for test %d:%s",
-                                 master_tests[i].test_name,
-                                 (test_name == NULL ? "(null)" : test_name),
-                                 i, master_tests[i].tcname);
-         }
+      char* test_name = get_next_test_name(test_names_file);
+
+      if(test_name == NULL || strcmp(master_tests[i].test_name, test_name) != 0)
+      {
+          ck_abort_msg("Expected test name '%s' but found '%s' for test %d:%s",
+                  master_tests[i].test_name,
+                  (test_name == NULL ? "(null)" : test_name),
+                  i, master_tests[i].tcname);
+      }
 
-         free(test_name);
+      free(test_name);
   }
 }
 END_TEST
@@ -678,43 +681,45 @@ START_TEST(test_check_all_msgs)
   const char *got_msg = tr_msg(tr_all_array[_i]);
   master_test_t *master_test = &master_tests[_i];
   const char *expected_msg = master_test->msg;
-  char emsg[MAXSTR];
-  const char *msg_type_str;
-  char err_text[256];
-  int reg_err;
   unsigned char not_equal = 0;
-  char *emsg_escaped;
 #if ENABLE_REGEX
   regex_t re;
 #endif
 
   switch (master_test->msg_type) {
-  case CK_MSG_TEXT:
-    if (strcmp(got_msg, expected_msg) != 0) {
-      not_equal = 1;
-    }
-    break;
+    case CK_MSG_TEXT:
+      if (strcmp(got_msg, expected_msg) != 0) {
+        not_equal = 1;
+      }
+      break;
 #if ENABLE_REGEX
-  case CK_MSG_REGEXP: {
-    reg_err = regcomp(&re, expected_msg, REG_EXTENDED | REG_NOSUB);
-    if (reg_err) {      
-      regerror(reg_err, &re, err_text, sizeof(err_text));
-      ck_assert_msg(reg_err == 0,
-                "For test %d:%s:%s Expected regexp '%s', but regcomp returned error '%s'",
-                _i, master_test->tcname, master_test->test_name, expected_msg,
-                err_text);
-    }
-    reg_err = regexec(&re, got_msg, 0, NULL, 0);
-    regfree(&re);
-    if (reg_err) {
-      not_equal = 1;
+    case CK_MSG_REGEXP: {
+      int reg_err = regcomp(&re, expected_msg, REG_EXTENDED | REG_NOSUB);
+      if (reg_err) {      
+        char err_text[256];
+        regerror(reg_err, &re, err_text, sizeof(err_text));
+        ck_assert_msg(reg_err == 0,
+                  "For test %d:%s:%s Expected regexp '%s', but regcomp returned error '%s'",
+                  _i, master_test->tcname, master_test->test_name, expected_msg,
+                  err_text);
+      }
+      reg_err = regexec(&re, got_msg, 0, NULL, 0);
+      regfree(&re);
+      if (reg_err) {
+        not_equal = 1;
+      }
+      break;
     }
-    break;
-  }
 #endif /* ENABLE_REGEX */
+    default:
+      /* Program should not reach here */
+      break;
   }
 
   if (not_equal) {    
+    const char *msg_type_str;
+    char emsg[MAXSTR];
+    char *emsg_escaped;
     switch(master_test->msg_type) {
 #if ENABLE_REGEX
     case CK_MSG_REGEXP:
@@ -748,8 +753,8 @@ START_TEST(test_check_all_ftypes)
 {
   ck_assert_msg(master_tests[_i].failure_type == tr_rtype(tr_all_array[_i]),
               "For test %d:%s:%s failure type wrong, expected %d but got %d",
-                         _i, master_tests[_i].tcname, master_tests[_i].test_name,
-                         master_tests[_i].failure_type, tr_rtype(tr_all_array[_i]));
+              _i, master_tests[_i].tcname, master_tests[_i].test_name,
+              master_tests[_i].failure_type, tr_rtype(tr_all_array[_i]));
 }
 END_TEST
 
@@ -762,7 +767,7 @@ static void test_fixture_setup(void)
 START_TEST(test_setup)
 {
   ck_assert_msg (test_fixture_val == 1,
-              "Value not setup or changed across tests correctly");
+               "Value not setup or changed across tests correctly");
   test_fixture_val = 2;
 }
 END_TEST
@@ -775,7 +780,7 @@ static void test_fixture_teardown (void)
 START_TEST(test_teardown)
 {
   ck_assert_msg (test_fixture_val == 3,
-              "Value not changed correctly in teardown");
+                "Value not changed correctly in teardown");
 }
 END_TEST  
 
@@ -802,7 +807,7 @@ Suite *make_master_suite (void)
   tcase_add_loop_test (tc_core, test_check_all_msgs, 0, sub_ntests);
   tcase_add_loop_test (tc_core, test_check_all_ftypes, 0, nr_of_master_tests);
   tcase_add_unchecked_fixture(tc_fixture, test_fixture_setup,
-                             test_fixture_teardown);
+                              test_fixture_teardown);
   /* add the test 3 times to make sure we adequately test
      preservation of fixture values across tests, regardless
      of the order in which tests are added to the test case */
@@ -853,8 +858,10 @@ void setup (void)
   line_num_failures = fopen(line_num_failures_file_name, "w+b");
 #else
   test_names_file_name = strdup("check_test_names__XXXXXX");
+  assert(test_names_file_name != NULL && "strdup() failed");
   test_names_file = fdopen(mkstemp(test_names_file_name), "w+b");
   line_num_failures_file_name = strdup("check_error_linenums_XXXXXX");
+  assert(line_num_failures_file_name != NULL && "strdup() failed");
   line_num_failures = fdopen(mkstemp(line_num_failures_file_name), "w+b");
 #endif
 
@@ -921,7 +928,7 @@ char* get_next_test_name(FILE * file)
    */
   if(written > 0 && line[written-1] == '\n')
   {
-         line[written-1] = '\0';
+      line[written-1] = '\0';
   }
 
   return line;
@@ -962,7 +969,7 @@ void record_failure_line_num(int linenum)
   written = fwrite(string, 1, to_write, line_num_failures);
   if(written != to_write)
   {
-    fprintf(stderr, "%s:%d: Error in call to fwrite, wrote %ld instead of %d:", __FILE__, __LINE__, written, to_write);
+    fprintf(stderr, "%s:%d: Error in call to fwrite, wrote %zd instead of %d:", __FILE__, __LINE__, written, to_write);
     exit(1);
   }