static void cmprintf_group_start_tap(const size_t num_tests)
{
- print_message("1..%u\n", (unsigned)num_tests);
+ print_message("\t1..%u\n", (unsigned)num_tests);
+}
+
+static void cmprintf_group_finish_tap(const char *group_name,
+ size_t total_executed,
+ size_t total_passed,
+ size_t total_skipped)
+{
+ const char *status = "not ok";
+ if (total_passed + total_skipped == total_executed) {
+ status = "ok";
+ }
+ print_message("%s - %s\n", status, group_name);
}
static void cmprintf_tap(enum cm_printf_type type,
case PRINTF_TEST_START:
break;
case PRINTF_TEST_SUCCESS:
- print_message("ok %u - %s\n", (unsigned)test_number, test_name);
+ print_message("\tok %u - %s\n", (unsigned)test_number, test_name);
break;
case PRINTF_TEST_FAILURE:
- print_message("not ok %u - %s\n", (unsigned)test_number, test_name);
+ print_message("\tnot ok %u - %s\n", (unsigned)test_number, test_name);
if (error_message != NULL) {
char *msg;
char *p;
p[0] = '\0';
}
- print_message("# %s\n", q);
+ print_message("\t# %s\n", q);
if (p == NULL) {
break;
}
break;
case PRINTF_TEST_SKIPPED:
- print_message("not ok %u # SKIP %s\n", (unsigned)test_number, test_name);
+ print_message("\tnot ok %u # SKIP %s\n", (unsigned)test_number, test_name);
break;
case PRINTF_TEST_ERROR:
- print_message("not ok %u - %s %s\n",
+ print_message("\tnot ok %u - %s %s\n",
(unsigned)test_number, test_name, error_message);
break;
}
cm_tests);
break;
case CM_OUTPUT_SUBUNIT:
+ break;
case CM_OUTPUT_TAP:
+ cmprintf_group_finish_tap(group_name, total_executed, total_passed, total_skipped);
break;
case CM_OUTPUT_XML:
cmprintf_group_finish_xml(group_name,
xml)
set(test_basics_tap_out
- "^1\\.\\.2[ \n\r]+ok 1 - null_test_success")
+ "^\t1\\.\\.2[ \n\r]+\tok 1 - null_test_success[ \n\r]+\tok 2 - int_test_success[ \n\r]+ok - tests")
set(test_assert_macros_fail_tap_out
- "^1\\.\\.1[ \n\r]+not ok 1 - test_assert_return_code_fail")
+ "^\t1\\.\\.1[ \n\r]+\tnot ok 1 - test_assert_return_code_fail[ \n\r]+\t#[^\n\r]+[\n\r]\t#[^\n\r]+[\n\r]not ok - tests")
+
set(test_skip_tap_out
"not ok 1 # SKIP")
set(test_setup_fail_tap_out