Mercurial > pidgin.yaz
changeset 15043:edd78a0c6698
[gaim-migrate @ 17825]
partition the tests
committer: Tailor Script <tailor@pidgin.im>
author | Nathan Walp <nwalp@pidgin.im> |
---|---|
date | Sun, 26 Nov 2006 23:31:16 +0000 |
parents | 3d87d9b7491c |
children | 603960420450 |
files | libgaim/tests/Makefile.am libgaim/tests/check_libgaim.c libgaim/tests/test_util.c libgaim/tests/tests.h |
diffstat | 4 files changed, 138 insertions(+), 55 deletions(-) [+] |
line wrap: on
line diff
--- a/libgaim/tests/Makefile.am Sun Nov 26 22:29:21 2006 +0000 +++ b/libgaim/tests/Makefile.am Sun Nov 26 23:31:16 2006 +0000 @@ -1,7 +1,7 @@ if HAVE_CHECK TESTS = check_libgaim check_PROGRAMS = check_libgaim -check_libgaim_SOURCES = check_libgaim.c $(top_builddir)/libgaim/gaim.h +check_libgaim_SOURCES = check_libgaim.c tests.h test_util.c $(top_builddir)/libgaim/util.h check_libgaim_CFLAGS = @CHECK_CFLAGS@ $(GLIB_CFLAGS) check_libgaim_LDADD = @CHECK_LIBS@ $(GLIB_LIBS) $(top_builddir)/libgaim/libgaim.la endif
--- a/libgaim/tests/check_libgaim.c Sun Nov 26 22:29:21 2006 +0000 +++ b/libgaim/tests/check_libgaim.c Sun Nov 26 23:31:16 2006 +0000 @@ -1,58 +1,10 @@ -#include <glib.h> -#include <check.h> +#include "tests.h" #include <stdlib.h> -#include "../util.h" -START_TEST(test_util_base16_encode) -{ - gchar *out = gaim_base16_encode("hello, world!", 14); - fail_unless(strcmp("68656c6c6f2c20776f726c642100", out) == 0, NULL); - g_free(out); -} -END_TEST - -START_TEST(test_util_base16_decode) -{ - gsize sz = 0; - guchar *out = gaim_base16_decode("21646c726f77202c6f6c6c656800", &sz); - fail_unless(sz == 14, NULL); - fail_unless(strcmp("!dlrow ,olleh", out) == 0, NULL); - g_free(out); -} -END_TEST - -START_TEST(test_util_base64_encode) +Suite* +master_suite(void) { - gchar *out = gaim_base64_encode("forty-two", 10); - fail_unless(strcmp("Zm9ydHktdHdvAA==",out) == 0, NULL); - g_free(out); -} -END_TEST - -START_TEST(test_util_base64_decode) -{ - gsize sz; - guchar *out = gaim_base64_decode("b3d0LXl0cm9mAA==", &sz); - fail_unless(sz == 10, NULL); - fail_unless(strcmp("owt-ytrof", out) == 0, NULL); - g_free(out); -} -END_TEST - -Suite * -util_suite(void) -{ - Suite *s = suite_create("Utility Functions"); - - TCase *tc = tcase_create("Base16"); - tcase_add_test(tc, test_util_base16_encode); - tcase_add_test(tc, test_util_base16_decode); - suite_add_tcase(s, tc); - - tc = tcase_create("Base64"); - tcase_add_test(tc, test_util_base64_encode); - tcase_add_test(tc, test_util_base64_decode); - suite_add_tcase(s, tc); + Suite *s = suite_create("Master Suite"); return s; } @@ -60,8 +12,10 @@ int main(void) { int number_failed; - Suite *s = util_suite (); - SRunner *sr = srunner_create (s); + SRunner *sr = srunner_create (master_suite()); + + srunner_add_suite(sr, util_suite()); + srunner_run_all (sr, CK_NORMAL); number_failed = srunner_ntests_failed (sr); srunner_free (sr);
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/libgaim/tests/test_util.c Sun Nov 26 23:31:16 2006 +0000 @@ -0,0 +1,104 @@ +#include "tests.h" +#include "../util.h" + +START_TEST(test_util_base16_encode) +{ + assert_string_equal_free("68656c6c6f2c20776f726c642100", gaim_base16_encode("hello, world!", 14)); +} +END_TEST + +START_TEST(test_util_base16_decode) +{ + gsize sz = 0; + guchar *out = gaim_base16_decode("21646c726f77202c6f6c6c656800", &sz); + fail_unless(sz == 14, NULL); + fail_unless(strcmp("!dlrow ,olleh", out) == 0, NULL); + g_free(out); +} +END_TEST + +START_TEST(test_util_base64_encode) +{ + assert_string_equal_free("Zm9ydHktdHdvAA==", gaim_base64_encode("forty-two", 10)); +} +END_TEST + +START_TEST(test_util_base64_decode) +{ + gsize sz; + guchar *out = gaim_base64_decode("b3d0LXl0cm9mAA==", &sz); + fail_unless(sz == 10, NULL); + fail_unless(strcmp("owt-ytrof", out) == 0, NULL); + g_free(out); +} +END_TEST + +START_TEST(test_util_escape_filename) +{ + assert_string_equal("foo", gaim_escape_filename("foo")); + assert_string_equal("@oo", gaim_escape_filename("@oo")); + assert_string_equal("#oo", gaim_escape_filename("#oo")); + assert_string_equal("-oo", gaim_escape_filename("-oo")); + assert_string_equal("_oo", gaim_escape_filename("_oo")); + assert_string_equal(".oo", gaim_escape_filename(".oo")); + assert_string_equal("%25oo", gaim_escape_filename("%oo")); + assert_string_equal("%21oo", gaim_escape_filename("!oo")); +} +END_TEST + +START_TEST(test_util_unescape_filename) +{ + assert_string_equal("bar", gaim_unescape_filename("bar")); + assert_string_equal("@ar", gaim_unescape_filename("@ar")); + assert_string_equal("!ar", gaim_unescape_filename("!ar")); + assert_string_equal("!ar", gaim_unescape_filename("%21ar")); + assert_string_equal("%ar", gaim_unescape_filename("%25ar")); +} +END_TEST + + +START_TEST(test_util_text_strip_mnemonic) +{ + assert_string_equal_free("", gaim_text_strip_mnemonic("")); + assert_string_equal_free("foo", gaim_text_strip_mnemonic("foo")); + assert_string_equal_free("foo", gaim_text_strip_mnemonic("_foo")); + +} +END_TEST + +START_TEST(test_util_email_is_valid) +{ + fail_unless(gaim_email_is_valid("gaim-devel@lists.sf.net")); +} +END_TEST + +Suite * +util_suite(void) +{ + Suite *s = suite_create("Utility Functions"); + + TCase *tc = tcase_create("Base16"); + tcase_add_test(tc, test_util_base16_encode); + tcase_add_test(tc, test_util_base16_decode); + suite_add_tcase(s, tc); + + tc = tcase_create("Base64"); + tcase_add_test(tc, test_util_base64_encode); + tcase_add_test(tc, test_util_base64_decode); + suite_add_tcase(s, tc); + + tc = tcase_create("Filenames"); + tcase_add_test(tc, test_util_escape_filename); + tcase_add_test(tc, test_util_unescape_filename); + suite_add_tcase(s, tc); + + tc = tcase_create("Strip Mnemonic"); + tcase_add_test(tc, test_util_text_strip_mnemonic); + suite_add_tcase(s, tc); + + tc = tcase_create("Email"); + tcase_add_test(tc, test_util_email_is_valid); + suite_add_tcase(s, tc); + + return s; +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/libgaim/tests/tests.h Sun Nov 26 23:31:16 2006 +0000 @@ -0,0 +1,25 @@ +#ifndef TESTS_H +# define TESTS_H + +#include <glib.h> +#include <check.h> + +/* define the test suites here */ +/* remember to add the suite to the runner in check_libgaim.c */ +Suite * util_suite(void); + +/* helper macros */ +#define assert_string_equal(expected, actual) { \ + const gchar *a = actual; \ + fail_unless(strcmp(expected, a) == 0, "Expecting '%s' but got '%s'", expected, a); \ +} + +#define assert_string_equal_free(expected, actual) { \ + gchar *a = actual; \ + assert_string_equal(expected, a); \ + g_free(a); \ +} + + +#endif /* ifndef TESTS_H */ +