mirror of
https://github.com/profanity-im/profanity.git
synced 2025-01-03 14:57:42 -05:00
Refactor tests to use the new cmocka test runner
## Summary Fixes https://github.com/profanity-im/profanity/issues/1907 Update functional and unit test code to comply with the current cmocka test runner. ## Changes - `UnitTest` struct to `CMUnitTest` struct - `unit_test()` macro to `cmocka_unit_test(f)` macro - `unit_test_setup_teardown()` macro to `cmocka_unit_test_setup_teardown` macro - `run_tests()` macro to `cmocka_run_group_tests()` function - Setup and teardown functions return `int` instead of `void` ## Testing ### Unit Tests `make check` ### Functional Tests I did not compile or run functional tests because they are *shelved* for now. ### Valgrind I'm not entirely sure how to fun Valgrind in this case. I did not do fancy memory management, so it should be fine.
This commit is contained in:
parent
21fc8f641e
commit
d35a7a7f7e
@ -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);
|
||||||
}
|
}
|
||||||
|
@ -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
|
||||||
|
@ -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);
|
||||||
|
@ -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
|
||||||
|
@ -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);
|
||||||
|
|
||||||
|
@ -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
|
||||||
|
@ -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
Loading…
Reference in New Issue
Block a user