Line data Source code
1 : #include <stdio.h>
2 : #include <stdlib.h>
3 : #include "test_helpers.h"
4 : #include "logger.h"
5 :
6 : // Globals defined in test_helpers.h
7 : int g_tests_run = 0;
8 : int g_tests_failed = 0;
9 : const char *g_test_filter = NULL;
10 :
11 : // Forward declarations of test suites
12 : void test_fs_util(void);
13 : void test_config_store(void);
14 : void test_logger(void);
15 : void test_cache_store(void);
16 : void test_platform(void);
17 : void test_tl_serial(void);
18 : void run_tl_skip_tests(void);
19 : void test_ige(void);
20 : void test_mtproto_crypto(void);
21 : void test_phase2(void);
22 : void test_rpc(void);
23 : void run_transport_eintr_tests(void);
24 : void test_auth(void);
25 : void test_gzip(void);
26 : void test_registry(void);
27 : void test_api_call(void);
28 : void run_auth_session_tests(void);
29 : void run_pii_redact_tests(void);
30 : void run_auth_2fa_tests(void);
31 : void run_auth_logout_tests(void);
32 : void run_arg_parse_tests(void);
33 : void run_watch_json_tests(void);
34 : void run_watch_sigpipe_tests(void);
35 : void run_readline_tests(void);
36 : void run_domain_self_tests(void);
37 : void run_domain_dialogs_tests(void);
38 : void run_domain_history_tests(void);
39 : void run_domain_updates_tests(void);
40 : void run_domain_user_info_tests(void);
41 : void run_domain_search_tests(void);
42 : void run_domain_contacts_tests(void);
43 : void run_domain_media_tests(void);
44 : void run_domain_send_tests(void);
45 : void run_domain_read_history_tests(void);
46 : void run_domain_edit_delete_forward_tests(void);
47 : void run_domain_upload_tests(void);
48 : void run_dc_config_tests(void);
49 : void run_session_store_tests(void);
50 : void run_dc_session_tests(void);
51 : void run_auth_transfer_tests(void);
52 : void run_updates_state_store_tests(void);
53 : void run_media_index_tests(void);
54 : void test_tui_screen_run(void);
55 : void test_tui_pane_run(void);
56 : void test_tui_list_view_run(void);
57 : void test_tui_dialog_pane_run(void);
58 : void test_tui_history_pane_run(void);
59 : void test_tui_status_row_run(void);
60 : void test_tui_app_run(void);
61 : void run_tg_tui_argv_tests(void);
62 :
63 1 : int main(int argc, char *argv[]) {
64 1 : if (argc > 1) {
65 0 : g_test_filter = argv[1];
66 0 : printf("--- tg-cli Unit Test Suite (filter: \"%s\") ---\n\n", g_test_filter);
67 : } else {
68 1 : printf("--- tg-cli Unit Test Suite ---\n\n");
69 : }
70 :
71 : // Suppress mirror of ERROR logs to stderr during testing
72 1 : logger_set_stderr(0);
73 :
74 1 : RUN_TEST(test_fs_util);
75 1 : RUN_TEST(test_config_store);
76 1 : RUN_TEST(test_logger);
77 1 : RUN_TEST(test_cache_store);
78 1 : RUN_TEST(test_platform);
79 1 : RUN_TEST(test_tl_serial);
80 1 : RUN_TEST(run_tl_skip_tests);
81 1 : RUN_TEST(test_ige);
82 1 : RUN_TEST(test_mtproto_crypto);
83 1 : RUN_TEST(test_phase2);
84 1 : RUN_TEST(test_rpc);
85 1 : RUN_TEST(run_transport_eintr_tests);
86 1 : RUN_TEST(test_auth);
87 1 : RUN_TEST(test_gzip);
88 1 : RUN_TEST(test_registry);
89 1 : RUN_TEST(test_api_call);
90 1 : RUN_TEST(run_auth_session_tests);
91 1 : RUN_TEST(run_pii_redact_tests);
92 1 : RUN_TEST(run_auth_2fa_tests);
93 1 : RUN_TEST(run_auth_logout_tests);
94 1 : RUN_TEST(run_arg_parse_tests);
95 1 : RUN_TEST(run_watch_json_tests);
96 1 : RUN_TEST(run_watch_sigpipe_tests);
97 1 : RUN_TEST(run_readline_tests);
98 1 : RUN_TEST(run_domain_self_tests);
99 1 : RUN_TEST(run_domain_dialogs_tests);
100 1 : RUN_TEST(run_domain_history_tests);
101 1 : RUN_TEST(run_domain_updates_tests);
102 1 : RUN_TEST(run_domain_user_info_tests);
103 1 : RUN_TEST(run_domain_search_tests);
104 1 : RUN_TEST(run_domain_contacts_tests);
105 1 : RUN_TEST(run_domain_media_tests);
106 1 : RUN_TEST(run_domain_send_tests);
107 1 : RUN_TEST(run_domain_read_history_tests);
108 1 : RUN_TEST(run_domain_edit_delete_forward_tests);
109 1 : RUN_TEST(run_domain_upload_tests);
110 1 : RUN_TEST(run_dc_config_tests);
111 1 : RUN_TEST(run_session_store_tests);
112 1 : RUN_TEST(run_dc_session_tests);
113 1 : RUN_TEST(run_auth_transfer_tests);
114 1 : RUN_TEST(run_updates_state_store_tests);
115 1 : RUN_TEST(run_media_index_tests);
116 1 : RUN_TEST(test_tui_screen_run);
117 1 : RUN_TEST(test_tui_pane_run);
118 1 : RUN_TEST(test_tui_list_view_run);
119 1 : RUN_TEST(test_tui_dialog_pane_run);
120 1 : RUN_TEST(test_tui_history_pane_run);
121 1 : RUN_TEST(test_tui_status_row_run);
122 1 : RUN_TEST(test_tui_app_run);
123 1 : RUN_TEST(run_tg_tui_argv_tests);
124 :
125 1 : printf("\n--- Test Results ---\n");
126 1 : printf("Tests Run: %d\n", g_tests_run);
127 1 : printf("Tests Passed: %d\n", g_tests_run - g_tests_failed);
128 1 : printf("Tests Failed: %d\n", g_tests_failed);
129 :
130 1 : if (g_tests_failed > 0) {
131 0 : return EXIT_FAILURE;
132 : }
133 1 : return EXIT_SUCCESS;
134 : }
|