aboutsummaryrefslogtreecommitdiff
path: root/src/fs/test_fs_directory.c
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2011-08-15 21:46:35 +0000
committerChristian Grothoff <christian@grothoff.org>2011-08-15 21:46:35 +0000
commit502af2167f7c218366666ca4944bd7cc54b5b19a (patch)
treea91fec5cc9769d260640bd91c6633cb9cf395524 /src/fs/test_fs_directory.c
parent03af5a603b7cc53432249d5854cd412aa90dde0d (diff)
downloadgnunet-502af2167f7c218366666ca4944bd7cc54b5b19a.tar.gz
gnunet-502af2167f7c218366666ca4944bd7cc54b5b19a.zip
indentation
Diffstat (limited to 'src/fs/test_fs_directory.c')
-rw-r--r--src/fs/test_fs_directory.c165
1 files changed, 78 insertions, 87 deletions
diff --git a/src/fs/test_fs_directory.c b/src/fs/test_fs_directory.c
index b32628b73..d8a9c63b6 100644
--- a/src/fs/test_fs_directory.c
+++ b/src/fs/test_fs_directory.c
@@ -42,27 +42,26 @@ struct PCLS
42 42
43static void 43static void
44processor (void *cls, 44processor (void *cls,
45 const char *filename, 45 const char *filename,
46 const struct GNUNET_FS_Uri *uri, 46 const struct GNUNET_FS_Uri *uri,
47 const struct GNUNET_CONTAINER_MetaData *md, 47 const struct GNUNET_CONTAINER_MetaData *md,
48 size_t length, 48 size_t length, const void *data)
49 const void *data)
50{ 49{
51 struct PCLS *p = cls; 50 struct PCLS *p = cls;
52 int i; 51 int i;
53 52
54 if (NULL == uri) 53 if (NULL == uri)
55 return; /* ignore directory's meta data */ 54 return; /* ignore directory's meta data */
56 for (i = 0; i < p->max; i++) 55 for (i = 0; i < p->max; i++)
56 {
57 if (GNUNET_CONTAINER_meta_data_test_equal (p->md[i],
58 md) &&
59 GNUNET_FS_uri_test_equal (p->uri[i], uri))
57 { 60 {
58 if (GNUNET_CONTAINER_meta_data_test_equal (p->md[i], 61 p->pos++;
59 md) && 62 return;
60 GNUNET_FS_uri_test_equal (p->uri[i], uri))
61 {
62 p->pos++;
63 return;
64 }
65 } 63 }
64 }
66 fprintf (stderr, "Error at %s:%d\n", __FILE__, __LINE__); 65 fprintf (stderr, "Error at %s:%d\n", __FILE__, __LINE__);
67} 66}
68 67
@@ -86,89 +85,81 @@ testDirectory (unsigned int i)
86 char *s; 85 char *s;
87 86
88 cls.max = i; 87 cls.max = i;
89 uris = GNUNET_malloc (sizeof (struct GNUNET_FS_Uri*) * i); 88 uris = GNUNET_malloc (sizeof (struct GNUNET_FS_Uri *) * i);
90 mds = GNUNET_malloc (sizeof (struct GNUNET_CONTAINER_MetaData*) * i); 89 mds = GNUNET_malloc (sizeof (struct GNUNET_CONTAINER_MetaData *) * i);
91 meta = GNUNET_CONTAINER_meta_data_create (); 90 meta = GNUNET_CONTAINER_meta_data_create ();
92 GNUNET_CONTAINER_meta_data_insert (meta, 91 GNUNET_CONTAINER_meta_data_insert (meta,
93 "<test>", 92 "<test>",
94 EXTRACTOR_METATYPE_TITLE, 93 EXTRACTOR_METATYPE_TITLE,
95 EXTRACTOR_METAFORMAT_UTF8, 94 EXTRACTOR_METAFORMAT_UTF8,
96 "text/plain", 95 "text/plain",
97 "A title", 96 "A title", strlen ("A title") + 1);
98 strlen("A title")+1); 97 GNUNET_CONTAINER_meta_data_insert (meta,
99 GNUNET_CONTAINER_meta_data_insert (meta, 98 "<test>",
100 "<test>", 99 EXTRACTOR_METATYPE_AUTHOR_NAME,
101 EXTRACTOR_METATYPE_AUTHOR_NAME, 100 EXTRACTOR_METAFORMAT_UTF8,
102 EXTRACTOR_METAFORMAT_UTF8, 101 "text/plain",
103 "text/plain", 102 "An author", strlen ("An author") + 1);
104 "An author",
105 strlen ("An author")+1);
106 for (p = 0; p < i; p++) 103 for (p = 0; p < i; p++)
104 {
105 mds[p] = GNUNET_CONTAINER_meta_data_create ();
106 for (q = 0; q <= p; q++)
107 { 107 {
108 mds[p] = GNUNET_CONTAINER_meta_data_create (); 108 GNUNET_snprintf (txt, sizeof (txt), "%u -- %u\n", p, q);
109 for (q = 0; q <= p; q++) 109 GNUNET_CONTAINER_meta_data_insert (mds[p],
110 { 110 "<test>",
111 GNUNET_snprintf (txt, sizeof(txt), "%u -- %u\n", p, q); 111 q % EXTRACTOR_metatype_get_max (),
112 GNUNET_CONTAINER_meta_data_insert (mds[p], 112 EXTRACTOR_METAFORMAT_UTF8,
113 "<test>", 113 "text/plain", txt, strlen (txt) + 1);
114 q % EXTRACTOR_metatype_get_max (),
115 EXTRACTOR_METAFORMAT_UTF8,
116 "text/plain",
117 txt,
118 strlen(txt)+1);
119 }
120 GNUNET_snprintf (uri,
121 sizeof(uri),
122 "gnunet://fs/chk/C282GG70GKK41O4551011DO413KFBVTVMQG1OG30I0K4045N0G41HAPB82G680A02JRVVFO8URVRU2F159011DO41000000022RG820.RNVVVVOOLCLK065B5D04HTNVNSIB2AI022RG8200HSLK1CO1000ATQ98824DMA2032LIMG50CG0K057NVUVG200000H000004400000.%u",
123 p);
124 emsg = NULL;
125 uris[p] = GNUNET_FS_uri_parse (uri, &emsg);
126 if (uris[p] == NULL)
127 {
128 GNUNET_CONTAINER_meta_data_destroy (mds[p]);
129 while (--p > 0)
130 {
131 GNUNET_CONTAINER_meta_data_destroy (mds[p]);
132 GNUNET_FS_uri_destroy (uris[p]);
133 }
134 GNUNET_free (mds);
135 GNUNET_free (uris);
136 GNUNET_free (emsg);
137 GNUNET_CONTAINER_meta_data_destroy (meta);
138 ABORT (); /* error in testcase */
139 }
140 GNUNET_assert (emsg == NULL);
141 } 114 }
115 GNUNET_snprintf (uri,
116 sizeof (uri),
117 "gnunet://fs/chk/C282GG70GKK41O4551011DO413KFBVTVMQG1OG30I0K4045N0G41HAPB82G680A02JRVVFO8URVRU2F159011DO41000000022RG820.RNVVVVOOLCLK065B5D04HTNVNSIB2AI022RG8200HSLK1CO1000ATQ98824DMA2032LIMG50CG0K057NVUVG200000H000004400000.%u",
118 p);
119 emsg = NULL;
120 uris[p] = GNUNET_FS_uri_parse (uri, &emsg);
121 if (uris[p] == NULL)
122 {
123 GNUNET_CONTAINER_meta_data_destroy (mds[p]);
124 while (--p > 0)
125 {
126 GNUNET_CONTAINER_meta_data_destroy (mds[p]);
127 GNUNET_FS_uri_destroy (uris[p]);
128 }
129 GNUNET_free (mds);
130 GNUNET_free (uris);
131 GNUNET_free (emsg);
132 GNUNET_CONTAINER_meta_data_destroy (meta);
133 ABORT (); /* error in testcase */
134 }
135 GNUNET_assert (emsg == NULL);
136 }
142 start = GNUNET_TIME_absolute_get (); 137 start = GNUNET_TIME_absolute_get ();
143 db = GNUNET_FS_directory_builder_create (meta); 138 db = GNUNET_FS_directory_builder_create (meta);
144 for (p = 0; p < i; p++) 139 for (p = 0; p < i; p++)
145 GNUNET_FS_directory_builder_add (db, uris[p], mds[p], NULL); 140 GNUNET_FS_directory_builder_add (db, uris[p], mds[p], NULL);
146 GNUNET_FS_directory_builder_finish (db, 141 GNUNET_FS_directory_builder_finish (db, &dlen, (void **) &data);
147 &dlen, 142 s = GNUNET_STRINGS_relative_time_to_string (GNUNET_TIME_absolute_get_duration
148 (void**) &data); 143 (start));
149 s = GNUNET_STRINGS_relative_time_to_string (GNUNET_TIME_absolute_get_duration (start));
150 fprintf (stdout, 144 fprintf (stdout,
151 "Creating directory with %u entires and total size %llu took %s\n", 145 "Creating directory with %u entires and total size %llu took %s\n",
152 i, 146 i, (unsigned long long) dlen, s);
153 (unsigned long long) dlen,
154 s);
155 GNUNET_free (s); 147 GNUNET_free (s);
156 if (i < 100) 148 if (i < 100)
157 { 149 {
158 cls.pos = 0; 150 cls.pos = 0;
159 cls.uri = uris; 151 cls.uri = uris;
160 cls.md = mds; 152 cls.md = mds;
161 GNUNET_FS_directory_list_contents (dlen, data, 0, 153 GNUNET_FS_directory_list_contents (dlen, data, 0, &processor, &cls);
162 &processor, &cls); 154 GNUNET_assert (cls.pos == i);
163 GNUNET_assert (cls.pos == i); 155 }
164 }
165 GNUNET_free (data); 156 GNUNET_free (data);
166 GNUNET_CONTAINER_meta_data_destroy (meta); 157 GNUNET_CONTAINER_meta_data_destroy (meta);
167 for (p = 0; p < i; p++) 158 for (p = 0; p < i; p++)
168 { 159 {
169 GNUNET_CONTAINER_meta_data_destroy (mds[p]); 160 GNUNET_CONTAINER_meta_data_destroy (mds[p]);
170 GNUNET_FS_uri_destroy (uris[p]); 161 GNUNET_FS_uri_destroy (uris[p]);
171 } 162 }
172 GNUNET_free (uris); 163 GNUNET_free (uris);
173 GNUNET_free (mds); 164 GNUNET_free (mds);
174 return ret; 165 return ret;
@@ -181,15 +172,15 @@ main (int argc, char *argv[])
181 int failureCount = 0; 172 int failureCount = 0;
182 int i; 173 int i;
183 174
184 GNUNET_log_setup ("test_fs_directory", 175 GNUNET_log_setup ("test_fs_directory",
185#if VERBOSE 176#if VERBOSE
186 "DEBUG", 177 "DEBUG",
187#else 178#else
188 "WARNING", 179 "WARNING",
189#endif 180#endif
190 NULL); 181 NULL);
191 for (i = 17; i < 1000; i *= 2) 182 for (i = 17; i < 1000; i *= 2)
192 failureCount += testDirectory (i); 183 failureCount += testDirectory (i);
193 if (failureCount != 0) 184 if (failureCount != 0)
194 return 1; 185 return 1;
195 return 0; 186 return 0;