Adapt libecal to the new ESource API.
[platform/upstream/evolution-data-server.git] / tests / libecal / client / test-client-stress-factory--single-cal.c
1 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
2
3 #include <stdlib.h>
4 #include <libecal/e-cal-client.h>
5
6 #include "client-test-utils.h"
7
8 #define NUM_OPENS 200
9
10 gint
11 main (gint argc,
12       gchar **argv)
13 {
14 #if 0  /* ACCOUNT_MGMT */
15         ECalClientSourceType source_type = E_CAL_CLIENT_SOURCE_TYPE_EVENTS;
16         gchar *uri = NULL;
17         ECalClient *cal_client;
18         GError *error = NULL;
19         gint ii;
20
21         main_initialize ();
22
23         cal_client = new_temp_client (source_type, &uri);
24         g_return_val_if_fail (cal_client != NULL, 1);
25         g_return_val_if_fail (uri != NULL, 1);
26
27         g_object_unref (cal_client);
28
29         /* open and close the same cal repeatedly */
30         for (ii = 0; ii < NUM_OPENS; ii++) {
31                 cal_client = e_cal_client_new_from_uri (uri, source_type, &error);
32                 if (!cal_client) {
33                         report_error ("new from uri", &error);
34                         break;
35                 }
36
37                 if (!e_client_open_sync (E_CLIENT (cal_client), FALSE, NULL, &error)) {
38                         report_error ("client open sync", &error);
39                         g_object_unref (cal_client);
40                         break;
41                 }
42
43                 g_object_unref (cal_client);
44         }
45
46         cal_client = e_cal_client_new_from_uri (uri, source_type, &error);
47         if (!cal_client) {
48                 g_clear_error (&error);
49         } else if (!e_client_open_sync (E_CLIENT (cal_client), FALSE, NULL, &error)) {
50                 report_error ("client open sync", &error);
51                 g_object_unref (cal_client);
52                 g_free (uri);
53                 return 1;
54         } else  if (!e_client_remove_sync (E_CLIENT (cal_client), NULL, &error)) {
55                 report_error ("client remove sync", &error);
56                 g_object_unref (cal_client);
57                 g_free (uri);
58                 return 1;
59         }
60
61         g_free (uri);
62         g_object_unref (cal_client);
63
64         return ii == NUM_OPENS ? 0 : 1;
65 #endif /* ACCOUNT_MGMT */
66
67         return 0;
68 }