/* (c) 2005-2006 Jelmer Vernooij This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #include #include #include #include #include #include #include #include #include "ctrlproxy.h" #include "torture.h" START_TEST(test_list_make_string) GList *gl = NULL; char *ret; ret = list_make_string(NULL); fail_unless (strcmp(ret, "") == 0); gl = g_list_append(gl, "bla"); gl = g_list_append(gl, "bloe"); ret = list_make_string(gl); fail_unless (strcmp(ret, "bla bloe") == 0); END_TEST START_TEST(test_get_description) int sock[2]; GIOChannel *ch; char *desc; struct sockaddr_in in; socklen_t len; sock[0] = socket(PF_INET, SOCK_STREAM, 0); sock[1] = socket(PF_INET, SOCK_STREAM, 0); fail_if(sock[0] < 0); fail_if(sock[1] < 0); fail_if(listen(sock[1], 1) < 0); ch = g_io_channel_unix_new(sock[0]); desc = g_io_channel_ip_get_description(ch); fail_unless(desc == NULL); len = sizeof(in); fail_if(getsockname(sock[1], (struct sockaddr *)&in, &len) < 0); fail_if(connect(sock[0], (struct sockaddr *)&in, len) < 0); desc = g_io_channel_ip_get_description(ch); fail_if(desc == NULL); g_free(desc); END_TEST START_TEST(test_get_set_file_contents) char *cont = NULL; struct stat st; gsize len; GError *error = NULL; char *f = torture_tempfile("get_set_file_contents"); fail_unless(rep_g_file_set_contents(f, "bla\nbloe\n", -1, &error) == TRUE, "g_file_set_contents failed: %s", error == NULL?"(null)":error->message); fail_unless(g_stat(f, &st) == 0); fail_unless((st.st_mode & 0777) == 0644); fail_unless(st.st_size == 9); fail_unless(rep_g_file_get_contents(f, &cont, &len, &error) == TRUE, "g_file_get_contents failed: %s", error == NULL?"(null)":error->message); fail_unless(!strcmp(cont, "bla\nbloe\n")); fail_unless(9 == len); END_TEST Suite *util_suite(void) { Suite *s = suite_create("util"); TCase *tc_core = tcase_create("Core"); suite_add_tcase(s, tc_core); tcase_add_test(tc_core, test_get_description); tcase_add_test(tc_core, test_list_make_string); tcase_add_test(tc_core, test_get_set_file_contents); return s; }