mirror of
https://github.com/profanity-im/profanity.git
synced 2025-01-03 14:57:42 -05:00
Added initial stabber test
This commit is contained in:
parent
97c5072f56
commit
2c5b44421e
@ -179,7 +179,7 @@ check_PROGRAMS = tests/testsuite stabbertests/testsuite
|
||||
tests_testsuite_SOURCES = $(test_sources)
|
||||
tests_testsuite_LDADD = -lcmocka
|
||||
stabbertests_testsuite_SOURCES = $(stabbertest_sources)
|
||||
stabbertests_testsuite_LDADD = -lcmocka -lstabber
|
||||
stabbertests_testsuite_LDADD = -lcmocka -lstabber -lpthread
|
||||
|
||||
man_MANS = $(man_sources)
|
||||
|
||||
|
@ -235,6 +235,9 @@ AM_CONDITIONAL([THEMES_INSTALL], "$THEMES_INSTALL")
|
||||
PKG_CHECK_MODULES([cmocka], [cmocka], [],
|
||||
[AC_MSG_NOTICE([cmocka is not found, will not be able to run tests])])
|
||||
|
||||
AC_CHECK_LIB([stabber], [stbbr_start], [],
|
||||
[AC_MSG_ERROR([stabber not found, will not be able to run tests])])
|
||||
|
||||
### Check for ncursesw/ncurses.h first, Arch linux uses ncurses.h for ncursesw
|
||||
AC_CHECK_HEADERS([ncursesw/ncurses.h], [], [])
|
||||
AC_CHECK_HEADERS([ncurses.h], [], [])
|
||||
|
@ -82,7 +82,7 @@ prefs_load(void)
|
||||
{
|
||||
GError *err;
|
||||
|
||||
log_info("Loading preferences");
|
||||
// log_info("Loading preferences");
|
||||
prefs_loc = _get_preferences_file();
|
||||
|
||||
if (g_file_test(prefs_loc, G_FILE_TEST_EXISTS)) {
|
||||
@ -739,4 +739,4 @@ _get_default_string(preference_t pref)
|
||||
default:
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -207,12 +207,15 @@ theme_close(void)
|
||||
{
|
||||
if (theme) {
|
||||
g_key_file_free(theme);
|
||||
theme = NULL;
|
||||
}
|
||||
if (theme_loc) {
|
||||
g_string_free(theme_loc, TRUE);
|
||||
theme_loc = NULL;
|
||||
}
|
||||
if (bold_items) {
|
||||
g_hash_table_destroy(bold_items);
|
||||
bold_items = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
@ -613,4 +616,4 @@ theme_attrs(theme_item_t attrs)
|
||||
return result;
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -100,7 +100,7 @@ prof_run(const int disable_tls, char *log_level, char *account_name)
|
||||
otr_poll();
|
||||
#endif
|
||||
notify_remind();
|
||||
jabber_process_events();
|
||||
jabber_process_events(10);
|
||||
ui_update();
|
||||
}
|
||||
}
|
||||
|
@ -194,7 +194,7 @@ jabber_disconnect(void)
|
||||
xmpp_disconnect(jabber_conn.conn);
|
||||
|
||||
while (jabber_get_connection_status() == JABBER_DISCONNECTING) {
|
||||
jabber_process_events();
|
||||
jabber_process_events(10);
|
||||
}
|
||||
_connection_free_saved_account();
|
||||
_connection_free_saved_details();
|
||||
@ -222,10 +222,11 @@ jabber_shutdown(void)
|
||||
_connection_free_session_data();
|
||||
xmpp_shutdown();
|
||||
free(jabber_conn.log);
|
||||
jabber_conn.log = NULL;
|
||||
}
|
||||
|
||||
void
|
||||
jabber_process_events(void)
|
||||
jabber_process_events(int millis)
|
||||
{
|
||||
int reconnect_sec;
|
||||
|
||||
@ -234,7 +235,7 @@ jabber_process_events(void)
|
||||
case JABBER_CONNECTED:
|
||||
case JABBER_CONNECTING:
|
||||
case JABBER_DISCONNECTING:
|
||||
xmpp_run_once(jabber_conn.ctx, 10);
|
||||
xmpp_run_once(jabber_conn.ctx, millis);
|
||||
break;
|
||||
case JABBER_DISCONNECTED:
|
||||
reconnect_sec = prefs_get_reconnect();
|
||||
@ -577,4 +578,4 @@ _xmpp_get_file_logger()
|
||||
file_log->userdata = &level;
|
||||
|
||||
return file_log;
|
||||
}
|
||||
}
|
||||
|
@ -136,7 +136,7 @@ jabber_conn_status_t jabber_connect_with_details(const char * const jid,
|
||||
jabber_conn_status_t jabber_connect_with_account(const ProfAccount * const account);
|
||||
void jabber_disconnect(void);
|
||||
void jabber_shutdown(void);
|
||||
void jabber_process_events(void);
|
||||
void jabber_process_events(int millis);
|
||||
const char * jabber_get_fulljid(void);
|
||||
const char * jabber_get_domain(void);
|
||||
jabber_conn_status_t jabber_get_connection_status(void);
|
||||
|
@ -25,10 +25,19 @@
|
||||
#include "otr/otr.h"
|
||||
#endif
|
||||
|
||||
|
||||
#define XDG_CONFIG_HOME "./stabbertests/files/xdg_config_home"
|
||||
#define XDG_DATA_HOME "./stabbertests/files/xdg_data_home"
|
||||
|
||||
void
|
||||
prof_process_xmpp(void)
|
||||
{
|
||||
int i = 0;
|
||||
while (i < 20) {
|
||||
jabber_process_events(10);
|
||||
i++;
|
||||
}
|
||||
}
|
||||
|
||||
gboolean
|
||||
_create_dir(char *name)
|
||||
{
|
||||
|
@ -1,2 +1,3 @@
|
||||
void init_prof_test(void **state);
|
||||
void close_prof_test(void **state);
|
||||
void prof_process_xmpp(void);
|
||||
|
@ -4,9 +4,36 @@
|
||||
#include <setjmp.h>
|
||||
#include <cmocka.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
#include <stabber.h>
|
||||
|
||||
#include "proftest.h"
|
||||
#include "xmpp/xmpp.h"
|
||||
#include "ui/stub_ui.h"
|
||||
#include "command/command.h"
|
||||
|
||||
void
|
||||
connect_with_no_jid(void **state)
|
||||
connect_with_jid(void **state)
|
||||
{
|
||||
assert_true(1);
|
||||
char *connect = "/connect stabber@localhost port 5230";
|
||||
char *password = "password";
|
||||
|
||||
if (stbbr_start(5230) != 0) {
|
||||
assert_true(FALSE);
|
||||
return;
|
||||
}
|
||||
|
||||
stbbr_auth_passwd(password);
|
||||
will_return(ui_ask_password, strdup(password));
|
||||
|
||||
expect_cons_show("Connecting as stabber@localhost");
|
||||
|
||||
cmd_process_input(strdup(connect));
|
||||
prof_process_xmpp();
|
||||
|
||||
jabber_conn_status_t status = jabber_get_connection_status();
|
||||
assert_true(status == JABBER_CONNECTED);
|
||||
|
||||
stbbr_stop();
|
||||
}
|
||||
|
@ -1 +1 @@
|
||||
void connect_with_no_jid(void **state);
|
||||
void connect_with_jid(void **state);
|
||||
|
@ -15,7 +15,7 @@
|
||||
int main(int argc, char* argv[]) {
|
||||
|
||||
const UnitTest all_tests[] = {
|
||||
unit_test_setup_teardown(connect_with_no_jid,
|
||||
unit_test_setup_teardown(connect_with_jid,
|
||||
init_prof_test,
|
||||
close_prof_test),
|
||||
};
|
||||
|
@ -26,7 +26,7 @@ jabber_conn_status_t jabber_connect_with_account(const ProfAccount * const accou
|
||||
|
||||
void jabber_disconnect(void) {}
|
||||
void jabber_shutdown(void) {}
|
||||
void jabber_process_events(void) {}
|
||||
void jabber_process_events(int millis) {}
|
||||
const char * jabber_get_fulljid(void)
|
||||
{
|
||||
return (char *)mock();
|
||||
|
Loading…
Reference in New Issue
Block a user