annotate libpurple/tests/check_libpurple.c @ 32509:521cb9430f22

purple_blist_update_buddy_icon() has been deprecated since 2.5.0, and can be removed now.
author andrew.victor@mxit.com
date Mon, 05 Sep 2011 19:58:03 +0000
parents c8f91310bfbf
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
15806
a0a5e323a6ac libpurplify the 'make check' tests so they work again
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff changeset
1 #include <glib.h>
a0a5e323a6ac libpurplify the 'make check' tests so they work again
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff changeset
2 #include <stdlib.h>
a0a5e323a6ac libpurplify the 'make check' tests so they work again
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff changeset
3
21804
fb73a6ed8197 A couple compile fixes to the tests from Elliott Sales de Andrade. Fixes #4313.
Daniel Atallah <daniel.atallah@gmail.com>
parents: 18368
diff changeset
4 #include "tests.h"
fb73a6ed8197 A couple compile fixes to the tests from Elliott Sales de Andrade. Fixes #4313.
Daniel Atallah <daniel.atallah@gmail.com>
parents: 18368
diff changeset
5
15806
a0a5e323a6ac libpurplify the 'make check' tests so they work again
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff changeset
6 #include "../core.h"
a0a5e323a6ac libpurplify the 'make check' tests so they work again
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff changeset
7 #include "../eventloop.h"
15889
6577b292e7b4 Fix compiler warnings and errors in tests resulting from using DEBUG_CFLAGS
Stu Tomlinson <stu@nosnilmot.com>
parents: 15823
diff changeset
8 #include "../util.h"
15806
a0a5e323a6ac libpurplify the 'make check' tests so they work again
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff changeset
9
a0a5e323a6ac libpurplify the 'make check' tests so they work again
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff changeset
10
a0a5e323a6ac libpurplify the 'make check' tests so they work again
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff changeset
11 /******************************************************************************
a0a5e323a6ac libpurplify the 'make check' tests so they work again
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff changeset
12 * libpurple goodies
a0a5e323a6ac libpurplify the 'make check' tests so they work again
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff changeset
13 *****************************************************************************/
a0a5e323a6ac libpurplify the 'make check' tests so they work again
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff changeset
14 static guint
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15806
diff changeset
15 purple_check_input_add(gint fd, PurpleInputCondition condition,
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15806
diff changeset
16 PurpleInputFunction function, gpointer data)
15806
a0a5e323a6ac libpurplify the 'make check' tests so they work again
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff changeset
17 {
a0a5e323a6ac libpurplify the 'make check' tests so they work again
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff changeset
18 /* this is a no-op for now, feel free to implement it */
a0a5e323a6ac libpurplify the 'make check' tests so they work again
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff changeset
19 return 0;
a0a5e323a6ac libpurplify the 'make check' tests so they work again
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff changeset
20 }
a0a5e323a6ac libpurplify the 'make check' tests so they work again
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff changeset
21
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15806
diff changeset
22 static PurpleEventLoopUiOps eventloop_ui_ops = {
15806
a0a5e323a6ac libpurplify the 'make check' tests so they work again
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff changeset
23 g_timeout_add,
18368
743ff8e14b17 Fix warnings and add a call to g_timeout_add_seconds() just because.
Richard Laager <rlaager@wiktel.com>
parents: 16534
diff changeset
24 g_source_remove,
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15806
diff changeset
25 purple_check_input_add,
18368
743ff8e14b17 Fix warnings and add a call to g_timeout_add_seconds() just because.
Richard Laager <rlaager@wiktel.com>
parents: 16534
diff changeset
26 g_source_remove,
743ff8e14b17 Fix warnings and add a call to g_timeout_add_seconds() just because.
Richard Laager <rlaager@wiktel.com>
parents: 16534
diff changeset
27 NULL, /* input_get_error */
743ff8e14b17 Fix warnings and add a call to g_timeout_add_seconds() just because.
Richard Laager <rlaager@wiktel.com>
parents: 16534
diff changeset
28 #if GLIB_CHECK_VERSION(2,14,0)
743ff8e14b17 Fix warnings and add a call to g_timeout_add_seconds() just because.
Richard Laager <rlaager@wiktel.com>
parents: 16534
diff changeset
29 g_timeout_add_seconds,
743ff8e14b17 Fix warnings and add a call to g_timeout_add_seconds() just because.
Richard Laager <rlaager@wiktel.com>
parents: 16534
diff changeset
30 #else
743ff8e14b17 Fix warnings and add a call to g_timeout_add_seconds() just because.
Richard Laager <rlaager@wiktel.com>
parents: 16534
diff changeset
31 NULL,
743ff8e14b17 Fix warnings and add a call to g_timeout_add_seconds() just because.
Richard Laager <rlaager@wiktel.com>
parents: 16534
diff changeset
32 #endif
743ff8e14b17 Fix warnings and add a call to g_timeout_add_seconds() just because.
Richard Laager <rlaager@wiktel.com>
parents: 16534
diff changeset
33 NULL,
743ff8e14b17 Fix warnings and add a call to g_timeout_add_seconds() just because.
Richard Laager <rlaager@wiktel.com>
parents: 16534
diff changeset
34 NULL,
15889
6577b292e7b4 Fix compiler warnings and errors in tests resulting from using DEBUG_CFLAGS
Stu Tomlinson <stu@nosnilmot.com>
parents: 15823
diff changeset
35 NULL
15806
a0a5e323a6ac libpurplify the 'make check' tests so they work again
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff changeset
36 };
a0a5e323a6ac libpurplify the 'make check' tests so they work again
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff changeset
37
a0a5e323a6ac libpurplify the 'make check' tests so they work again
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff changeset
38 static void
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15806
diff changeset
39 purple_check_init(void) {
22974
6c015d2764d3 Initialize the type system in purple_check_init to prevent 'make check'
Stu Tomlinson <stu@nosnilmot.com>
parents: 21804
diff changeset
40 g_type_init();
6c015d2764d3 Initialize the type system in purple_check_init to prevent 'make check'
Stu Tomlinson <stu@nosnilmot.com>
parents: 21804
diff changeset
41
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15806
diff changeset
42 purple_eventloop_set_ui_ops(&eventloop_ui_ops);
15806
a0a5e323a6ac libpurplify the 'make check' tests so they work again
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff changeset
43
30332
a40c55113f7d Use /dev/null for the purple directory for the tests.
Paul Aurich <paul@darkrain42.org>
parents: 29172
diff changeset
44 #if 0
15806
a0a5e323a6ac libpurplify the 'make check' tests so they work again
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff changeset
45 /* build our fake home directory */
30332
a40c55113f7d Use /dev/null for the purple directory for the tests.
Paul Aurich <paul@darkrain42.org>
parents: 29172
diff changeset
46 {
a40c55113f7d Use /dev/null for the purple directory for the tests.
Paul Aurich <paul@darkrain42.org>
parents: 29172
diff changeset
47 gchar *home_dir;
a40c55113f7d Use /dev/null for the purple directory for the tests.
Paul Aurich <paul@darkrain42.org>
parents: 29172
diff changeset
48
a40c55113f7d Use /dev/null for the purple directory for the tests.
Paul Aurich <paul@darkrain42.org>
parents: 29172
diff changeset
49 home_dir = g_build_path(G_DIR_SEPARATOR_S, BUILDDIR, "libpurple", "tests", "home", NULL);
a40c55113f7d Use /dev/null for the purple directory for the tests.
Paul Aurich <paul@darkrain42.org>
parents: 29172
diff changeset
50 purple_util_set_user_dir(home_dir);
a40c55113f7d Use /dev/null for the purple directory for the tests.
Paul Aurich <paul@darkrain42.org>
parents: 29172
diff changeset
51 g_free(home_dir);
a40c55113f7d Use /dev/null for the purple directory for the tests.
Paul Aurich <paul@darkrain42.org>
parents: 29172
diff changeset
52 }
a40c55113f7d Use /dev/null for the purple directory for the tests.
Paul Aurich <paul@darkrain42.org>
parents: 29172
diff changeset
53 #else
a40c55113f7d Use /dev/null for the purple directory for the tests.
Paul Aurich <paul@darkrain42.org>
parents: 29172
diff changeset
54 purple_util_set_user_dir("/dev/null");
a40c55113f7d Use /dev/null for the purple directory for the tests.
Paul Aurich <paul@darkrain42.org>
parents: 29172
diff changeset
55 #endif
15806
a0a5e323a6ac libpurplify the 'make check' tests so they work again
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff changeset
56
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15806
diff changeset
57 purple_core_init("check");
15806
a0a5e323a6ac libpurplify the 'make check' tests so they work again
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff changeset
58 }
a0a5e323a6ac libpurplify the 'make check' tests so they work again
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff changeset
59
a0a5e323a6ac libpurplify the 'make check' tests so they work again
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff changeset
60 /******************************************************************************
a0a5e323a6ac libpurplify the 'make check' tests so they work again
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff changeset
61 * Check meat and potatoes
a0a5e323a6ac libpurplify the 'make check' tests so they work again
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff changeset
62 *****************************************************************************/
a0a5e323a6ac libpurplify the 'make check' tests so they work again
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff changeset
63 Suite*
a0a5e323a6ac libpurplify the 'make check' tests so they work again
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff changeset
64 master_suite(void)
a0a5e323a6ac libpurplify the 'make check' tests so they work again
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff changeset
65 {
a0a5e323a6ac libpurplify the 'make check' tests so they work again
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff changeset
66 Suite *s = suite_create("Master Suite");
a0a5e323a6ac libpurplify the 'make check' tests so they work again
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff changeset
67
a0a5e323a6ac libpurplify the 'make check' tests so they work again
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff changeset
68 return s;
a0a5e323a6ac libpurplify the 'make check' tests so they work again
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff changeset
69 }
a0a5e323a6ac libpurplify the 'make check' tests so they work again
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff changeset
70
a0a5e323a6ac libpurplify the 'make check' tests so they work again
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff changeset
71 int main(void)
a0a5e323a6ac libpurplify the 'make check' tests so they work again
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff changeset
72 {
a0a5e323a6ac libpurplify the 'make check' tests so they work again
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff changeset
73 int number_failed;
16534
32188b6d2db8 Use fatal asserts unconditionally in the test code. Perhaps this could be better integrated in some way, but this works.
Richard Laager <rlaager@wiktel.com>
parents: 15889
diff changeset
74 SRunner *sr;
32188b6d2db8 Use fatal asserts unconditionally in the test code. Perhaps this could be better integrated in some way, but this works.
Richard Laager <rlaager@wiktel.com>
parents: 15889
diff changeset
75
29172
c0c24f947211 Allow toggling debugging in the test suite with the environment variable
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29169
diff changeset
76 if (g_getenv("PURPLE_CHECK_DEBUG"))
c0c24f947211 Allow toggling debugging in the test suite with the environment variable
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29169
diff changeset
77 purple_debug_set_enabled(TRUE);
c0c24f947211 Allow toggling debugging in the test suite with the environment variable
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29169
diff changeset
78
16534
32188b6d2db8 Use fatal asserts unconditionally in the test code. Perhaps this could be better integrated in some way, but this works.
Richard Laager <rlaager@wiktel.com>
parents: 15889
diff changeset
79 /* Make g_return_... functions fatal, ALWAYS.
32188b6d2db8 Use fatal asserts unconditionally in the test code. Perhaps this could be better integrated in some way, but this works.
Richard Laager <rlaager@wiktel.com>
parents: 15889
diff changeset
80 * As this is the test code, this is NOT controlled
32188b6d2db8 Use fatal asserts unconditionally in the test code. Perhaps this could be better integrated in some way, but this works.
Richard Laager <rlaager@wiktel.com>
parents: 15889
diff changeset
81 * by PURPLE_FATAL_ASSERTS. */
32188b6d2db8 Use fatal asserts unconditionally in the test code. Perhaps this could be better integrated in some way, but this works.
Richard Laager <rlaager@wiktel.com>
parents: 15889
diff changeset
82 g_log_set_always_fatal(G_LOG_LEVEL_CRITICAL);
32188b6d2db8 Use fatal asserts unconditionally in the test code. Perhaps this could be better integrated in some way, but this works.
Richard Laager <rlaager@wiktel.com>
parents: 15889
diff changeset
83
32188b6d2db8 Use fatal asserts unconditionally in the test code. Perhaps this could be better integrated in some way, but this works.
Richard Laager <rlaager@wiktel.com>
parents: 15889
diff changeset
84 sr = srunner_create (master_suite());
15806
a0a5e323a6ac libpurplify the 'make check' tests so they work again
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff changeset
85
a0a5e323a6ac libpurplify the 'make check' tests so they work again
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff changeset
86 srunner_add_suite(sr, cipher_suite());
30683
6362579b3d2e jabber: Start adding some caps tests
Paul Aurich <paul@darkrain42.org>
parents: 30332
diff changeset
87 srunner_add_suite(sr, jabber_caps_suite());
31624
e743507b3767 jabber: Test harness for DIGEST-MD5 parsing function.
Paul Aurich <paul@darkrain42.org>
parents: 30683
diff changeset
88 srunner_add_suite(sr, jabber_digest_md5_suite());
15806
a0a5e323a6ac libpurplify the 'make check' tests so they work again
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff changeset
89 srunner_add_suite(sr, jabber_jutil_suite());
29085
338eeaf371e2 jabber: Add the Hi() function (PBKDF2).
Paul Aurich <paul@darkrain42.org>
parents: 28560
diff changeset
90 srunner_add_suite(sr, jabber_scram_suite());
31653
f1874b08b3f9 Add unit tests for oscar_util_name_compare. I suspected that this
Mark Doliner <mark@kingant.net>
parents: 31624
diff changeset
91 srunner_add_suite(sr, oscar_util_suite());
28084
42359a734696 Add a super simple test for yahoo_codes_to_html(). I'm planning on
Mark Doliner <mark@kingant.net>
parents: 22974
diff changeset
92 srunner_add_suite(sr, yahoo_util_suite());
15806
a0a5e323a6ac libpurplify the 'make check' tests so they work again
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff changeset
93 srunner_add_suite(sr, util_suite());
32136
c8f91310bfbf Add a silly little check to make sure our xml parser isn't vulnerable to the
Mark Doliner <mark@kingant.net>
parents: 31966
diff changeset
94 srunner_add_suite(sr, xmlnode_suite());
15806
a0a5e323a6ac libpurplify the 'make check' tests so they work again
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff changeset
95
a0a5e323a6ac libpurplify the 'make check' tests so they work again
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff changeset
96 /* make this a libpurple "ui" */
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15806
diff changeset
97 purple_check_init();
15806
a0a5e323a6ac libpurplify the 'make check' tests so they work again
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff changeset
98
a0a5e323a6ac libpurplify the 'make check' tests so they work again
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff changeset
99 srunner_run_all (sr, CK_NORMAL);
a0a5e323a6ac libpurplify the 'make check' tests so they work again
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff changeset
100 number_failed = srunner_ntests_failed (sr);
a0a5e323a6ac libpurplify the 'make check' tests so they work again
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff changeset
101 srunner_free (sr);
a0a5e323a6ac libpurplify the 'make check' tests so they work again
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff changeset
102
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15806
diff changeset
103 purple_core_quit();
15806
a0a5e323a6ac libpurplify the 'make check' tests so they work again
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff changeset
104
a0a5e323a6ac libpurplify the 'make check' tests so they work again
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff changeset
105 return (number_failed == 0) ? EXIT_SUCCESS : EXIT_FAILURE;
a0a5e323a6ac libpurplify the 'make check' tests so they work again
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff changeset
106 }