177 size_t len = strlen(str); |
177 size_t len = strlen(str); |
178 char *str2 = strdup("x4\r\n\r\n123\r\n"); |
178 char *str2 = strdup("x4\r\n\r\n123\r\n"); |
179 size_t len2 = strlen(str2); |
179 size_t len2 = strlen(str2); |
180 char *str3 = strdup("\r\n\r\n123\r\n"); |
180 char *str3 = strdup("\r\n\r\n123\r\n"); |
181 size_t len3 = strlen(str3); |
181 size_t len3 = strlen(str3); |
|
182 char *str4 = strdup("\r\n\r\nx123\r\n"); |
|
183 size_t len4 = strlen(str3); |
|
184 char *str5 = strdup("\r\n\r\n1 2 3\r\n"); |
|
185 size_t len5 = strlen(str3); |
|
186 char *str6 = strdup("\r\n\r\n1 23\r\n"); |
|
187 size_t len6 = strlen(str3); |
182 |
188 |
183 UCX_TEST_BEGIN; |
189 UCX_TEST_BEGIN; |
184 |
190 |
185 int64_t chunklen; |
191 int64_t chunklen; |
186 int ret; |
192 int ret; |
197 |
203 |
198 ret = http_stream_parse_chunk_header(str3, len3, TRUE, &chunklen); |
204 ret = http_stream_parse_chunk_header(str3, len3, TRUE, &chunklen); |
199 UCX_TEST_ASSERT(ret == -1, "ret != -1 (test 3a)"); |
205 UCX_TEST_ASSERT(ret == -1, "ret != -1 (test 3a)"); |
200 ret = http_stream_parse_chunk_header(str3, len3, FALSE, &chunklen); |
206 ret = http_stream_parse_chunk_header(str3, len3, FALSE, &chunklen); |
201 UCX_TEST_ASSERT(ret == -1, "ret != -1 (test 3b)"); |
207 UCX_TEST_ASSERT(ret == -1, "ret != -1 (test 3b)"); |
|
208 |
|
209 ret = http_stream_parse_chunk_header(str4, len4, TRUE, &chunklen); |
|
210 UCX_TEST_ASSERT(ret == -1, "ret != -1 (test 4a)"); |
|
211 ret = http_stream_parse_chunk_header(str4, len4, FALSE, &chunklen); |
|
212 UCX_TEST_ASSERT(ret == -1, "ret != -1 (test 4b)"); |
|
213 |
|
214 ret = http_stream_parse_chunk_header(str5, len5, TRUE, &chunklen); |
|
215 UCX_TEST_ASSERT(ret == -1, "ret != -1 (test 5a)"); |
|
216 ret = http_stream_parse_chunk_header(str5, len5, FALSE, &chunklen); |
|
217 UCX_TEST_ASSERT(ret == -1, "ret != -1 (test 5b)"); |
|
218 |
|
219 ret = http_stream_parse_chunk_header(str6, len6, TRUE, &chunklen); |
|
220 UCX_TEST_ASSERT(ret == -1, "ret != -1 (test 6a)"); |
|
221 ret = http_stream_parse_chunk_header(str6, len6, FALSE, &chunklen); |
|
222 UCX_TEST_ASSERT(ret == -1, "ret != -1 (test 6b)"); |
202 |
223 |
203 UCX_TEST_END; |
224 UCX_TEST_END; |
204 free(str); |
225 free(str); |
205 free(str2); |
226 free(str2); |
206 free(str3); |
227 free(str3); |
|
228 free(str4); |
|
229 free(str5); |
|
230 free(str6); |
207 } |
231 } |
208 |
232 |
209 UCX_TEST(test_io_http_stream_parse_chunk_header_zero) { |
233 UCX_TEST(test_io_http_stream_parse_chunk_header_zero) { |
210 char *str = strdup("\r\n0\r\n\r\n"); |
234 char *str = strdup("\r\n0\r\n\r\n"); |
211 size_t len = strlen(str); |
235 size_t len = strlen(str); |