1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
|
/* store testing, for remote folders */
#include "camel-test.h"
#include "folders.h"
#include <camel/camel-exception.h>
#include <camel/camel-service.h>
#include <camel/camel-session.h>
#include <camel/camel-store.h>
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[] = {
"NNTP_TEST_URL",
};
int main(int argc, char **argv)
{
CamelSession *session;
CamelException *ex;
int i;
char *path;
camel_test_init(argc, argv);
ex = camel_exception_new();
/* clear out any camel-test data */
system("/bin/rm -rf /tmp/camel-test");
session = camel_test_session_new ("/tmp/camel-test");
/* todo: cross-check everything with folder_info checks as well */
/* todo: subscriptions? */
for (i=0;i<ARRAY_LEN(remote_providers);i++) {
path = getenv(remote_providers[i]);
if (path == NULL) {
printf("Aborted (ignored).\n");
printf("Set '%s', to re-run test.\n", remote_providers[i]);
/* tells make check to ignore us in the total count */
_exit(77);
}
camel_test_nonfatal("Not sure how many tests apply to NNTP");
test_folder_basic(session, path, FALSE);
camel_test_fatal();
}
camel_object_unref((CamelObject *)session);
camel_exception_free(ex);
return 0;
}
|