1
0
mirror of https://github.com/profanity-im/profanity.git synced 2024-09-22 19:45:54 -04:00

Merge pull request #1908 from ike08/improvement/cmocka-test-runner

Refactor tests to use the new cmocka test runner
This commit is contained in:
Michael Vetter 2023-11-02 09:42:21 +01:00 committed by GitHub
commit 11e78e0c3d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
8 changed files with 571 additions and 563 deletions

View File

@ -23,11 +23,11 @@
#include "test_muc.h" #include "test_muc.h"
#include "test_disconnect.h" #include "test_disconnect.h"
#define PROF_FUNC_TEST(test) unit_test_setup_teardown(test, init_prof_test, close_prof_test) #define PROF_FUNC_TEST(test) cmocka_unit_test_setup_teardown(test, init_prof_test, close_prof_test)
int main(int argc, char* argv[]) { int main(int argc, char* argv[]) {
const UnitTest all_tests[] = { const struct CMUnitTest all_tests[] = {
PROF_FUNC_TEST(connect_jid_requests_roster), PROF_FUNC_TEST(connect_jid_requests_roster),
PROF_FUNC_TEST(connect_jid_sends_presence_after_receiving_roster), PROF_FUNC_TEST(connect_jid_sends_presence_after_receiving_roster),
@ -111,5 +111,5 @@ int main(int argc, char* argv[]) {
PROF_FUNC_TEST(disconnect_ends_session), PROF_FUNC_TEST(disconnect_ends_session),
}; };
return run_tests(all_tests); return cmocka_run_group_tests(all_tests, NULL, NULL);
} }

View File

@ -138,12 +138,12 @@ prof_start(void)
setbuf(fp, (char *)0); setbuf(fp, (char *)0);
} }
void int
init_prof_test(void **state) init_prof_test(void **state)
{ {
if (stbbr_start(STBBR_LOGDEBUG ,5230, 0) != 0) { if (stbbr_start(STBBR_LOGDEBUG ,5230, 0) != 0) {
assert_true(FALSE); assert_true(FALSE);
return; return -1;
} }
config_orig = getenv("XDG_CONFIG_HOME"); config_orig = getenv("XDG_CONFIG_HOME");
@ -190,9 +190,10 @@ init_prof_test(void **state)
assert_true(prof_output_exact("Private chat time display disabled.")); assert_true(prof_output_exact("Private chat time display disabled."));
prof_input("/time xml off"); prof_input("/time xml off");
assert_true(prof_output_exact("XML Console time display disabled.")); assert_true(prof_output_exact("XML Console time display disabled."));
return 0;
} }
void int
close_prof_test(void **state) close_prof_test(void **state)
{ {
prof_input("/quit"); prof_input("/quit");
@ -203,6 +204,7 @@ close_prof_test(void **state)
setenv("XDG_DATA_HOME", data_orig, 1); setenv("XDG_DATA_HOME", data_orig, 1);
stbbr_stop(); stbbr_stop();
return 0;
} }
void void

View File

@ -4,8 +4,8 @@
#define XDG_CONFIG_HOME "./tests/functionaltests/files/xdg_config_home" #define XDG_CONFIG_HOME "./tests/functionaltests/files/xdg_config_home"
#define XDG_DATA_HOME "./tests/functionaltests/files/xdg_data_home" #define XDG_DATA_HOME "./tests/functionaltests/files/xdg_data_home"
void init_prof_test(void **state); int init_prof_test(void **state);
void close_prof_test(void **state); int close_prof_test(void **state);
void prof_start(void); void prof_start(void);
void prof_connect(void); void prof_connect(void);

View File

@ -44,7 +44,7 @@ remove_data_dir(void** state)
rmdir("./tests/files/xdg_data_home"); rmdir("./tests/files/xdg_data_home");
} }
void int
load_preferences(void** state) load_preferences(void** state)
{ {
create_config_dir(state); create_config_dir(state);
@ -53,29 +53,33 @@ load_preferences(void** state)
prefs_load(NULL); prefs_load(NULL);
} }
fclose(f); fclose(f);
return 0;
} }
void int
close_preferences(void** state) close_preferences(void** state)
{ {
prefs_close(); prefs_close();
remove("./tests/files/xdg_config_home/profanity/profrc"); remove("./tests/files/xdg_config_home/profanity/profrc");
remove_config_dir(state); remove_config_dir(state);
rmdir("./tests/files"); rmdir("./tests/files");
return 0;
} }
void int
init_chat_sessions(void** state) init_chat_sessions(void** state)
{ {
load_preferences(NULL); load_preferences(NULL);
chat_sessions_init(); chat_sessions_init();
return 0;
} }
void int
close_chat_sessions(void** state) close_chat_sessions(void** state)
{ {
chat_sessions_clear(); chat_sessions_clear();
close_preferences(NULL); close_preferences(NULL);
return 0;
} }
int int

View File

@ -1,10 +1,10 @@
#include "glib.h" #include "glib.h"
void load_preferences(void** state); int load_preferences(void** state);
void close_preferences(void** state); int close_preferences(void** state);
void init_chat_sessions(void** state); int init_chat_sessions(void** state);
void close_chat_sessions(void** state); int close_chat_sessions(void** state);
int utf8_pos_to_col(char* str, int utf8_pos); int utf8_pos_to_col(char* str, int utf8_pos);

View File

@ -6,16 +6,18 @@
#include "xmpp/muc.h" #include "xmpp/muc.h"
void int
muc_before_test(void** state) muc_before_test(void** state)
{ {
muc_init(); muc_init();
return 0;
} }
void int
muc_after_test(void** state) muc_after_test(void** state)
{ {
muc_close(); muc_close();
return 0;
} }
void void

View File

@ -1,5 +1,5 @@
void muc_before_test(void** state); int muc_before_test(void** state);
void muc_after_test(void** state); int muc_after_test(void** state);
void test_muc_invites_add(void** state); void test_muc_invites_add(void** state);
void test_muc_remove_invite(void** state); void test_muc_remove_invite(void** state);

File diff suppressed because it is too large Load Diff