Mercurial > pidgin.yaz
view libpurple/tests/check_libpurple.c @ 29240:1be982612d9a
*** Plucked rev 4be2df4f72bd8a55cdae7f2554b73342a497c92f (bcc0147bab874ca52c55ad4900545e17528bf8fd):
There's no need to check type twice here. Also, g_return_if_reached is not
correct since img==NULL is caused by invalid network input and not some
programmer error.
*** Plucked rev 3d02401cf232459fc80c0837d31e05fae7ae5467 (bcc0147bab874ca52c55ad4900545e17528bf8fd):
Using 'if (img==NULL) return;' fails to clean up properly, so invert the
logic of that section.
*** Plucked rev c64a1adc8bda2b4aeaae1f273541afbc4f71b810 (bcc0147bab874ca52c55ad4900545e17528bf8fd):
Each PurpleSmiley has a PurpleStoredImage behind it, so there's no need to
go and create a new one when someone asks for one.
Also, ignore requests for smileys that don't exist in the image store.
author | Daniel Atallah <daniel.atallah@gmail.com> |
---|---|
date | Thu, 07 Jan 2010 23:38:42 +0000 |
parents | 2da9e4266742 |
children | 338eeaf371e2 |
line wrap: on
line source
#include <glib.h> #include <stdlib.h> #include "tests.h" #include "../core.h" #include "../eventloop.h" #include "../util.h" /****************************************************************************** * libpurple goodies *****************************************************************************/ static guint purple_check_input_add(gint fd, PurpleInputCondition condition, PurpleInputFunction function, gpointer data) { /* this is a no-op for now, feel free to implement it */ return 0; } static PurpleEventLoopUiOps eventloop_ui_ops = { g_timeout_add, g_source_remove, purple_check_input_add, g_source_remove, NULL, /* input_get_error */ #if GLIB_CHECK_VERSION(2,14,0) g_timeout_add_seconds, #else NULL, #endif NULL, NULL, NULL }; static void purple_check_init(void) { gchar *home_dir; g_type_init(); purple_eventloop_set_ui_ops(&eventloop_ui_ops); /* build our fake home directory */ home_dir = g_build_path(BUILDDIR, "libpurple", "tests", "home", NULL); purple_util_set_user_dir(home_dir); g_free(home_dir); purple_core_init("check"); } /****************************************************************************** * Check meat and potatoes *****************************************************************************/ Suite* master_suite(void) { Suite *s = suite_create("Master Suite"); return s; } int main(void) { int number_failed; SRunner *sr; /* Make g_return_... functions fatal, ALWAYS. * As this is the test code, this is NOT controlled * by PURPLE_FATAL_ASSERTS. */ g_log_set_always_fatal(G_LOG_LEVEL_CRITICAL); sr = srunner_create (master_suite()); srunner_add_suite(sr, cipher_suite()); srunner_add_suite(sr, jabber_jutil_suite()); srunner_add_suite(sr, qq_suite()); srunner_add_suite(sr, yahoo_util_suite()); srunner_add_suite(sr, util_suite()); /* make this a libpurple "ui" */ purple_check_init(); srunner_run_all (sr, CK_NORMAL); number_failed = srunner_ntests_failed (sr); srunner_free (sr); purple_core_quit(); return (number_failed == 0) ? EXIT_SUCCESS : EXIT_FAILURE; }