From: Dan Winship Date: Sun, 27 May 2001 19:52:07 +0000 (+0000) Subject: Fix an fd leak X-Git-Tag: upstream/3.7.4~10893 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=f1536947e20aff823098345a0f54fbfe6f156a11;p=platform%2Fupstream%2Fevolution-data-server.git Fix an fd leak * tests/lib/messages.c (test_message_read_file): Fix an fd leak * tests/lib/session.c, tests/lib/session.h: a CamelSession subclass for the test programs. * tests/lib/Makefile.am: include session.[ch] * tests/folder/test*.c: Use a CamelTestSession from libcameltest instead of cut+pasting everywhere. * tests/misc/url.c (main): Update for a camel_url_new change at some point. * tests/*/.cvsignore: Add stuff. * camel-mime-utils.c (rfc2047_encode_word): Fix a silly ==/!= mixup. --- diff --git a/camel/camel-mime-utils.c b/camel/camel-mime-utils.c index 3d915be..b8ac8aa 100644 --- a/camel/camel-mime-utils.c +++ b/camel/camel-mime-utils.c @@ -1239,7 +1239,7 @@ rfc2047_encode_word(GString *outstring, const char *in, int len, const char *typ g_string_append(outstring, ascii); } - if (ic == (iconv_t) -1) { + if (ic != (iconv_t) -1) { iconv_close(ic); } } diff --git a/camel/tests/folder/.cvsignore b/camel/tests/folder/.cvsignore index ba98331..26eaf2f 100644 --- a/camel/tests/folder/.cvsignore +++ b/camel/tests/folder/.cvsignore @@ -10,3 +10,12 @@ temp-test *.bbg *.da *.gcov +test1 +test2 +test3 +test4 +test5 +test6 +test7 +test8 +test9 diff --git a/camel/tests/folder/test1.c b/camel/tests/folder/test1.c index 769254f..4d58909 100644 --- a/camel/tests/folder/test1.c +++ b/camel/tests/folder/test1.c @@ -2,75 +2,12 @@ #include "camel-test.h" #include "folders.h" +#include "session.h" #include #include -#include #include -#define CAMEL_TEST_SESSION_TYPE (camel_test_session_get_type ()) -#define CAMEL_TEST_SESSION(obj) (CAMEL_CHECK_CAST((obj), CAMEL_TEST_SESSION_TYPE, CamelTestSession)) -#define CAMEL_TEST_SESSION_CLASS(k) (CAMEL_CHECK_CLASS_CAST ((k), CAMEL_TEST_SESSION_TYPE, CamelTestSessionClass)) -#define CAMEL_TEST_IS_SESSION(o) (CAMEL_CHECK_TYPE((o), CAMEL_TEST_SESSION_TYPE)) - - -typedef struct _CamelTestSession { - CamelSession parent_object; - -} CamelTestSession; - -typedef struct _CamelTestSessionClass { - CamelSessionClass parent_class; - -} CamelTestSessionClass; - -static void -init (CamelTestSession *session) -{ - ; -} - -static void -class_init (CamelTestSessionClass *camel_test_session_class) -{ - CamelSessionClass *camel_session_class = - CAMEL_SESSION_CLASS (camel_test_session_class); - - /* virtual method override */ -} - -static CamelType -camel_test_session_get_type (void) -{ - static CamelType type = CAMEL_INVALID_TYPE; - - if (type == CAMEL_INVALID_TYPE) { - type = camel_type_register ( - camel_test_session_get_type (), - "CamelTestSession", - sizeof (CamelTestSession), - sizeof (CamelTestSessionClass), - (CamelObjectClassInitFunc) class_init, - NULL, - (CamelObjectInitFunc) init, - NULL); - } - - return type; -} - -static CamelSession * -camel_test_session_new (const char *path) -{ - CamelSession *session; - - session = CAMEL_SESSION (camel_object_new (CAMEL_TEST_SESSION_TYPE)); - - camel_session_construct (session, path); - - return session; -} - #define ARRAY_LEN(x) (sizeof(x)/sizeof(x[0])) static char *local_providers[] = { diff --git a/camel/tests/folder/test2.c b/camel/tests/folder/test2.c index 899e642..0fafce3 100644 --- a/camel/tests/folder/test2.c +++ b/camel/tests/folder/test2.c @@ -3,79 +3,16 @@ #include "camel-test.h" #include "messages.h" #include "folders.h" +#include "session.h" #include #include -#include #include #include #include #include -#define CAMEL_TEST_SESSION_TYPE (camel_test_session_get_type ()) -#define CAMEL_TEST_SESSION(obj) (CAMEL_CHECK_CAST((obj), CAMEL_TEST_SESSION_TYPE, CamelTestSession)) -#define CAMEL_TEST_SESSION_CLASS(k) (CAMEL_CHECK_CLASS_CAST ((k), CAMEL_TEST_SESSION_TYPE, CamelTestSessionClass)) -#define CAMEL_TEST_IS_SESSION(o) (CAMEL_CHECK_TYPE((o), CAMEL_TEST_SESSION_TYPE)) - - -typedef struct _CamelTestSession { - CamelSession parent_object; - -} CamelTestSession; - -typedef struct _CamelTestSessionClass { - CamelSessionClass parent_class; - -} CamelTestSessionClass; - -static void -init (CamelTestSession *session) -{ - ; -} - -static void -class_init (CamelTestSessionClass *camel_test_session_class) -{ - CamelSessionClass *camel_session_class = - CAMEL_SESSION_CLASS (camel_test_session_class); - - /* virtual method override */ -} - -static CamelType -camel_test_session_get_type (void) -{ - static CamelType type = CAMEL_INVALID_TYPE; - - if (type == CAMEL_INVALID_TYPE) { - type = camel_type_register ( - camel_test_session_get_type (), - "CamelTestSession", - sizeof (CamelTestSession), - sizeof (CamelTestSessionClass), - (CamelObjectClassInitFunc) class_init, - NULL, - (CamelObjectInitFunc) init, - NULL); - } - - return type; -} - -static CamelSession * -camel_test_session_new (const char *path) -{ - CamelSession *session; - - session = CAMEL_SESSION (camel_object_new (CAMEL_TEST_SESSION_TYPE)); - - camel_session_construct (session, path); - - return session; -} - #define ARRAY_LEN(x) (sizeof(x)/sizeof(x[0])) static char *stores[] = { diff --git a/camel/tests/folder/test3.c b/camel/tests/folder/test3.c index 4fb67c1..6aa7ad6 100644 --- a/camel/tests/folder/test3.c +++ b/camel/tests/folder/test3.c @@ -3,10 +3,10 @@ #include "camel-test.h" #include "messages.h" #include "folders.h" +#include "session.h" #include #include -#include #include #include @@ -15,69 +15,6 @@ #define ARRAY_LEN(x) (sizeof(x)/sizeof(x[0])) -#define CAMEL_TEST_SESSION_TYPE (camel_test_session_get_type ()) -#define CAMEL_TEST_SESSION(obj) (CAMEL_CHECK_CAST((obj), CAMEL_TEST_SESSION_TYPE, CamelTestSession)) -#define CAMEL_TEST_SESSION_CLASS(k) (CAMEL_CHECK_CLASS_CAST ((k), CAMEL_TEST_SESSION_TYPE, CamelTestSessionClass)) -#define CAMEL_TEST_IS_SESSION(o) (CAMEL_CHECK_TYPE((o), CAMEL_TEST_SESSION_TYPE)) - - -typedef struct _CamelTestSession { - CamelSession parent_object; - -} CamelTestSession; - -typedef struct _CamelTestSessionClass { - CamelSessionClass parent_class; - -} CamelTestSessionClass; - -static void -init (CamelTestSession *session) -{ - ; -} - -static void -class_init (CamelTestSessionClass *camel_test_session_class) -{ - CamelSessionClass *camel_session_class = - CAMEL_SESSION_CLASS (camel_test_session_class); - - /* virtual method override */ -} - -static CamelType -camel_test_session_get_type (void) -{ - static CamelType type = CAMEL_INVALID_TYPE; - - if (type == CAMEL_INVALID_TYPE) { - type = camel_type_register ( - camel_test_session_get_type (), - "CamelTestSession", - sizeof (CamelTestSession), - sizeof (CamelTestSessionClass), - (CamelObjectClassInitFunc) class_init, - NULL, - (CamelObjectInitFunc) init, - NULL); - } - - return type; -} - -static CamelSession * -camel_test_session_new (const char *path) -{ - CamelSession *session; - - session = CAMEL_SESSION (camel_object_new (CAMEL_TEST_SESSION_TYPE)); - - camel_session_construct (session, path); - - return session; -} - static void test_folder_search_sub(CamelFolder *folder, const char *expr, int expected) { diff --git a/camel/tests/folder/test4.c b/camel/tests/folder/test4.c index af0bc79..f6d766f 100644 --- a/camel/tests/folder/test4.c +++ b/camel/tests/folder/test4.c @@ -2,86 +2,12 @@ #include "camel-test.h" #include "folders.h" +#include "session.h" #include #include -#include #include -static int regtimeout() -{ - return 1; -} - -static int unregtimeout() -{ - return 1; -} - -#define CAMEL_TEST_SESSION_TYPE (camel_test_session_get_type ()) -#define CAMEL_TEST_SESSION(obj) (CAMEL_CHECK_CAST((obj), CAMEL_TEST_SESSION_TYPE, CamelTestSession)) -#define CAMEL_TEST_SESSION_CLASS(k) (CAMEL_CHECK_CLASS_CAST ((k), CAMEL_TEST_SESSION_TYPE, CamelTestSessionClass)) -#define CAMEL_TEST_IS_SESSION(o) (CAMEL_CHECK_TYPE((o), CAMEL_TEST_SESSION_TYPE)) - -typedef struct _CamelTestSession { - CamelSession parent_object; - -} CamelTestSession; - -typedef struct _CamelTestSessionClass { - CamelSessionClass parent_class; - -} CamelTestSessionClass; - -static void -init (CamelTestSession *session) -{ - ; -} - -static void -class_init (CamelTestSessionClass *camel_test_session_class) -{ - CamelSessionClass *camel_session_class = - CAMEL_SESSION_CLASS (camel_test_session_class); - - /* virtual method override */ - camel_session_class->register_timeout = regtimeout; - camel_session_class->remove_timeout = unregtimeout; -} - -static CamelType -camel_test_session_get_type (void) -{ - static CamelType type = CAMEL_INVALID_TYPE; - - if (type == CAMEL_INVALID_TYPE) { - type = camel_type_register ( - camel_test_session_get_type (), - "CamelTestSession", - sizeof (CamelTestSession), - sizeof (CamelTestSessionClass), - (CamelObjectClassInitFunc) class_init, - NULL, - (CamelObjectInitFunc) init, - NULL); - } - - return type; -} - -static CamelSession * -camel_test_session_new (const char *path) -{ - CamelSession *session; - - session = CAMEL_SESSION (camel_object_new (CAMEL_TEST_SESSION_TYPE)); - - camel_session_construct (session, path); - - return session; -} - #define ARRAY_LEN(x) (sizeof(x)/sizeof(x[0])) static char *remote_providers[] = { diff --git a/camel/tests/folder/test5.c b/camel/tests/folder/test5.c index c2a3e9a..20e0c7d 100644 --- a/camel/tests/folder/test5.c +++ b/camel/tests/folder/test5.c @@ -2,88 +2,12 @@ #include "camel-test.h" #include "folders.h" +#include "session.h" #include #include -#include #include -static int regtimeout() -{ - return 1; -} - -static int unregtimeout() -{ - return 1; -} - - -#define CAMEL_TEST_SESSION_TYPE (camel_test_session_get_type ()) -#define CAMEL_TEST_SESSION(obj) (CAMEL_CHECK_CAST((obj), CAMEL_TEST_SESSION_TYPE, CamelTestSession)) -#define CAMEL_TEST_SESSION_CLASS(k) (CAMEL_CHECK_CLASS_CAST ((k), CAMEL_TEST_SESSION_TYPE, CamelTestSessionClass)) -#define CAMEL_TEST_IS_SESSION(o) (CAMEL_CHECK_TYPE((o), CAMEL_TEST_SESSION_TYPE)) - -typedef struct _CamelTestSession { - CamelSession parent_object; - -} CamelTestSession; - -typedef struct _CamelTestSessionClass { - CamelSessionClass parent_class; - -} CamelTestSessionClass; - -static void -init (CamelTestSession *session) -{ - ; -} - -static void -class_init (CamelTestSessionClass *camel_test_session_class) -{ - CamelSessionClass *camel_session_class = - CAMEL_SESSION_CLASS (camel_test_session_class); - - /* virtual method override */ - camel_session_class->register_timeout = regtimeout; - camel_session_class->remove_timeout = unregtimeout; -} - -static CamelType -camel_test_session_get_type (void) -{ - static CamelType type = CAMEL_INVALID_TYPE; - - if (type == CAMEL_INVALID_TYPE) { - type = camel_type_register ( - camel_test_session_get_type (), - "CamelTestSession", - sizeof (CamelTestSession), - sizeof (CamelTestSessionClass), - (CamelObjectClassInitFunc) class_init, - NULL, - (CamelObjectInitFunc) init, - NULL); - } - - return type; -} - -static CamelSession * -camel_test_session_new (const char *path) -{ - CamelSession *session; - - session = CAMEL_SESSION (camel_object_new (CAMEL_TEST_SESSION_TYPE)); - - camel_session_construct (session, path); - - return session; -} - - #define ARRAY_LEN(x) (sizeof(x)/sizeof(x[0])) static char *remote_providers[] = { diff --git a/camel/tests/folder/test6.c b/camel/tests/folder/test6.c index cbd980a..215fa99 100644 --- a/camel/tests/folder/test6.c +++ b/camel/tests/folder/test6.c @@ -2,91 +2,16 @@ #include "camel-test.h" #include "messages.h" +#include "session.h" #include #include -#include #include #include #include #include -static int regtimeout() -{ - return 1; -} - -static int unregtimeout() -{ - return 1; -} - -#define CAMEL_TEST_SESSION_TYPE (camel_test_session_get_type ()) -#define CAMEL_TEST_SESSION(obj) (CAMEL_CHECK_CAST((obj), CAMEL_TEST_SESSION_TYPE, CamelTestSession)) -#define CAMEL_TEST_SESSION_CLASS(k) (CAMEL_CHECK_CLASS_CAST ((k), CAMEL_TEST_SESSION_TYPE, CamelTestSessionClass)) -#define CAMEL_TEST_IS_SESSION(o) (CAMEL_CHECK_TYPE((o), CAMEL_TEST_SESSION_TYPE)) - -typedef struct _CamelTestSession { - CamelSession parent_object; - -} CamelTestSession; - -typedef struct _CamelTestSessionClass { - CamelSessionClass parent_class; - -} CamelTestSessionClass; - -static void -init (CamelTestSession *session) -{ - ; -} - -static void -class_init (CamelTestSessionClass *camel_test_session_class) -{ - CamelSessionClass *camel_session_class = - CAMEL_SESSION_CLASS (camel_test_session_class); - - /* virtual method override */ - camel_session_class->register_timeout = regtimeout; - camel_session_class->remove_timeout = unregtimeout; -} - -static CamelType -camel_test_session_get_type (void) -{ - static CamelType type = CAMEL_INVALID_TYPE; - - if (type == CAMEL_INVALID_TYPE) { - type = camel_type_register ( - camel_test_session_get_type (), - "CamelTestSession", - sizeof (CamelTestSession), - sizeof (CamelTestSessionClass), - (CamelObjectClassInitFunc) class_init, - NULL, - (CamelObjectInitFunc) init, - NULL); - } - - return type; -} - -static CamelSession * -camel_test_session_new (const char *path) -{ - CamelSession *session; - - session = CAMEL_SESSION (camel_object_new (CAMEL_TEST_SESSION_TYPE)); - - camel_session_construct (session, path); - - return session; -} - - #define ARRAY_LEN(x) (sizeof(x)/sizeof(x[0])) static char *remote_providers[] = { diff --git a/camel/tests/folder/test7.c b/camel/tests/folder/test7.c index 5e5015a..2f08712 100644 --- a/camel/tests/folder/test7.c +++ b/camel/tests/folder/test7.c @@ -2,90 +2,16 @@ #include "camel-test.h" #include "messages.h" +#include "session.h" #include #include -#include #include #include #include #include -static int regtimeout() -{ - return 1; -} - -static int unregtimeout() -{ - return 1; -} - -#define CAMEL_TEST_SESSION_TYPE (camel_test_session_get_type ()) -#define CAMEL_TEST_SESSION(obj) (CAMEL_CHECK_CAST((obj), CAMEL_TEST_SESSION_TYPE, CamelTestSession)) -#define CAMEL_TEST_SESSION_CLASS(k) (CAMEL_CHECK_CLASS_CAST ((k), CAMEL_TEST_SESSION_TYPE, CamelTestSessionClass)) -#define CAMEL_TEST_IS_SESSION(o) (CAMEL_CHECK_TYPE((o), CAMEL_TEST_SESSION_TYPE)) - -typedef struct _CamelTestSession { - CamelSession parent_object; - -} CamelTestSession; - -typedef struct _CamelTestSessionClass { - CamelSessionClass parent_class; - -} CamelTestSessionClass; - -static void -init (CamelTestSession *session) -{ - ; -} - -static void -class_init (CamelTestSessionClass *camel_test_session_class) -{ - CamelSessionClass *camel_session_class = - CAMEL_SESSION_CLASS (camel_test_session_class); - - /* virtual method override */ - camel_session_class->register_timeout = regtimeout; - camel_session_class->remove_timeout = unregtimeout; -} - -static CamelType -camel_test_session_get_type (void) -{ - static CamelType type = CAMEL_INVALID_TYPE; - - if (type == CAMEL_INVALID_TYPE) { - type = camel_type_register ( - camel_test_session_get_type (), - "CamelTestSession", - sizeof (CamelTestSession), - sizeof (CamelTestSessionClass), - (CamelObjectClassInitFunc) class_init, - NULL, - (CamelObjectInitFunc) init, - NULL); - } - - return type; -} - -static CamelSession * -camel_test_session_new (const char *path) -{ - CamelSession *session; - - session = CAMEL_SESSION (camel_object_new (CAMEL_TEST_SESSION_TYPE)); - - camel_session_construct (session, path); - - return session; -} - #define ARRAY_LEN(x) (sizeof(x)/sizeof(x[0])) static char *remote_providers[] = { diff --git a/camel/tests/folder/test8.c b/camel/tests/folder/test8.c index 3b9e0ee..cf8a7ec 100644 --- a/camel/tests/folder/test8.c +++ b/camel/tests/folder/test8.c @@ -3,10 +3,10 @@ #include "camel-test.h" #include "folders.h" #include "messages.h" +#include "session.h" #include #include -#include #include #define MAX_MESSAGES (100) @@ -25,68 +25,6 @@ int main(int argc, char **argv) #include -#define CAMEL_TEST_SESSION_TYPE (camel_test_session_get_type ()) -#define CAMEL_TEST_SESSION(obj) (CAMEL_CHECK_CAST((obj), CAMEL_TEST_SESSION_TYPE, CamelTestSession)) -#define CAMEL_TEST_SESSION_CLASS(k) (CAMEL_CHECK_CLASS_CAST ((k), CAMEL_TEST_SESSION_TYPE, CamelTestSessionClass)) -#define CAMEL_TEST_IS_SESSION(o) (CAMEL_CHECK_TYPE((o), CAMEL_TEST_SESSION_TYPE)) - -typedef struct _CamelTestSession { - CamelSession parent_object; - -} CamelTestSession; - -typedef struct _CamelTestSessionClass { - CamelSessionClass parent_class; - -} CamelTestSessionClass; - -static void -init (CamelTestSession *session) -{ - ; -} - -static void -class_init (CamelTestSessionClass *camel_test_session_class) -{ - CamelSessionClass *camel_session_class = - CAMEL_SESSION_CLASS (camel_test_session_class); - - /* virtual method override */ -} - -static CamelType -camel_test_session_get_type (void) -{ - static CamelType type = CAMEL_INVALID_TYPE; - - if (type == CAMEL_INVALID_TYPE) { - type = camel_type_register ( - camel_test_session_get_type (), - "CamelTestSession", - sizeof (CamelTestSession), - sizeof (CamelTestSessionClass), - (CamelObjectClassInitFunc) class_init, - NULL, - (CamelObjectInitFunc) init, - NULL); - } - - return type; -} - -static CamelSession * -camel_test_session_new (const char *path) -{ - CamelSession *session; - - session = CAMEL_SESSION (camel_object_new (CAMEL_TEST_SESSION_TYPE)); - - camel_session_construct (session, path); - - return session; -} - #define ARRAY_LEN(x) (sizeof(x)/sizeof(x[0])) static char *local_providers[] = { diff --git a/camel/tests/folder/test9.c b/camel/tests/folder/test9.c index f96773d..cd65143 100644 --- a/camel/tests/folder/test9.c +++ b/camel/tests/folder/test9.c @@ -3,10 +3,10 @@ #include "camel-test.h" #include "messages.h" #include "folders.h" +#include "session.h" #include "camel/camel-exception.h" #include "camel/camel-service.h" -#include "camel/camel-session.h" #include "camel/camel-store.h" #include "camel/camel-folder.h" @@ -17,68 +17,6 @@ #define ARRAY_LEN(x) (sizeof(x)/sizeof(x[0])) -#define CAMEL_TEST_SESSION_TYPE (camel_test_session_get_type ()) -#define CAMEL_TEST_SESSION(obj) (CAMEL_CHECK_CAST((obj), CAMEL_TEST_SESSION_TYPE, CamelTestSession)) -#define CAMEL_TEST_SESSION_CLASS(k) (CAMEL_CHECK_CLASS_CAST ((k), CAMEL_TEST_SESSION_TYPE, CamelTestSessionClass)) -#define CAMEL_TEST_IS_SESSION(o) (CAMEL_CHECK_TYPE((o), CAMEL_TEST_SESSION_TYPE)) - -typedef struct _CamelTestSession { - CamelSession parent_object; - -} CamelTestSession; - -typedef struct _CamelTestSessionClass { - CamelSessionClass parent_class; - -} CamelTestSessionClass; - -static void -init (CamelTestSession *session) -{ - ; -} - -static void -class_init (CamelTestSessionClass *camel_test_session_class) -{ - CamelSessionClass *camel_session_class = - CAMEL_SESSION_CLASS (camel_test_session_class); - - /* virtual method override */ -} - -static CamelType -camel_test_session_get_type (void) -{ - static CamelType type = CAMEL_INVALID_TYPE; - - if (type == CAMEL_INVALID_TYPE) { - type = camel_type_register ( - camel_test_session_get_type (), - "CamelTestSession", - sizeof (CamelTestSession), - sizeof (CamelTestSessionClass), - (CamelObjectClassInitFunc) class_init, - NULL, - (CamelObjectInitFunc) init, - NULL); - } - - return type; -} - -static CamelSession * -camel_test_session_new (const char *path) -{ - CamelSession *session; - - session = CAMEL_SESSION (camel_object_new (CAMEL_TEST_SESSION_TYPE)); - - camel_session_construct (session, path); - - return session; -} - struct { char *name; CamelFolder *folder; diff --git a/camel/tests/lib/Makefile.am b/camel/tests/lib/Makefile.am index ea51a2c..c3da5e3 100644 --- a/camel/tests/lib/Makefile.am +++ b/camel/tests/lib/Makefile.am @@ -8,6 +8,7 @@ libcameltest_a_SOURCES = \ messages.c messages.h \ addresses.c addresses.h \ folders.c folders.h \ + session.c session.h \ streams.c streams.h \ address-data.h diff --git a/camel/tests/lib/folders.c b/camel/tests/lib/folders.c index ba02001..31d2420 100644 --- a/camel/tests/lib/folders.c +++ b/camel/tests/lib/folders.c @@ -193,7 +193,7 @@ test_folder_basic(CamelSession *session, const char *storename, int local) { CamelStore *store; CamelException *ex = camel_exception_new(); - CamelFolder *folder, *root; + CamelFolder *folder; char *what = g_strdup_printf("testing store: %s", storename); camel_test_start(what); @@ -205,31 +205,17 @@ test_folder_basic(CamelSession *session, const char *storename, int local) check(store != NULL); pull(); - /* local providers == no root folder */ - push("getting root folder"); - root = camel_store_get_root_folder(store, ex); + /* local providers == no inbox */ + push("getting inbox folder"); + folder = camel_store_get_inbox(store, ex); if (local) { check(camel_exception_is_set(ex)); - check(root == NULL); + check(folder == NULL); camel_exception_clear(ex); } else { check_msg(!camel_exception_is_set(ex), "%s", camel_exception_get_description(ex)); - check(root != NULL); - check_unref(root, 1); - } - pull(); - - /* same for default folder */ - push("getting default folder"); - root = camel_store_get_root_folder(store, ex); - if (local) { - check(camel_exception_is_set(ex)); - check(root == NULL); - camel_exception_clear(ex); - } else { - check_msg(!camel_exception_is_set(ex), "%s", camel_exception_get_description(ex)); - check(root != NULL); - check_unref(root, 1); + check(folder != NULL); + check_unref(folder, 1); } pull(); diff --git a/camel/tests/lib/messages.c b/camel/tests/lib/messages.c index a8c8b30..21d7758 100644 --- a/camel/tests/lib/messages.c +++ b/camel/tests/lib/messages.c @@ -115,6 +115,7 @@ test_message_read_file(const char *name) camel_data_wrapper_construct_from_stream((CamelDataWrapper *)msg2, (CamelStream *)file); /* file's refcount may be > 1 if the message is real big */ check(CAMEL_OBJECT(file)->ref_count >=1); + camel_object_unref((CamelObject *)file); return msg2; } diff --git a/camel/tests/lib/session.c b/camel/tests/lib/session.c new file mode 100644 index 0000000..2ebf6e2 --- /dev/null +++ b/camel/tests/lib/session.c @@ -0,0 +1,59 @@ +#include "session.h" + +static guint +register_timeout (CamelSession *session, guint32 interval, CamelTimeoutCallback callback, gpointer user_data) +{ + return 1; +} + +static gboolean +unregister_timeout (CamelSession *session, guint handle) +{ + return TRUE; +} + + +static void +class_init (CamelTestSessionClass *camel_test_session_class) +{ + CamelSessionClass *camel_session_class = + CAMEL_SESSION_CLASS (camel_test_session_class); + + /* virtual method override */ + camel_session_class->register_timeout = register_timeout; + camel_session_class->remove_timeout = unregister_timeout; +} + +CamelType +camel_test_session_get_type (void) +{ + static CamelType type = CAMEL_INVALID_TYPE; + + if (type == CAMEL_INVALID_TYPE) { + type = camel_type_register ( + camel_session_get_type (), + "CamelTestSession", + sizeof (CamelTestSession), + sizeof (CamelTestSessionClass), + (CamelObjectClassInitFunc) class_init, + NULL, + NULL, + NULL); + } + + return type; +} + +CamelSession * +camel_test_session_new (const char *path) +{ + CamelSession *session; + + session = CAMEL_SESSION (camel_object_new (CAMEL_TEST_SESSION_TYPE)); + + camel_session_construct (session, path); + + return session; +} + + diff --git a/camel/tests/lib/session.h b/camel/tests/lib/session.h new file mode 100644 index 0000000..e69ef65 --- /dev/null +++ b/camel/tests/lib/session.h @@ -0,0 +1,19 @@ +#include + +#define CAMEL_TEST_SESSION_TYPE (camel_test_session_get_type ()) +#define CAMEL_TEST_SESSION(obj) (CAMEL_CHECK_CAST((obj), CAMEL_TEST_SESSION_TYPE, CamelTestSession)) +#define CAMEL_TEST_SESSION_CLASS(k) (CAMEL_CHECK_CLASS_CAST ((k), CAMEL_TEST_SESSION_TYPE, CamelTestSessionClass)) +#define CAMEL_TEST_IS_SESSION(o) (CAMEL_CHECK_TYPE((o), CAMEL_TEST_SESSION_TYPE)) + +typedef struct _CamelTestSession { + CamelSession parent_object; + +} CamelTestSession; + +typedef struct _CamelTestSessionClass { + CamelSessionClass parent_class; + +} CamelTestSessionClass; + +CamelType camel_test_session_get_type (void); +CamelSession *camel_test_session_new (const char *path); diff --git a/camel/tests/misc/.cvsignore b/camel/tests/misc/.cvsignore index 3fa8afa..7ef94ab 100644 --- a/camel/tests/misc/.cvsignore +++ b/camel/tests/misc/.cvsignore @@ -9,3 +9,4 @@ Makefile.in *.bbg *.da *.gcov +url \ No newline at end of file diff --git a/camel/tests/misc/url.c b/camel/tests/misc/url.c index cc61ef3..6a58327 100644 --- a/camel/tests/misc/url.c +++ b/camel/tests/misc/url.c @@ -5,6 +5,7 @@ #include #include #include +#include #include "camel-test.h" @@ -59,6 +60,7 @@ int main (int argc, char **argv) { CamelURL *base_url, *url; + CamelException ex; char *url_string; int i; @@ -67,9 +69,12 @@ main (int argc, char **argv) camel_test_start ("RFC1808 relative URL parsing"); camel_test_push ("base URL parsing"); - base_url = camel_url_new (base); - if (!base_url) - camel_test_fail ("Could not parse %s\n", base); + camel_exception_clear (&ex); + base_url = camel_url_new (base, &ex); + if (!base_url) { + camel_test_fail ("Could not parse %s: %s\n", base, + camel_exception_get_description (&ex)); + } camel_test_pull (); camel_test_push ("base URL unparsing"); diff --git a/camel/tests/stream/.cvsignore b/camel/tests/stream/.cvsignore index 3fa8afa..36f9336 100644 --- a/camel/tests/stream/.cvsignore +++ b/camel/tests/stream/.cvsignore @@ -9,3 +9,6 @@ Makefile.in *.bbg *.da *.gcov +test1 +test2 +test3