Mercurial > pidgin
annotate libpurple/tests/check_libpurple.c @ 31963:92711688c245
Convert the msn prpl to use the new API.
author | andrew.victor@mxit.com |
---|---|
date | Fri, 26 Aug 2011 18:37:27 +0000 |
parents | c8f91310bfbf |
children |
rev | line source |
---|---|
15805
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 |
15805
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" |
15888
6577b292e7b4
Fix compiler warnings and errors in tests resulting from using DEBUG_CFLAGS
Stu Tomlinson <stu@nosnilmot.com>
parents:
15822
diff
changeset
|
8 #include "../util.h" |
15805
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 |
15822 | 15 purple_check_input_add(gint fd, PurpleInputCondition condition, |
16 PurpleInputFunction function, gpointer data) | |
15805
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 |
15822 | 22 static PurpleEventLoopUiOps eventloop_ui_ops = { |
15805
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:
16526
diff
changeset
|
24 g_source_remove, |
15822 | 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:
16526
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:
16526
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:
16526
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:
16526
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:
16526
diff
changeset
|
30 #else |
743ff8e14b17
Fix warnings and add a call to g_timeout_add_seconds() just because.
Richard Laager <rlaager@wiktel.com>
parents:
16526
diff
changeset
|
31 NULL, |
743ff8e14b17
Fix warnings and add a call to g_timeout_add_seconds() just because.
Richard Laager <rlaager@wiktel.com>
parents:
16526
diff
changeset
|
32 #endif |
743ff8e14b17
Fix warnings and add a call to g_timeout_add_seconds() just because.
Richard Laager <rlaager@wiktel.com>
parents:
16526
diff
changeset
|
33 NULL, |
743ff8e14b17
Fix warnings and add a call to g_timeout_add_seconds() just because.
Richard Laager <rlaager@wiktel.com>
parents:
16526
diff
changeset
|
34 NULL, |
15888
6577b292e7b4
Fix compiler warnings and errors in tests resulting from using DEBUG_CFLAGS
Stu Tomlinson <stu@nosnilmot.com>
parents:
15822
diff
changeset
|
35 NULL |
15805
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 |
15822 | 39 purple_check_init(void) { |
22972
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 |
15822 | 42 purple_eventloop_set_ui_ops(&eventloop_ui_ops); |
15805
a0a5e323a6ac
libpurplify the 'make check' tests so they work again
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
43 |
29914
a40c55113f7d
Use /dev/null for the purple directory for the tests.
Paul Aurich <paul@darkrain42.org>
parents:
28790
diff
changeset
|
44 #if 0 |
15805
a0a5e323a6ac
libpurplify the 'make check' tests so they work again
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
45 /* build our fake home directory */ |
29914
a40c55113f7d
Use /dev/null for the purple directory for the tests.
Paul Aurich <paul@darkrain42.org>
parents:
28790
diff
changeset
|
46 { |
a40c55113f7d
Use /dev/null for the purple directory for the tests.
Paul Aurich <paul@darkrain42.org>
parents:
28790
diff
changeset
|
47 gchar *home_dir; |
a40c55113f7d
Use /dev/null for the purple directory for the tests.
Paul Aurich <paul@darkrain42.org>
parents:
28790
diff
changeset
|
48 |
a40c55113f7d
Use /dev/null for the purple directory for the tests.
Paul Aurich <paul@darkrain42.org>
parents:
28790
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:
28790
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:
28790
diff
changeset
|
51 g_free(home_dir); |
a40c55113f7d
Use /dev/null for the purple directory for the tests.
Paul Aurich <paul@darkrain42.org>
parents:
28790
diff
changeset
|
52 } |
a40c55113f7d
Use /dev/null for the purple directory for the tests.
Paul Aurich <paul@darkrain42.org>
parents:
28790
diff
changeset
|
53 #else |
a40c55113f7d
Use /dev/null for the purple directory for the tests.
Paul Aurich <paul@darkrain42.org>
parents:
28790
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:
28790
diff
changeset
|
55 #endif |
15805
a0a5e323a6ac
libpurplify the 'make check' tests so they work again
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
56 |
15822 | 57 purple_core_init("check"); |
15805
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; |
16526
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:
15888
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:
15888
diff
changeset
|
75 |
28790
c0c24f947211
Allow toggling debugging in the test suite with the environment variable
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
28787
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:
28787
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:
28787
diff
changeset
|
78 |
16526
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:
15888
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:
15888
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:
15888
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:
15888
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:
15888
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:
15888
diff
changeset
|
84 sr = srunner_create (master_suite()); |
15805
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()); |
30254
6362579b3d2e
jabber: Start adding some caps tests
Paul Aurich <paul@darkrain42.org>
parents:
29914
diff
changeset
|
87 srunner_add_suite(sr, jabber_caps_suite()); |
31176
e743507b3767
jabber: Test harness for DIGEST-MD5 parsing function.
Paul Aurich <paul@darkrain42.org>
parents:
30254
diff
changeset
|
88 srunner_add_suite(sr, jabber_digest_md5_suite()); |
15805
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()); |
28703
338eeaf371e2
jabber: Add the Hi() function (PBKDF2).
Paul Aurich <paul@darkrain42.org>
parents:
28201
diff
changeset
|
90 srunner_add_suite(sr, jabber_scram_suite()); |
31204
f1874b08b3f9
Add unit tests for oscar_util_name_compare. I suspected that this
Mark Doliner <mark@kingant.net>
parents:
31176
diff
changeset
|
91 srunner_add_suite(sr, oscar_util_suite()); |
27747
42359a734696
Add a super simple test for yahoo_codes_to_html(). I'm planning on
Mark Doliner <mark@kingant.net>
parents:
22972
diff
changeset
|
92 srunner_add_suite(sr, yahoo_util_suite()); |
15805
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()); |
31680
c8f91310bfbf
Add a silly little check to make sure our xml parser isn't vulnerable to the
Mark Doliner <mark@kingant.net>
parents:
31514
diff
changeset
|
94 srunner_add_suite(sr, xmlnode_suite()); |
15805
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" */ |
15822 | 97 purple_check_init(); |
15805
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 |
15822 | 103 purple_core_quit(); |
15805
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 } |