Mercurial > pidgin.yaz
annotate libpurple/tests/check_libpurple.c @ 27674:e5fdfff98aa9
When GNU Libidn is available, use it for XMPP stringprep operations.
I made configure fail if libidn is unavailable and force_deps is set
because glib's UTF-8 strdown and casefold operations fail one of the
tests I've updated (based on running the tests with libidn).
Running without libidn will still work in almost every case because people
use all-ASCII JabberIDs and I had to search a fair amount to find
characters for which GLib failed. This shouldn't have a performance impact
on top of Mark's optimizations for all-ASCII JIDs.
author | Paul Aurich <paul@darkrain42.org> |
---|---|
date | Fri, 17 Jul 2009 21:11:25 +0000 |
parents | 6c015d2764d3 |
children | 42359a734696 |
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 | 15 purple_check_input_add(gint fd, PurpleInputCondition condition, |
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 | 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 | 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 | 39 purple_check_init(void) { |
15806
a0a5e323a6ac
libpurplify the 'make check' tests so they work again
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
40 gchar *home_dir; |
a0a5e323a6ac
libpurplify the 'make check' tests so they work again
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
41 |
22974
6c015d2764d3
Initialize the type system in purple_check_init to prevent 'make check'
Stu Tomlinson <stu@nosnilmot.com>
parents:
21804
diff
changeset
|
42 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
|
43 |
15823 | 44 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
|
45 |
a0a5e323a6ac
libpurplify the 'make check' tests so they work again
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
46 /* build our fake home directory */ |
a0a5e323a6ac
libpurplify the 'make check' tests so they work again
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
47 home_dir = g_build_path(BUILDDIR, "libpurple", "tests", "home", NULL); |
15823 | 48 purple_util_set_user_dir(home_dir); |
15806
a0a5e323a6ac
libpurplify the 'make check' tests so they work again
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
49 g_free(home_dir); |
a0a5e323a6ac
libpurplify the 'make check' tests so they work again
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
50 |
15823 | 51 purple_core_init("check"); |
15806
a0a5e323a6ac
libpurplify the 'make check' tests so they work again
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
52 } |
a0a5e323a6ac
libpurplify the 'make check' tests so they work again
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
53 |
a0a5e323a6ac
libpurplify the 'make check' tests so they work again
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
54 /****************************************************************************** |
a0a5e323a6ac
libpurplify the 'make check' tests so they work again
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
55 * Check meat and potatoes |
a0a5e323a6ac
libpurplify the 'make check' tests so they work again
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
56 *****************************************************************************/ |
a0a5e323a6ac
libpurplify the 'make check' tests so they work again
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
57 Suite* |
a0a5e323a6ac
libpurplify the 'make check' tests so they work again
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
58 master_suite(void) |
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 Suite *s = suite_create("Master Suite"); |
a0a5e323a6ac
libpurplify the 'make check' tests so they work again
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
61 |
a0a5e323a6ac
libpurplify the 'make check' tests so they work again
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
62 return s; |
a0a5e323a6ac
libpurplify the 'make check' tests so they work again
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
63 } |
a0a5e323a6ac
libpurplify the 'make check' tests so they work again
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
64 |
a0a5e323a6ac
libpurplify the 'make check' tests so they work again
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
65 int main(void) |
a0a5e323a6ac
libpurplify the 'make check' tests so they work again
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
66 { |
a0a5e323a6ac
libpurplify the 'make check' tests so they work again
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
67 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
|
68 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
|
69 |
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
|
70 /* 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
|
71 * 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
|
72 * 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
|
73 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
|
74 |
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 sr = srunner_create (master_suite()); |
15806
a0a5e323a6ac
libpurplify the 'make check' tests so they work again
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
76 |
a0a5e323a6ac
libpurplify the 'make check' tests so they work again
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
77 srunner_add_suite(sr, cipher_suite()); |
a0a5e323a6ac
libpurplify the 'make check' tests so they work again
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
78 srunner_add_suite(sr, jabber_jutil_suite()); |
a0a5e323a6ac
libpurplify the 'make check' tests so they work again
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
79 srunner_add_suite(sr, util_suite()); |
a0a5e323a6ac
libpurplify the 'make check' tests so they work again
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
80 |
a0a5e323a6ac
libpurplify the 'make check' tests so they work again
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
81 /* make this a libpurple "ui" */ |
15823 | 82 purple_check_init(); |
15806
a0a5e323a6ac
libpurplify the 'make check' tests so they work again
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
83 |
a0a5e323a6ac
libpurplify the 'make check' tests so they work again
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
84 srunner_run_all (sr, CK_NORMAL); |
a0a5e323a6ac
libpurplify the 'make check' tests so they work again
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
85 number_failed = srunner_ntests_failed (sr); |
a0a5e323a6ac
libpurplify the 'make check' tests so they work again
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
86 srunner_free (sr); |
a0a5e323a6ac
libpurplify the 'make check' tests so they work again
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
87 |
15823 | 88 purple_core_quit(); |
15806
a0a5e323a6ac
libpurplify the 'make check' tests so they work again
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
89 |
a0a5e323a6ac
libpurplify the 'make check' tests so they work again
Stu Tomlinson <stu@nosnilmot.com>
parents:
diff
changeset
|
90 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
|
91 } |