about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorJames Booth <boothj5@gmail.com>2014-01-19 02:11:52 +0000
committerJames Booth <boothj5@gmail.com>2014-01-19 02:11:52 +0000
commit10fb692f7f125c9f6000e9c5499fa3948949aaaa (patch)
tree7fe289a4b09776bbba79ab2e8792a7f13110531a
parentc7325de0732cdb50ee8f339dc4f5a74ad30cc92f (diff)
downloadprofani-tty-10fb692f7f125c9f6000e9c5499fa3948949aaaa.tar.gz
Refactored testsuite for less verbose output
-rw-r--r--tests/test_autocomplete.c2
-rw-r--r--tests/test_common.c2
-rw-r--r--tests/testsuite.c65
3 files changed, 64 insertions, 5 deletions
diff --git a/tests/test_autocomplete.c b/tests/test_autocomplete.c
index 3eea639b..e6fdde47 100644
--- a/tests/test_autocomplete.c
+++ b/tests/test_autocomplete.c
@@ -44,7 +44,7 @@ void add_one_and_complete(void **state)
     autocomplete_add(ac, "Hello");
     char *result = autocomplete_complete(ac, "Hel");
 
-    assert_string_equal("Hello", result);
+    assert_string_equal("Hello aaaa", result);
 
     autocomplete_clear(ac);
 }
diff --git a/tests/test_common.c b/tests/test_common.c
index 0d02bbd0..bcd421a0 100644
--- a/tests/test_common.c
+++ b/tests/test_common.c
@@ -46,7 +46,7 @@ void replace_two_substr(void **state)
 
     char *result = str_replace(string, sub, new);
 
-    assert_string_equal("it was a was string", result);
+    assert_string_equal("it was a was string ssss", result);
 }
 
 void replace_char(void **state)
diff --git a/tests/testsuite.c b/tests/testsuite.c
index 7d1e5165..1c91e17a 100644
--- a/tests/testsuite.c
+++ b/tests/testsuite.c
@@ -1,4 +1,7 @@
 #include <stdarg.h>
+#include <stdio.h>
+#include <unistd.h>
+#include <fcntl.h>
 #include <stddef.h>
 #include <setjmp.h>
 #include <cmocka.h>
@@ -16,8 +19,12 @@
 #include "test_parser.h"
 #include "test_roster_list.h"
 
+#define PROF_RUN_TESTS(name) fprintf(stderr, "\n-> Running %s\n", #name); \
+    fflush(stderr); \
+    result += run_tests(name);
+
 int main(int argc, char* argv[]) {
-    const UnitTest tests[] = {
+    const UnitTest common_tests[] = {
         unit_test(replace_one_substr),
         unit_test(replace_one_substr_beginning),
         unit_test(replace_one_substr_end),
@@ -58,7 +65,9 @@ int main(int argc, char* argv[]) {
         unit_test(test_available_is_not_valid_resource_presence_string),
         unit_test(test_unavailable_is_not_valid_resource_presence_string),
         unit_test(test_blah_is_not_valid_resource_presence_string),
+    };
 
+    const UnitTest autocomplete_tests[] = {
         unit_test(clear_empty),
         unit_test(reset_after_create),
         unit_test(find_after_create),
@@ -69,7 +78,9 @@ int main(int argc, char* argv[]) {
         unit_test(add_two_adds_two),
         unit_test(add_two_same_adds_one),
         unit_test(add_two_same_updates),
+    };
 
+    const UnitTest history_tests[] = {
         unit_test(previous_on_empty_returns_null),
         unit_test(next_on_empty_returns_null),
         unit_test(previous_once_returns_last),
@@ -83,7 +94,9 @@ int main(int argc, char* argv[]) {
         unit_test(edit_item_mid_history),
         unit_test(edit_previous_and_append),
         unit_test(start_session_add_new_submit_previous),
+    };
 
+    const UnitTest jid_tests[] = {
         unit_test(create_jid_from_null_returns_null),
         unit_test(create_jid_from_empty_string_returns_null),
         unit_test(create_jid_from_full_returns_full),
@@ -107,7 +120,9 @@ int main(int argc, char* argv[]) {
         unit_test(create_with_at_in_resource),
         unit_test(create_with_at_and_slash_in_resource),
         unit_test(create_full_with_trailing_slash),
+    };
 
+    const UnitTest parser_tests[] = {
         unit_test(parse_null_returns_null),
         unit_test(parse_empty_returns_null),
         unit_test(parse_space_returns_null),
@@ -149,7 +164,9 @@ int main(int argc, char* argv[]) {
         unit_test(get_first_two_of_three_first_quoted),
         unit_test(get_first_two_of_three_second_quoted),
         unit_test(get_first_two_of_three_first_and_second_quoted),
+    };
 
+    const UnitTest roster_list_tests[] = {
         unit_test(empty_list_when_none_added),
         unit_test(contains_one_element),
         unit_test(first_element_correct),
@@ -168,7 +185,9 @@ int main(int argc, char* argv[]) {
         unit_test(find_twice_returns_second_when_two_match),
         unit_test(find_five_times_finds_fifth),
         unit_test(find_twice_returns_first_when_two_match_and_reset),
+    };
 
+    const UnitTest cmd_connect_tests[] = {
         unit_test(cmd_connect_shows_message_when_disconnecting),
         unit_test(cmd_connect_shows_message_when_connecting),
         unit_test(cmd_connect_shows_message_when_connected),
@@ -195,7 +214,9 @@ int main(int argc, char* argv[]) {
         unit_test(cmd_connect_shows_usage_when_port_provided_twice),
         unit_test(cmd_connect_shows_usage_when_invalid_first_property),
         unit_test(cmd_connect_shows_usage_when_invalid_second_property),
+    };
 
+    const UnitTest cmd_rooms_tests[] = {
         unit_test(cmd_rooms_shows_message_when_disconnected),
         unit_test(cmd_rooms_shows_message_when_disconnecting),
         unit_test(cmd_rooms_shows_message_when_connecting),
@@ -203,7 +224,9 @@ int main(int argc, char* argv[]) {
         unit_test(cmd_rooms_shows_message_when_undefined),
         unit_test(cmd_rooms_uses_account_default_when_no_arg),
         unit_test(cmd_rooms_arg_used_when_passed),
+    };
 
+    const UnitTest cmd_account_tests[] = {
         unit_test(cmd_account_shows_usage_when_not_connected_and_no_args),
         unit_test(cmd_account_shows_account_when_connected_and_no_args),
         unit_test(cmd_account_list_shows_accounts),
@@ -267,10 +290,14 @@ int main(int argc, char* argv[]) {
         unit_test(cmd_account_clear_checks_account_exists),
         unit_test(cmd_account_clear_shows_message_when_account_doesnt_exist),
         unit_test(cmd_account_clear_shows_message_when_invalid_property),
+    };
 
+    const UnitTest cmd_sub_tests[] = {
         unit_test(cmd_sub_shows_message_when_not_connected),
         unit_test(cmd_sub_shows_usage_when_no_arg),
+    };
 
+    const UnitTest contact_tests[] = {
         unit_test(contact_in_group),
         unit_test(contact_not_in_group),
         unit_test(contact_name_when_name_exists),
@@ -295,12 +322,44 @@ int main(int argc, char* argv[]) {
         unit_test(contact_not_available_when_highest_priority_dnd),
         unit_test(contact_available_when_highest_priority_online),
         unit_test(contact_available_when_highest_priority_chat),
+    };
 
+    const UnitTest cmd_statuses_tests[] = {
         unit_test(cmd_statuses_shows_usage_when_bad_subcmd),
         unit_test(cmd_statuses_shows_usage_when_bad_console_setting),
         unit_test(cmd_statuses_shows_usage_when_bad_chat_setting),
         unit_test(cmd_statuses_shows_usage_when_bad_muc_setting),
-
     };
-    return run_tests(tests);
+
+    int bak, new;
+    fflush(stdout);
+    bak = dup(1);
+    new = open("/dev/null", O_WRONLY);
+    dup2(new, 1);
+    close(new);
+
+    int result = 0;
+
+    PROF_RUN_TESTS(common_tests);
+    PROF_RUN_TESTS(autocomplete_tests);
+    PROF_RUN_TESTS(history_tests);
+    PROF_RUN_TESTS(jid_tests);
+    PROF_RUN_TESTS(parser_tests);
+    PROF_RUN_TESTS(roster_list_tests);
+    PROF_RUN_TESTS(cmd_connect_tests);
+    PROF_RUN_TESTS(cmd_rooms_tests);
+    PROF_RUN_TESTS(cmd_account_tests);
+    PROF_RUN_TESTS(cmd_sub_tests);
+    PROF_RUN_TESTS(contact_tests);
+    PROF_RUN_TESTS(cmd_statuses_tests);
+
+    fflush(stdout);
+    dup2(bak, 1);
+    close(bak);
+
+    if (result > 0) {
+        return 1;
+    } else {
+        return 0;
+    }
 }