From b4ce60de590241ef8f5fcdb30b3ae82e0ac148ac Mon Sep 17 00:00:00 2001 From: c9s Date: Mon, 2 Jun 2014 08:13:19 +0800 Subject: [PATCH 01/12] separate check_str_array test cases --- tests/Makefile.am | 3 +++ tests/check_str_array.c | 53 +++++++++++++++++++++++++++++++++++++++++ tests/check_tree.c | 23 ------------------ 3 files changed, 56 insertions(+), 23 deletions(-) create mode 100644 tests/check_str_array.c diff --git a/tests/Makefile.am b/tests/Makefile.am index 8b3a270..555b867 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -21,6 +21,9 @@ check_slug_SOURCES = check_slug.c TESTS += check_tree check_tree_SOURCES = check_tree.c +TESTS += check_str_array +check_str_array_SOURCES = check_str_array.c + if ENABLE_JSON TESTS += check_json diff --git a/tests/check_str_array.c b/tests/check_str_array.c new file mode 100644 index 0000000..911591e --- /dev/null +++ b/tests/check_str_array.c @@ -0,0 +1,53 @@ +/* + * check_str_array.c + * Copyright (C) 2014 c9s + * + * Distributed under terms of the MIT license. + */ +#include "config.h" +#include +#include +#include +#include "r3.h" +#include "r3_str.h" +#include "zmalloc.h" + +START_TEST (test_str_array) +{ + str_array * l = str_array_create(3); + ck_assert(l); + + ck_assert(str_array_append(l, zstrdup("abc"))); + ck_assert( l->len == 1 ); + + ck_assert(str_array_append(l, zstrdup("foo") )); + ck_assert( l->len == 2 ); + + ck_assert( str_array_append(l, zstrdup("bar") ) ); + ck_assert( l->len == 3 ); + + ck_assert( str_array_append(l, zstrdup("zoo") ) ); + ck_assert( l->len == 4 ); + + ck_assert( str_array_resize(l, l->cap * 2) ); + str_array_free(l); +} +END_TEST + +Suite* r3_suite (void) { + Suite *suite = suite_create("str_array test"); + TCase *tcase = tcase_create("testcase"); + tcase_add_test(tcase, test_str_array); + suite_add_tcase(suite, tcase); + return suite; +} + +int main (int argc, char *argv[]) { + int number_failed; + Suite *suite = r3_suite(); + SRunner *runner = srunner_create(suite); + srunner_run_all(runner, CK_NORMAL); + number_failed = srunner_ntests_failed(runner); + srunner_free(runner); + return number_failed; +} diff --git a/tests/check_tree.c b/tests/check_tree.c index 5bb381a..47fe795 100644 --- a/tests/check_tree.c +++ b/tests/check_tree.c @@ -277,28 +277,6 @@ END_TEST -START_TEST (test_str_array) -{ - str_array * l = str_array_create(3); - ck_assert(l); - - ck_assert(str_array_append(l, zstrdup("abc"))); - ck_assert( l->len == 1 ); - - ck_assert(str_array_append(l, zstrdup("foo") )); - ck_assert( l->len == 2 ); - - fail_if( FALSE == str_array_append(l, zstrdup("bar") ) ); - fail_if( l->len != 3 ); - - fail_if( FALSE == str_array_append(l, zstrdup("zoo") ) ); - fail_if( l->len != 4 ); - - fail_if( FALSE == str_array_resize(l, l->cap * 2) ); - - str_array_free(l); -} -END_TEST START_TEST(test_route_cmp) { @@ -422,7 +400,6 @@ Suite* r3_suite (void) { TCase *tcase = tcase_create("testcase"); tcase_add_test(tcase, test_r3_node_construct_and_free); - tcase_add_test(tcase, test_str_array); tcase_add_test(tcase, test_ltrim_slash); tcase_add_test(tcase, testr3_tree_insert_pathl); tcase_add_test(tcase, test_compile); From 9f58a5b6511001243523dadff5995a78c80f4043 Mon Sep 17 00:00:00 2001 From: c9s Date: Mon, 2 Jun 2014 08:19:44 +0800 Subject: [PATCH 02/12] comment for the function --- src/node.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/node.c b/src/node.c index 4a7b126..b63f8ca 100644 --- a/src/node.c +++ b/src/node.c @@ -82,6 +82,11 @@ void r3_tree_free(node * tree) { tree = NULL; } + + +/** + * Connect two node objects, and create an edge object between them. + */ edge * r3_node_connectl(node * n, const char * pat, int len, int dupl, node *child) { // find the same sub-pattern, if it does not exist, create one edge * e; @@ -118,10 +123,13 @@ void r3_node_append_edge(node *n, edge *e) { /** * Find the existing edge with specified pattern (include slug) + * + * if "pat" is a slug, we should compare with the specified pattern. */ edge * r3_node_find_edge(const node * n, const char * pat, int pat_len) { edge * e; - for (int i = 0 ; i < n->edge_len ; i++ ) { + int i; + for (i = 0 ; i < n->edge_len ; i++ ) { e = n->edges[i]; // there is a case: "{foo}" vs "{foo:xxx}", From fd1e5f7f50ceb3e265d6bc1089a52d966134b91b Mon Sep 17 00:00:00 2001 From: c9s Date: Mon, 2 Jun 2014 09:09:41 +0800 Subject: [PATCH 03/12] Add r3_node_find_common_prefix test cases --- include/r3.h | 2 ++ src/node.c | 76 +++++++++++++++++++++++++++++++++++++++++++--- src/slug.c | 15 +++++---- src/slug.h | 2 +- tests/check_slug.c | 20 +++++++----- tests/check_tree.c | 63 ++++++++++++++++++++++++++++++++++++++ 6 files changed, 156 insertions(+), 22 deletions(-) diff --git a/include/r3.h b/include/r3.h index 0d22c52..ea9f356 100644 --- a/include/r3.h +++ b/include/r3.h @@ -109,6 +109,8 @@ edge * r3_node_find_edge(const node * n, const char * pat, int pat_len); void r3_node_append_edge(node *n, edge *child); +edge * r3_node_find_common_prefix(node *n, char *path, int path_len, int *prefix_len); + node * r3_tree_insert_pathl(node *tree, const char *path, int path_len, void * data); route * r3_tree_insert_routel(node *tree, int method, const char *path, int path_len, void *data); diff --git a/src/node.c b/src/node.c index b63f8ca..d7cb14e 100644 --- a/src/node.c +++ b/src/node.c @@ -480,25 +480,90 @@ node * r3_tree_insert_pathl(node *tree, const char *path, int path_len, void * d } +/** + * Find common prefix from the edges of the node. + * + * Some cases of the common prefix: + * + * 1. "/foo/{slug}" vs "/foo/bar" => common prefix = "/foo/" + * 2. "{slug}/hate" vs "{slug}/bar" => common prefix = "{slug}/" + * 2. "/z/{slug}/hate" vs "/z/{slog}/bar" => common prefix = "/z/" + * 3. "{slug:xxx}/hate" vs "{slug:yyy}/bar" => common prefix = "" + * 4. "aaa{slug:xxx}/hate" vs "aab{slug:yyy}/bar" => common prefix = "aa" + * 5. "/foo/{slug}/hate" vs "/fo{slug}/bar" => common prefix = "/fo" + */ +edge * r3_node_find_common_prefix(node *n, char *path, int path_len, int *prefix_len) { + int i = 0; + int prefix = 0; + edge *e = NULL; + for(i = 0 ; i < n->edge_len ; i++ ) { + // ignore all edges with slug + prefix = strndiff( (char*) path, n->edges[i]->pattern, n->edges[i]->pattern_len); + + // no common, consider insert a new edge + if ( prefix > 0 ) { + e = n->edges[i]; + break; + } + } + + // found common prefix edge + if (prefix > 0) { + r3_slug_t *slug; + int ret = 0; + char *p = NULL; + char *offset = NULL; + + offset = path; + p = path + prefix; + + slug = r3_slug_new(path, path_len); + + do { + ret = r3_slug_parse(slug, path, path_len, path, NULL); + // found slug + if (ret == 1) { + // inside slug, backtrace to the begin of the slug + if ( p >= slug->begin && p <= slug->end ) { + prefix = slug->begin - path - 1; + break; + } else if ( p < slug->begin ) { + break; + } else if ( p > slug->end && p < (path + path_len) ) { + offset = slug->end; + continue; + // XXX: see if it's in another slug + } else { + break; + } + } + } while(ret == 1); + } + + *prefix_len = prefix; + return e; +} + + + + /** * Return the last inserted node. */ node * r3_tree_insert_pathl_(node *tree, const char *path, int path_len, route * route, void * data, char **errstr) { node * n = tree; + + + // common edge edge * e = NULL; /* length of common prefix */ int prefix_len = 0; for( int i = 0 ; i < n->edge_len ; i++ ) { // ignore all edges with slug - if (n->edges[i]->has_slug) - continue; - prefix_len = strndiff( (char*) path, n->edges[i]->pattern, n->edges[i]->pattern_len); - // printf("prefix_len: %d %s vs %s\n", prefix_len, path, n->edges[i]->pattern ); - // no common, consider insert a new edge if ( prefix_len > 0 ) { e = n->edges[i]; @@ -506,6 +571,7 @@ node * r3_tree_insert_pathl_(node *tree, const char *path, int path_len, route * } } + // branch the edge at correct position (avoid broken slugs) const char *slug_s; if ( (slug_s = inside_slug(path, path_len, ((char*) path + prefix_len), NULL)) != NULL ) { diff --git a/src/slug.c b/src/slug.c index e729a9e..2df0733 100644 --- a/src/slug.c +++ b/src/slug.c @@ -72,11 +72,9 @@ r3_slug_t * r3_slug_parse_next(r3_slug_t *s, char **errstr) { } */ -r3_slug_t * r3_slug_parse(char *needle, int needle_len, char *offset, char **errstr) { - r3_slug_t * s = r3_slug_new(needle, needle_len); - if (!s) { - return NULL; - } +int r3_slug_parse(r3_slug_t *s, char *needle, int needle_len, char *offset, char **errstr) { + s->path = needle; + s->path_len = needle_len; if (!offset) { offset = (char*) needle; // from the begining of the needle @@ -84,7 +82,7 @@ r3_slug_t * r3_slug_parse(char *needle, int needle_len, char *offset, char **err // there is no slug if (!r3_path_contains_slug_char(offset)) { - return NULL; + return 0; } int cnt = 0; @@ -139,9 +137,10 @@ r3_slug_t * r3_slug_parse(char *needle, int needle_len, char *offset, char **err if (errstr) { asprintf(errstr, "Incomplete slug pattern. PATH (%d): '%s', OFFSET: %ld, STATE: %d", needle_len, needle, p - needle, state); } - return NULL; + return -1; } - return s; + // found slug + return 1; } diff --git a/src/slug.h b/src/slug.h index 7a44ea8..b42f6dd 100644 --- a/src/slug.h +++ b/src/slug.h @@ -43,7 +43,7 @@ r3_slug_t * r3_slug_new(char * path, int path_len); int r3_slug_check(r3_slug_t *s); -r3_slug_t * r3_slug_parse(char *needle, int needle_len, char *offset, char **errstr); +int r3_slug_parse(r3_slug_t *s, char *needle, int needle_len, char *offset, char **errstr); char * r3_slug_to_str(const r3_slug_t *s); diff --git a/tests/check_slug.c b/tests/check_slug.c index 2107187..9b05a2e 100644 --- a/tests/check_slug.c +++ b/tests/check_slug.c @@ -96,19 +96,20 @@ START_TEST (test_incomplete_slug) END_TEST +/* START_TEST (test_slug_parse_with_pattern) { char * pattern = "/user/{name:\\d{3}}"; char * errstr = NULL; - r3_slug_t *s = r3_slug_parse(pattern, strlen(pattern), pattern, &errstr); - ck_assert(s); + r3_slug_t s; + int ret; + ret = r3_slug_parse(&s, pattern, strlen(pattern), pattern, &errstr); + ck_assert(ret); - char * out = r3_slug_to_str(s); + char * out = r3_slug_to_str(&s); ck_assert(out); printf("%s\n",out); free(out); - - r3_slug_free(s); } END_TEST @@ -117,7 +118,9 @@ START_TEST (test_slug_parse_without_pattern) { char * pattern = "/user/{name}"; char * errstr = NULL; - r3_slug_t *s = r3_slug_parse(pattern, strlen(pattern), pattern, &errstr); + r3_slug_t *s = r3_slug_new(pattern, strlen(pattern)); + int ret; + ret = r3_slug_parse(s, pattern, strlen(pattern), pattern, &errstr); ck_assert(s); char * out = r3_slug_to_str(s); @@ -128,6 +131,7 @@ START_TEST (test_slug_parse_without_pattern) r3_slug_free(s); } END_TEST +*/ @@ -177,8 +181,8 @@ Suite* r3_suite (void) { tcase_add_test(tcase, test_slug_compile); tcase_add_test(tcase, test_pattern_to_opcode); tcase_add_test(tcase, test_incomplete_slug); - tcase_add_test(tcase, test_slug_parse_with_pattern); - tcase_add_test(tcase, test_slug_parse_without_pattern); + // tcase_add_test(tcase, test_slug_parse_with_pattern); + // tcase_add_test(tcase, test_slug_parse_without_pattern); suite_add_tcase(suite, tcase); return suite; diff --git a/tests/check_tree.c b/tests/check_tree.c index 47fe795..75a87c4 100644 --- a/tests/check_tree.c +++ b/tests/check_tree.c @@ -9,6 +9,64 @@ #include "bench.h" +START_TEST (test_find_common_prefix) +{ + node * n = r3_tree_create(10); + edge * e = r3_edge_create("/foo/{slug}", sizeof("/foo/{slug}")-1, NULL); + r3_node_append_edge(n,e); + + int prefix_len; + edge *ret_edge = NULL; + + prefix_len = 0; + ret_edge = r3_node_find_common_prefix(n, "/foo", sizeof("/foo")-1, &prefix_len); + ck_assert(ret_edge); + ck_assert_int_eq(prefix_len, 4); + + + prefix_len = 0; + ret_edge = r3_node_find_common_prefix(n, "/foo/", sizeof("/foo/")-1, &prefix_len); + ck_assert(ret_edge); + ck_assert_int_eq(prefix_len, 5); + + + prefix_len = 0; + ret_edge = r3_node_find_common_prefix(n, "/foo/{slog}", sizeof("/foo/{slog}")-1, &prefix_len); + ck_assert(ret_edge); + ck_assert_int_eq(prefix_len, 5); + + + prefix_len = 0; + ret_edge = r3_node_find_common_prefix(n, "/foo/{bar}", sizeof("/foo/{bar}")-1, &prefix_len); + ck_assert(ret_edge); + ck_assert_int_eq(prefix_len, 5); + + + prefix_len = 0; + ret_edge = r3_node_find_common_prefix(n, "/foo/bar", sizeof("/foo/bar")-1, &prefix_len); + ck_assert(ret_edge); + ck_assert_int_eq(prefix_len, 5); + + prefix_len = 0; + ret_edge = r3_node_find_common_prefix(n, "/bar/", sizeof("/bar/")-1, &prefix_len); + ck_assert(ret_edge); + ck_assert_int_eq(prefix_len, 1); + + + prefix_len = 0; + ret_edge = r3_node_find_common_prefix(n, "{bar}", sizeof("{bar}")-1, &prefix_len); + ck_assert(!ret_edge); + ck_assert_int_eq(prefix_len, 0); +} +END_TEST + + + + + + + + START_TEST (test_ltrim_slash) { @@ -399,6 +457,10 @@ Suite* r3_suite (void) { Suite *suite = suite_create("r3 core tests"); TCase *tcase = tcase_create("testcase"); + + tcase_add_test(tcase, test_find_common_prefix); + + /* tcase_add_test(tcase, test_r3_node_construct_and_free); tcase_add_test(tcase, test_ltrim_slash); tcase_add_test(tcase, testr3_tree_insert_pathl); @@ -411,6 +473,7 @@ Suite* r3_suite (void) { tcase_add_test(tcase, test_pcre_patterns_insert_2); tcase_add_test(tcase, test_pcre_patterns_insert_3); tcase_add_test(tcase, test_incomplete_slug_path); + */ suite_add_tcase(suite, tcase); From 9441f974de76af159826f61171ad1d6fc2229522 Mon Sep 17 00:00:00 2001 From: c9s Date: Mon, 2 Jun 2014 09:48:00 +0800 Subject: [PATCH 04/12] test compile fail --- include/r3.h | 2 +- src/edge.c | 4 +- src/node.c | 31 ++---- src/slug.c | 7 +- tests/check_tree.c | 233 +++++++++++++++++++++++++++++++++++++++++---- 5 files changed, 230 insertions(+), 47 deletions(-) diff --git a/include/r3.h b/include/r3.h index ea9f356..d91f4a5 100644 --- a/include/r3.h +++ b/include/r3.h @@ -144,7 +144,7 @@ node * r3_tree_matchl(const node * n, const char * path, int path_len, match_ent bool r3_node_has_slug_edges(const node *n); -edge * r3_edge_create(const char * pattern, int pattern_len, node * child); +edge * r3_edge_createl(const char * pattern, int pattern_len, node * child); node * r3_edge_branch(edge *e, int dl); diff --git a/src/edge.c b/src/edge.c index 7305243..ad6eb7f 100644 --- a/src/edge.c +++ b/src/edge.c @@ -24,7 +24,7 @@ #include "slug.h" #include "zmalloc.h" -edge * r3_edge_create(const char * pattern, int pattern_len, node * child) { +edge * r3_edge_createl(const char * pattern, int pattern_len, node * child) { edge * e = (edge*) zmalloc( sizeof(edge) ); e->pattern = (char*) pattern; e->pattern_len = pattern_len; @@ -54,7 +54,7 @@ node * r3_edge_branch(edge *e, int dl) { // the suffix edge of the leaf new_child = r3_tree_create(3); s1_len = e->pattern_len - dl; - e1 = r3_edge_create(zstrndup(s1, s1_len), s1_len, new_child); + e1 = r3_edge_createl(zstrndup(s1, s1_len), s1_len, new_child); // Migrate the child edges to the new edge we just created. for ( int i = 0 ; i < e->child->edge_len ; i++ ) { diff --git a/src/node.c b/src/node.c index d7cb14e..c288c24 100644 --- a/src/node.c +++ b/src/node.c @@ -99,7 +99,7 @@ edge * r3_node_connectl(node * n, const char * pat, int len, int dupl, node *chi if (dupl) { pat = zstrndup(pat, len); } - e = r3_edge_create(pat, len, child); + e = r3_edge_createl(pat, len, child); CHECK_PTR(e); r3_node_append_edge(n, e); return e; @@ -520,7 +520,7 @@ edge * r3_node_find_common_prefix(node *n, char *path, int path_len, int *prefix slug = r3_slug_new(path, path_len); do { - ret = r3_slug_parse(slug, path, path_len, path, NULL); + ret = r3_slug_parse(slug, path, path_len, offset, NULL); // found slug if (ret == 1) { // inside slug, backtrace to the begin of the slug @@ -529,13 +529,15 @@ edge * r3_node_find_common_prefix(node *n, char *path, int path_len, int *prefix break; } else if ( p < slug->begin ) { break; - } else if ( p > slug->end && p < (path + path_len) ) { - offset = slug->end; + } else if ( p >= slug->end && p < (path + path_len) ) { + offset = slug->end + 1; + prefix = p - path; continue; - // XXX: see if it's in another slug } else { break; } + } else { + break; } } while(ret == 1); } @@ -558,25 +560,10 @@ node * r3_tree_insert_pathl_(node *tree, const char *path, int path_len, route * // common edge edge * e = NULL; + /* length of common prefix */ int prefix_len = 0; - for( int i = 0 ; i < n->edge_len ; i++ ) { - // ignore all edges with slug - prefix_len = strndiff( (char*) path, n->edges[i]->pattern, n->edges[i]->pattern_len); - - // no common, consider insert a new edge - if ( prefix_len > 0 ) { - e = n->edges[i]; - break; - } - } - - - // branch the edge at correct position (avoid broken slugs) - const char *slug_s; - if ( (slug_s = inside_slug(path, path_len, ((char*) path + prefix_len), NULL)) != NULL ) { - prefix_len = slug_s - path; - } + e = r3_node_find_common_prefix(tree, path, path_len, &prefix_len); const char * subpath = path + prefix_len; const int subpath_len = path_len - prefix_len; diff --git a/src/slug.c b/src/slug.c index 2df0733..12cfd23 100644 --- a/src/slug.c +++ b/src/slug.c @@ -76,7 +76,7 @@ int r3_slug_parse(r3_slug_t *s, char *needle, int needle_len, char *offset, char s->path = needle; s->path_len = needle_len; - if (!offset) { + if (offset == NULL) { offset = (char*) needle; // from the begining of the needle } @@ -90,7 +90,6 @@ int r3_slug_parse(r3_slug_t *s, char *needle, int needle_len, char *offset, char char * p = offset; while( (p-needle) < needle_len) { - // escape one character if (*p == '\\' ) { p++; p++; @@ -133,13 +132,13 @@ int r3_slug_parse(r3_slug_t *s, char *needle, int needle_len, char *offset, char p++; }; - if (state > 0) { + if (state != 0) { if (errstr) { asprintf(errstr, "Incomplete slug pattern. PATH (%d): '%s', OFFSET: %ld, STATE: %d", needle_len, needle, p - needle, state); } return -1; } - // found slug + info("found slug\n"); return 1; } diff --git a/tests/check_tree.c b/tests/check_tree.c index 75a87c4..f3042ae 100644 --- a/tests/check_tree.c +++ b/tests/check_tree.c @@ -9,10 +9,11 @@ #include "bench.h" + START_TEST (test_find_common_prefix) { node * n = r3_tree_create(10); - edge * e = r3_edge_create("/foo/{slug}", sizeof("/foo/{slug}")-1, NULL); + edge * e = r3_edge_createl(zstrdup("/foo/{slug}"), sizeof("/foo/{slug}")-1, NULL); r3_node_append_edge(n,e); int prefix_len; @@ -57,6 +58,9 @@ START_TEST (test_find_common_prefix) ret_edge = r3_node_find_common_prefix(n, "{bar}", sizeof("{bar}")-1, &prefix_len); ck_assert(!ret_edge); ck_assert_int_eq(prefix_len, 0); + + + r3_tree_free(n); } END_TEST @@ -64,6 +68,136 @@ END_TEST +START_TEST (test_find_common_prefix_after) +{ + node * n = r3_tree_create(10); + edge * e = r3_edge_createl(zstrdup("{slug}/foo"), sizeof("{slug}/foo")-1, NULL); + r3_node_append_edge(n,e); + + int prefix_len; + edge *ret_edge = NULL; + + + prefix_len = 0; + ret_edge = r3_node_find_common_prefix(n, "/foo", sizeof("/foo")-1, &prefix_len); + ck_assert(ret_edge == NULL); + ck_assert_int_eq(prefix_len, 0); + + + prefix_len = 0; + ret_edge = r3_node_find_common_prefix(n, "{slug}/bar", sizeof("{slug}/bar")-1, &prefix_len); + ck_assert(ret_edge); + ck_assert_int_eq(prefix_len, 7); + + + prefix_len = 0; + ret_edge = r3_node_find_common_prefix(n, "{slug}/foo", sizeof("{slug}/foo")-1, &prefix_len); + ck_assert(ret_edge); + ck_assert_int_eq(prefix_len, 10); + + + r3_tree_free(n); +} +END_TEST + + + +START_TEST (test_find_common_prefix_double_middle) +{ + node * n = r3_tree_create(10); + edge * e = r3_edge_createl(zstrdup("{slug}/foo/{name}"), sizeof("{slug}/foo/{name}")-1, NULL); + r3_node_append_edge(n,e); + + int prefix_len; + edge *ret_edge = NULL; + + prefix_len = 0; + ret_edge = r3_node_find_common_prefix(n, "{slug}/foo/{number}", sizeof("{slug}/foo/{number}")-1, &prefix_len); + ck_assert(ret_edge); + ck_assert_int_eq(prefix_len, 11); + + r3_tree_free(n); +} +END_TEST + + + +START_TEST (test_find_common_prefix_middle) +{ + node * n = r3_tree_create(10); + edge * e = r3_edge_createl(zstrdup("/foo/{slug}/hate"), sizeof("/foo/{slug}/hate")-1, NULL); + r3_node_append_edge(n,e); + + int prefix_len; + edge *ret_edge = NULL; + + prefix_len = 0; + ret_edge = r3_node_find_common_prefix(n, "/foo/{slug}/bar", sizeof("/foo/{slug}/bar")-1, &prefix_len); + ck_assert(ret_edge); + ck_assert_int_eq(prefix_len, 12); + + prefix_len = 0; + ret_edge = r3_node_find_common_prefix(n, "/fo/{slug}/bar", sizeof("/fo/{slug}/bar")-1, &prefix_len); + ck_assert(ret_edge); + ck_assert_int_eq(prefix_len, 3); + + r3_tree_free(n); +} +END_TEST + +START_TEST (test_find_common_prefix_same_pattern) +{ + node * n = r3_tree_create(10); + edge * e = r3_edge_createl(zstrdup("/foo/{slug:xxx}/hate"), sizeof("/foo/{slug:xxx}/hate")-1, NULL); + r3_node_append_edge(n,e); + + int prefix_len; + edge *ret_edge = NULL; + + prefix_len = 0; + ret_edge = r3_node_find_common_prefix(n, "/foo/{slug:yyy}/hate", sizeof("/foo/{slug:yyy}/hate")-1, &prefix_len); + ck_assert(ret_edge); + ck_assert_int_eq(prefix_len, 5); + + + prefix_len = 0; + ret_edge = r3_node_find_common_prefix(n, "/foo/{slug}/hate", sizeof("/foo/{slug}/hate")-1, &prefix_len); + ck_assert(ret_edge); + ck_assert_int_eq(prefix_len, 5); + + r3_tree_free(n); +} +END_TEST + +START_TEST (test_find_common_prefix_same_pattern2) +{ + node * n = r3_tree_create(10); + edge * e = r3_edge_createl(zstrdup("{slug:xxx}/hate"), sizeof("{slug:xxx}/hate")-1, NULL); + r3_node_append_edge(n,e); + + int prefix_len; + edge *ret_edge = NULL; + + prefix_len = 0; + ret_edge = r3_node_find_common_prefix(n, "{slug:yyy}/hate", sizeof("{slug:yyy}/hate")-1, &prefix_len); + ck_assert(ret_edge); + ck_assert_int_eq(prefix_len, 0); + + r3_tree_free(n); +} +END_TEST + + + + + + + + + + + + @@ -75,7 +209,7 @@ START_TEST (test_ltrim_slash) } END_TEST -START_TEST (test_r3_node_construct_and_free) +START_TEST (test_node_construct_and_free) { node * n = r3_tree_create(10); node * another_tree = r3_tree_create(3); @@ -301,38 +435,96 @@ END_TEST -START_TEST (testr3_tree_insert_pathl) +START_TEST (test_insert_pathl) { node * n = r3_tree_create(10); - r3_tree_insert_path(n, "/foo/bar", NULL); - // r3_tree_dump(n, 0); + node * ret; - r3_tree_insert_path(n, "/foo/zoo", NULL); - // r3_tree_dump(n, 0); + ret = r3_tree_insert_path(n, "/foo/bar", NULL); + ck_assert(ret); + ret = r3_tree_insert_path(n, "/foo/zoo", NULL); + ck_assert(ret); + ret = r3_tree_insert_path(n, "/foo/{id}", NULL); + ck_assert(ret); + ret = r3_tree_insert_path(n, "/foo/{number:\\d+}", NULL); + ck_assert(ret); + ret = r3_tree_insert_path(n, "/foo/{name:\\w+}", NULL); + ck_assert(ret); + ret = r3_tree_insert_path(n, "/foo/{name:\\d+}", NULL); + ck_assert(ret); - r3_tree_insert_path(n, "/f/id" , NULL); - // r3_tree_dump(n, 0); + ret = r3_tree_insert_path(n, "/foo/{name:\\d{5}}", NULL); + ck_assert(ret); - r3_tree_insert_path(n, "/post/{id}", NULL); - // r3_tree_dump(n, 0); + ret = r3_tree_insert_path(n, "/foo/{idx}/{idy}", NULL); + ck_assert(ret); - r3_tree_insert_path(n, "/post/{handle}", NULL); + ret = r3_tree_insert_path(n, "/foo/{idx}/{idh}", NULL); + ck_assert(ret); - r3_tree_insert_path(n, "/post/{handle}-{id}", NULL); + ret = r3_tree_insert_path(n, "/f/id" , NULL); + ck_assert(ret); + ret = r3_tree_insert_path(n, "/post/{id}", NULL); + ck_assert(ret); + ret = r3_tree_insert_path(n, "/post/{handle}", NULL); + ck_assert(ret); + ret = r3_tree_insert_path(n, "/post/{handle}-{id}", NULL); + ck_assert(ret); char * errstr = NULL; r3_tree_compile(n, &errstr); + ck_assert(errstr == NULL); -#ifdef DEBUG r3_tree_dump(n, 0); -#endif r3_tree_free(n); } END_TEST +START_TEST (test_compile_fail) +{ + node * n = r3_tree_create(10); + + node * ret; + + ret = r3_tree_insert_path(n, "/foo/{idx}/{idy:)}", NULL); + ck_assert(ret); + + ret = r3_tree_insert_path(n, "/foo/{idx}/{idh:(}", NULL); + ck_assert(ret); + + char * errstr = NULL; + r3_tree_compile(n, &errstr); + ck_assert(errstr); + fprintf(stderr, "Compile failed: %s\n", errstr); + free(errstr); + + r3_tree_dump(n, 0); + r3_tree_free(n); +} +END_TEST + + + + + + + + + + + + + + + + + + + + @@ -459,11 +651,16 @@ Suite* r3_suite (void) { TCase *tcase = tcase_create("testcase"); tcase_add_test(tcase, test_find_common_prefix); - + tcase_add_test(tcase, test_find_common_prefix_after); + tcase_add_test(tcase, test_find_common_prefix_double_middle); + tcase_add_test(tcase, test_find_common_prefix_middle); + tcase_add_test(tcase, test_find_common_prefix_same_pattern); + tcase_add_test(tcase, test_find_common_prefix_same_pattern2); + tcase_add_test(tcase, test_insert_pathl); + tcase_add_test(tcase, test_compile_fail); + tcase_add_test(tcase, test_node_construct_and_free); /* - tcase_add_test(tcase, test_r3_node_construct_and_free); tcase_add_test(tcase, test_ltrim_slash); - tcase_add_test(tcase, testr3_tree_insert_pathl); tcase_add_test(tcase, test_compile); tcase_add_test(tcase, test_route_cmp); tcase_add_test(tcase, test_insert_route); From 2465ee4ffea0fa25b0186ef58d6a82669d58c790 Mon Sep 17 00:00:00 2001 From: c9s Date: Mon, 2 Jun 2014 09:49:13 +0800 Subject: [PATCH 05/12] fix all tests --- tests/check_tree.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/tests/check_tree.c b/tests/check_tree.c index f3042ae..85bb1e4 100644 --- a/tests/check_tree.c +++ b/tests/check_tree.c @@ -657,11 +657,10 @@ Suite* r3_suite (void) { tcase_add_test(tcase, test_find_common_prefix_same_pattern); tcase_add_test(tcase, test_find_common_prefix_same_pattern2); tcase_add_test(tcase, test_insert_pathl); - tcase_add_test(tcase, test_compile_fail); tcase_add_test(tcase, test_node_construct_and_free); - /* tcase_add_test(tcase, test_ltrim_slash); tcase_add_test(tcase, test_compile); + tcase_add_test(tcase, test_compile_fail); tcase_add_test(tcase, test_route_cmp); tcase_add_test(tcase, test_insert_route); tcase_add_test(tcase, test_pcre_pattern_simple); @@ -670,8 +669,6 @@ Suite* r3_suite (void) { tcase_add_test(tcase, test_pcre_patterns_insert_2); tcase_add_test(tcase, test_pcre_patterns_insert_3); tcase_add_test(tcase, test_incomplete_slug_path); - */ - suite_add_tcase(suite, tcase); return suite; From f2c80057075ed33e90287713a14bdec02e8df215 Mon Sep 17 00:00:00 2001 From: c9s Date: Mon, 2 Jun 2014 09:51:42 +0800 Subject: [PATCH 06/12] Test failing test case --- tests/check_tree.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/tests/check_tree.c b/tests/check_tree.c index 85bb1e4..beae505 100644 --- a/tests/check_tree.c +++ b/tests/check_tree.c @@ -304,12 +304,17 @@ START_TEST (test_incomplete_slug_path) r3_tree_insert_path(n, "/post/{handle:\\d{3}}/{a}", NULL); ret_node = r3_tree_insert_path(n, "/users/{idx:\\d{3}}/{idy}", NULL); - assert(ret_node); + ck_assert(ret_node); // OK to insert, but should return error when compiling patterns - // FIXME: this one returns the inserted node object. - ret_node = r3_tree_insert_path(n, "/users/{idx:\\d{3}}/{idy:aaa}", NULL); - assert(ret_node); + node * ret_node2 = r3_tree_insert_path(n, "/users/{idx:\\d{3}}/{idy:aaa}", NULL); + ck_assert(ret_node2); + ck_assert(ret_node2 != ret_node); // make sure it's another node + + + char *errstr = NULL; + r3_tree_compile(n, &errstr); + ck_assert(errstr == NULL); // no error r3_tree_dump(n, NULL); From ba1106df4bbdeb2630236fb760363fff87c59cdd Mon Sep 17 00:00:00 2001 From: c9s Date: Mon, 2 Jun 2014 10:03:58 +0800 Subject: [PATCH 07/12] Add auto-generated route tests --- tests/check_routes.c | 1390 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 1390 insertions(+) create mode 100644 tests/check_routes.c diff --git a/tests/check_routes.c b/tests/check_routes.c new file mode 100644 index 0000000..6660f6e --- /dev/null +++ b/tests/check_routes.c @@ -0,0 +1,1390 @@ + +/** DO NOT MODIFY THIS FILE, THIS TEST FILE IS AUTO-GENERATED. **/ + +#include "config.h" +#include +#include +#include +#include +#include "r3.h" +#include "r3_str.h" +#include "zmalloc.h" + +START_TEST (test_routes) +{ + node * n = r3_tree_create(10); + node * m = NULL; + + r3_tree_insert_path(n, "/foo/bar/baz", NULL); + r3_tree_insert_path(n, "/foo/bar/qux", NULL); + r3_tree_insert_path(n, "/foo/bar/quux", NULL); + r3_tree_insert_path(n, "/foo/bar/corge", NULL); + r3_tree_insert_path(n, "/foo/bar/grault", NULL); + r3_tree_insert_path(n, "/foo/bar/garply", NULL); + r3_tree_insert_path(n, "/foo/baz/bar", NULL); + r3_tree_insert_path(n, "/foo/baz/qux", NULL); + r3_tree_insert_path(n, "/foo/baz/quux", NULL); + r3_tree_insert_path(n, "/foo/baz/corge", NULL); + r3_tree_insert_path(n, "/foo/baz/grault", NULL); + r3_tree_insert_path(n, "/foo/baz/garply", NULL); + r3_tree_insert_path(n, "/foo/qux/bar", NULL); + r3_tree_insert_path(n, "/foo/qux/baz", NULL); + r3_tree_insert_path(n, "/foo/qux/quux", NULL); + r3_tree_insert_path(n, "/foo/qux/corge", NULL); + r3_tree_insert_path(n, "/foo/qux/grault", NULL); + r3_tree_insert_path(n, "/foo/qux/garply", NULL); + r3_tree_insert_path(n, "/foo/quux/bar", NULL); + r3_tree_insert_path(n, "/foo/quux/baz", NULL); + r3_tree_insert_path(n, "/foo/quux/qux", NULL); + r3_tree_insert_path(n, "/foo/quux/corge", NULL); + r3_tree_insert_path(n, "/foo/quux/grault", NULL); + r3_tree_insert_path(n, "/foo/quux/garply", NULL); + r3_tree_insert_path(n, "/foo/corge/bar", NULL); + r3_tree_insert_path(n, "/foo/corge/baz", NULL); + r3_tree_insert_path(n, "/foo/corge/qux", NULL); + r3_tree_insert_path(n, "/foo/corge/quux", NULL); + r3_tree_insert_path(n, "/foo/corge/grault", NULL); + r3_tree_insert_path(n, "/foo/corge/garply", NULL); + r3_tree_insert_path(n, "/foo/grault/bar", NULL); + r3_tree_insert_path(n, "/foo/grault/baz", NULL); + r3_tree_insert_path(n, "/foo/grault/qux", NULL); + r3_tree_insert_path(n, "/foo/grault/quux", NULL); + r3_tree_insert_path(n, "/foo/grault/corge", NULL); + r3_tree_insert_path(n, "/foo/grault/garply", NULL); + r3_tree_insert_path(n, "/foo/garply/bar", NULL); + r3_tree_insert_path(n, "/foo/garply/baz", NULL); + r3_tree_insert_path(n, "/foo/garply/qux", NULL); + r3_tree_insert_path(n, "/foo/garply/quux", NULL); + r3_tree_insert_path(n, "/foo/garply/corge", NULL); + r3_tree_insert_path(n, "/foo/garply/grault", NULL); + r3_tree_insert_path(n, "/bar/foo/baz", NULL); + r3_tree_insert_path(n, "/bar/foo/qux", NULL); + r3_tree_insert_path(n, "/bar/foo/quux", NULL); + r3_tree_insert_path(n, "/bar/foo/corge", NULL); + r3_tree_insert_path(n, "/bar/foo/grault", NULL); + r3_tree_insert_path(n, "/bar/foo/garply", NULL); + r3_tree_insert_path(n, "/bar/baz/foo", NULL); + r3_tree_insert_path(n, "/bar/baz/qux", NULL); + r3_tree_insert_path(n, "/bar/baz/quux", NULL); + r3_tree_insert_path(n, "/bar/baz/corge", NULL); + r3_tree_insert_path(n, "/bar/baz/grault", NULL); + r3_tree_insert_path(n, "/bar/baz/garply", NULL); + r3_tree_insert_path(n, "/bar/qux/foo", NULL); + r3_tree_insert_path(n, "/bar/qux/baz", NULL); + r3_tree_insert_path(n, "/bar/qux/quux", NULL); + r3_tree_insert_path(n, "/bar/qux/corge", NULL); + r3_tree_insert_path(n, "/bar/qux/grault", NULL); + r3_tree_insert_path(n, "/bar/qux/garply", NULL); + r3_tree_insert_path(n, "/bar/quux/foo", NULL); + r3_tree_insert_path(n, "/bar/quux/baz", NULL); + r3_tree_insert_path(n, "/bar/quux/qux", NULL); + r3_tree_insert_path(n, "/bar/quux/corge", NULL); + r3_tree_insert_path(n, "/bar/quux/grault", NULL); + r3_tree_insert_path(n, "/bar/quux/garply", NULL); + r3_tree_insert_path(n, "/bar/corge/foo", NULL); + r3_tree_insert_path(n, "/bar/corge/baz", NULL); + r3_tree_insert_path(n, "/bar/corge/qux", NULL); + r3_tree_insert_path(n, "/bar/corge/quux", NULL); + r3_tree_insert_path(n, "/bar/corge/grault", NULL); + r3_tree_insert_path(n, "/bar/corge/garply", NULL); + r3_tree_insert_path(n, "/bar/grault/foo", NULL); + r3_tree_insert_path(n, "/bar/grault/baz", NULL); + r3_tree_insert_path(n, "/bar/grault/qux", NULL); + r3_tree_insert_path(n, "/bar/grault/quux", NULL); + r3_tree_insert_path(n, "/bar/grault/corge", NULL); + r3_tree_insert_path(n, "/bar/grault/garply", NULL); + r3_tree_insert_path(n, "/bar/garply/foo", NULL); + r3_tree_insert_path(n, "/bar/garply/baz", NULL); + r3_tree_insert_path(n, "/bar/garply/qux", NULL); + r3_tree_insert_path(n, "/bar/garply/quux", NULL); + r3_tree_insert_path(n, "/bar/garply/corge", NULL); + r3_tree_insert_path(n, "/bar/garply/grault", NULL); + r3_tree_insert_path(n, "/baz/foo/bar", NULL); + r3_tree_insert_path(n, "/baz/foo/qux", NULL); + r3_tree_insert_path(n, "/baz/foo/quux", NULL); + r3_tree_insert_path(n, "/baz/foo/corge", NULL); + r3_tree_insert_path(n, "/baz/foo/grault", NULL); + r3_tree_insert_path(n, "/baz/foo/garply", NULL); + r3_tree_insert_path(n, "/baz/bar/foo", NULL); + r3_tree_insert_path(n, "/baz/bar/qux", NULL); + r3_tree_insert_path(n, "/baz/bar/quux", NULL); + r3_tree_insert_path(n, "/baz/bar/corge", NULL); + r3_tree_insert_path(n, "/baz/bar/grault", NULL); + r3_tree_insert_path(n, "/baz/bar/garply", NULL); + r3_tree_insert_path(n, "/baz/qux/foo", NULL); + r3_tree_insert_path(n, "/baz/qux/bar", NULL); + r3_tree_insert_path(n, "/baz/qux/quux", NULL); + r3_tree_insert_path(n, "/baz/qux/corge", NULL); + r3_tree_insert_path(n, "/baz/qux/grault", NULL); + r3_tree_insert_path(n, "/baz/qux/garply", NULL); + r3_tree_insert_path(n, "/baz/quux/foo", NULL); + r3_tree_insert_path(n, "/baz/quux/bar", NULL); + r3_tree_insert_path(n, "/baz/quux/qux", NULL); + r3_tree_insert_path(n, "/baz/quux/corge", NULL); + r3_tree_insert_path(n, "/baz/quux/grault", NULL); + r3_tree_insert_path(n, "/baz/quux/garply", NULL); + r3_tree_insert_path(n, "/baz/corge/foo", NULL); + r3_tree_insert_path(n, "/baz/corge/bar", NULL); + r3_tree_insert_path(n, "/baz/corge/qux", NULL); + r3_tree_insert_path(n, "/baz/corge/quux", NULL); + r3_tree_insert_path(n, "/baz/corge/grault", NULL); + r3_tree_insert_path(n, "/baz/corge/garply", NULL); + r3_tree_insert_path(n, "/baz/grault/foo", NULL); + r3_tree_insert_path(n, "/baz/grault/bar", NULL); + r3_tree_insert_path(n, "/baz/grault/qux", NULL); + r3_tree_insert_path(n, "/baz/grault/quux", NULL); + r3_tree_insert_path(n, "/baz/grault/corge", NULL); + r3_tree_insert_path(n, "/baz/grault/garply", NULL); + r3_tree_insert_path(n, "/baz/garply/foo", NULL); + r3_tree_insert_path(n, "/baz/garply/bar", NULL); + r3_tree_insert_path(n, "/baz/garply/qux", NULL); + r3_tree_insert_path(n, "/baz/garply/quux", NULL); + r3_tree_insert_path(n, "/baz/garply/corge", NULL); + r3_tree_insert_path(n, "/baz/garply/grault", NULL); + r3_tree_insert_path(n, "/qux/foo/bar", NULL); + r3_tree_insert_path(n, "/qux/foo/baz", NULL); + r3_tree_insert_path(n, "/qux/foo/quux", NULL); + r3_tree_insert_path(n, "/qux/foo/corge", NULL); + r3_tree_insert_path(n, "/qux/foo/grault", NULL); + r3_tree_insert_path(n, "/qux/foo/garply", NULL); + r3_tree_insert_path(n, "/qux/bar/foo", NULL); + r3_tree_insert_path(n, "/qux/bar/baz", NULL); + r3_tree_insert_path(n, "/qux/bar/quux", NULL); + r3_tree_insert_path(n, "/qux/bar/corge", NULL); + r3_tree_insert_path(n, "/qux/bar/grault", NULL); + r3_tree_insert_path(n, "/qux/bar/garply", NULL); + r3_tree_insert_path(n, "/qux/baz/foo", NULL); + r3_tree_insert_path(n, "/qux/baz/bar", NULL); + r3_tree_insert_path(n, "/qux/baz/quux", NULL); + r3_tree_insert_path(n, "/qux/baz/corge", NULL); + r3_tree_insert_path(n, "/qux/baz/grault", NULL); + r3_tree_insert_path(n, "/qux/baz/garply", NULL); + r3_tree_insert_path(n, "/qux/quux/foo", NULL); + r3_tree_insert_path(n, "/qux/quux/bar", NULL); + r3_tree_insert_path(n, "/qux/quux/baz", NULL); + r3_tree_insert_path(n, "/qux/quux/corge", NULL); + r3_tree_insert_path(n, "/qux/quux/grault", NULL); + r3_tree_insert_path(n, "/qux/quux/garply", NULL); + r3_tree_insert_path(n, "/qux/corge/foo", NULL); + r3_tree_insert_path(n, "/qux/corge/bar", NULL); + r3_tree_insert_path(n, "/qux/corge/baz", NULL); + r3_tree_insert_path(n, "/qux/corge/quux", NULL); + r3_tree_insert_path(n, "/qux/corge/grault", NULL); + r3_tree_insert_path(n, "/qux/corge/garply", NULL); + r3_tree_insert_path(n, "/qux/grault/foo", NULL); + r3_tree_insert_path(n, "/qux/grault/bar", NULL); + r3_tree_insert_path(n, "/qux/grault/baz", NULL); + r3_tree_insert_path(n, "/qux/grault/quux", NULL); + r3_tree_insert_path(n, "/qux/grault/corge", NULL); + r3_tree_insert_path(n, "/qux/grault/garply", NULL); + r3_tree_insert_path(n, "/qux/garply/foo", NULL); + r3_tree_insert_path(n, "/qux/garply/bar", NULL); + r3_tree_insert_path(n, "/qux/garply/baz", NULL); + r3_tree_insert_path(n, "/qux/garply/quux", NULL); + r3_tree_insert_path(n, "/qux/garply/corge", NULL); + r3_tree_insert_path(n, "/qux/garply/grault", NULL); + r3_tree_insert_path(n, "/quux/foo/bar", NULL); + r3_tree_insert_path(n, "/quux/foo/baz", NULL); + r3_tree_insert_path(n, "/quux/foo/qux", NULL); + r3_tree_insert_path(n, "/quux/foo/corge", NULL); + r3_tree_insert_path(n, "/quux/foo/grault", NULL); + r3_tree_insert_path(n, "/quux/foo/garply", NULL); + r3_tree_insert_path(n, "/quux/bar/foo", NULL); + r3_tree_insert_path(n, "/quux/bar/baz", NULL); + r3_tree_insert_path(n, "/quux/bar/qux", NULL); + r3_tree_insert_path(n, "/quux/bar/corge", NULL); + r3_tree_insert_path(n, "/quux/bar/grault", NULL); + r3_tree_insert_path(n, "/quux/bar/garply", NULL); + r3_tree_insert_path(n, "/quux/baz/foo", NULL); + r3_tree_insert_path(n, "/quux/baz/bar", NULL); + r3_tree_insert_path(n, "/quux/baz/qux", NULL); + r3_tree_insert_path(n, "/quux/baz/corge", NULL); + r3_tree_insert_path(n, "/quux/baz/grault", NULL); + r3_tree_insert_path(n, "/quux/baz/garply", NULL); + r3_tree_insert_path(n, "/quux/qux/foo", NULL); + r3_tree_insert_path(n, "/quux/qux/bar", NULL); + r3_tree_insert_path(n, "/quux/qux/baz", NULL); + r3_tree_insert_path(n, "/quux/qux/corge", NULL); + r3_tree_insert_path(n, "/quux/qux/grault", NULL); + r3_tree_insert_path(n, "/quux/qux/garply", NULL); + r3_tree_insert_path(n, "/quux/corge/foo", NULL); + r3_tree_insert_path(n, "/quux/corge/bar", NULL); + r3_tree_insert_path(n, "/quux/corge/baz", NULL); + r3_tree_insert_path(n, "/quux/corge/qux", NULL); + r3_tree_insert_path(n, "/quux/corge/grault", NULL); + r3_tree_insert_path(n, "/quux/corge/garply", NULL); + r3_tree_insert_path(n, "/quux/grault/foo", NULL); + r3_tree_insert_path(n, "/quux/grault/bar", NULL); + r3_tree_insert_path(n, "/quux/grault/baz", NULL); + r3_tree_insert_path(n, "/quux/grault/qux", NULL); + r3_tree_insert_path(n, "/quux/grault/corge", NULL); + r3_tree_insert_path(n, "/quux/grault/garply", NULL); + r3_tree_insert_path(n, "/quux/garply/foo", NULL); + r3_tree_insert_path(n, "/quux/garply/bar", NULL); + r3_tree_insert_path(n, "/quux/garply/baz", NULL); + r3_tree_insert_path(n, "/quux/garply/qux", NULL); + r3_tree_insert_path(n, "/quux/garply/corge", NULL); + r3_tree_insert_path(n, "/quux/garply/grault", NULL); + r3_tree_insert_path(n, "/corge/foo/bar", NULL); + r3_tree_insert_path(n, "/corge/foo/baz", NULL); + r3_tree_insert_path(n, "/corge/foo/qux", NULL); + r3_tree_insert_path(n, "/corge/foo/quux", NULL); + r3_tree_insert_path(n, "/corge/foo/grault", NULL); + r3_tree_insert_path(n, "/corge/foo/garply", NULL); + r3_tree_insert_path(n, "/corge/bar/foo", NULL); + r3_tree_insert_path(n, "/corge/bar/baz", NULL); + r3_tree_insert_path(n, "/corge/bar/qux", NULL); + r3_tree_insert_path(n, "/corge/bar/quux", NULL); + r3_tree_insert_path(n, "/corge/bar/grault", NULL); + r3_tree_insert_path(n, "/corge/bar/garply", NULL); + r3_tree_insert_path(n, "/corge/baz/foo", NULL); + r3_tree_insert_path(n, "/corge/baz/bar", NULL); + r3_tree_insert_path(n, "/corge/baz/qux", NULL); + r3_tree_insert_path(n, "/corge/baz/quux", NULL); + r3_tree_insert_path(n, "/corge/baz/grault", NULL); + r3_tree_insert_path(n, "/corge/baz/garply", NULL); + r3_tree_insert_path(n, "/corge/qux/foo", NULL); + r3_tree_insert_path(n, "/corge/qux/bar", NULL); + r3_tree_insert_path(n, "/corge/qux/baz", NULL); + r3_tree_insert_path(n, "/corge/qux/quux", NULL); + r3_tree_insert_path(n, "/corge/qux/grault", NULL); + r3_tree_insert_path(n, "/corge/qux/garply", NULL); + r3_tree_insert_path(n, "/corge/quux/foo", NULL); + r3_tree_insert_path(n, "/corge/quux/bar", NULL); + r3_tree_insert_path(n, "/corge/quux/baz", NULL); + r3_tree_insert_path(n, "/corge/quux/qux", NULL); + r3_tree_insert_path(n, "/corge/quux/grault", NULL); + r3_tree_insert_path(n, "/corge/quux/garply", NULL); + r3_tree_insert_path(n, "/corge/grault/foo", NULL); + r3_tree_insert_path(n, "/corge/grault/bar", NULL); + r3_tree_insert_path(n, "/corge/grault/baz", NULL); + r3_tree_insert_path(n, "/corge/grault/qux", NULL); + r3_tree_insert_path(n, "/corge/grault/quux", NULL); + r3_tree_insert_path(n, "/corge/grault/garply", NULL); + r3_tree_insert_path(n, "/corge/garply/foo", NULL); + r3_tree_insert_path(n, "/corge/garply/bar", NULL); + r3_tree_insert_path(n, "/corge/garply/baz", NULL); + r3_tree_insert_path(n, "/corge/garply/qux", NULL); + r3_tree_insert_path(n, "/corge/garply/quux", NULL); + r3_tree_insert_path(n, "/corge/garply/grault", NULL); + r3_tree_insert_path(n, "/grault/foo/bar", NULL); + r3_tree_insert_path(n, "/grault/foo/baz", NULL); + r3_tree_insert_path(n, "/grault/foo/qux", NULL); + r3_tree_insert_path(n, "/grault/foo/quux", NULL); + r3_tree_insert_path(n, "/grault/foo/corge", NULL); + r3_tree_insert_path(n, "/grault/foo/garply", NULL); + r3_tree_insert_path(n, "/grault/bar/foo", NULL); + r3_tree_insert_path(n, "/grault/bar/baz", NULL); + r3_tree_insert_path(n, "/grault/bar/qux", NULL); + r3_tree_insert_path(n, "/grault/bar/quux", NULL); + r3_tree_insert_path(n, "/grault/bar/corge", NULL); + r3_tree_insert_path(n, "/grault/bar/garply", NULL); + r3_tree_insert_path(n, "/grault/baz/foo", NULL); + r3_tree_insert_path(n, "/grault/baz/bar", NULL); + r3_tree_insert_path(n, "/grault/baz/qux", NULL); + r3_tree_insert_path(n, "/grault/baz/quux", NULL); + r3_tree_insert_path(n, "/grault/baz/corge", NULL); + r3_tree_insert_path(n, "/grault/baz/garply", NULL); + r3_tree_insert_path(n, "/grault/qux/foo", NULL); + r3_tree_insert_path(n, "/grault/qux/bar", NULL); + r3_tree_insert_path(n, "/grault/qux/baz", NULL); + r3_tree_insert_path(n, "/grault/qux/quux", NULL); + r3_tree_insert_path(n, "/grault/qux/corge", NULL); + r3_tree_insert_path(n, "/grault/qux/garply", NULL); + r3_tree_insert_path(n, "/grault/quux/foo", NULL); + r3_tree_insert_path(n, "/grault/quux/bar", NULL); + r3_tree_insert_path(n, "/grault/quux/baz", NULL); + r3_tree_insert_path(n, "/grault/quux/qux", NULL); + r3_tree_insert_path(n, "/grault/quux/corge", NULL); + r3_tree_insert_path(n, "/grault/quux/garply", NULL); + r3_tree_insert_path(n, "/grault/corge/foo", NULL); + r3_tree_insert_path(n, "/grault/corge/bar", NULL); + r3_tree_insert_path(n, "/grault/corge/baz", NULL); + r3_tree_insert_path(n, "/grault/corge/qux", NULL); + r3_tree_insert_path(n, "/grault/corge/quux", NULL); + r3_tree_insert_path(n, "/grault/corge/garply", NULL); + r3_tree_insert_path(n, "/grault/garply/foo", NULL); + r3_tree_insert_path(n, "/grault/garply/bar", NULL); + r3_tree_insert_path(n, "/grault/garply/baz", NULL); + r3_tree_insert_path(n, "/grault/garply/qux", NULL); + r3_tree_insert_path(n, "/grault/garply/quux", NULL); + r3_tree_insert_path(n, "/grault/garply/corge", NULL); + r3_tree_insert_path(n, "/garply/foo/bar", NULL); + r3_tree_insert_path(n, "/garply/foo/baz", NULL); + r3_tree_insert_path(n, "/garply/foo/qux", NULL); + r3_tree_insert_path(n, "/garply/foo/quux", NULL); + r3_tree_insert_path(n, "/garply/foo/corge", NULL); + r3_tree_insert_path(n, "/garply/foo/grault", NULL); + r3_tree_insert_path(n, "/garply/bar/foo", NULL); + r3_tree_insert_path(n, "/garply/bar/baz", NULL); + r3_tree_insert_path(n, "/garply/bar/qux", NULL); + r3_tree_insert_path(n, "/garply/bar/quux", NULL); + r3_tree_insert_path(n, "/garply/bar/corge", NULL); + r3_tree_insert_path(n, "/garply/bar/grault", NULL); + r3_tree_insert_path(n, "/garply/baz/foo", NULL); + r3_tree_insert_path(n, "/garply/baz/bar", NULL); + r3_tree_insert_path(n, "/garply/baz/qux", NULL); + r3_tree_insert_path(n, "/garply/baz/quux", NULL); + r3_tree_insert_path(n, "/garply/baz/corge", NULL); + r3_tree_insert_path(n, "/garply/baz/grault", NULL); + r3_tree_insert_path(n, "/garply/qux/foo", NULL); + r3_tree_insert_path(n, "/garply/qux/bar", NULL); + r3_tree_insert_path(n, "/garply/qux/baz", NULL); + r3_tree_insert_path(n, "/garply/qux/quux", NULL); + r3_tree_insert_path(n, "/garply/qux/corge", NULL); + r3_tree_insert_path(n, "/garply/qux/grault", NULL); + r3_tree_insert_path(n, "/garply/quux/foo", NULL); + r3_tree_insert_path(n, "/garply/quux/bar", NULL); + r3_tree_insert_path(n, "/garply/quux/baz", NULL); + r3_tree_insert_path(n, "/garply/quux/qux", NULL); + r3_tree_insert_path(n, "/garply/quux/corge", NULL); + r3_tree_insert_path(n, "/garply/quux/grault", NULL); + r3_tree_insert_path(n, "/garply/corge/foo", NULL); + r3_tree_insert_path(n, "/garply/corge/bar", NULL); + r3_tree_insert_path(n, "/garply/corge/baz", NULL); + r3_tree_insert_path(n, "/garply/corge/qux", NULL); + r3_tree_insert_path(n, "/garply/corge/quux", NULL); + r3_tree_insert_path(n, "/garply/corge/grault", NULL); + r3_tree_insert_path(n, "/garply/grault/foo", NULL); + r3_tree_insert_path(n, "/garply/grault/bar", NULL); + r3_tree_insert_path(n, "/garply/grault/baz", NULL); + r3_tree_insert_path(n, "/garply/grault/qux", NULL); + r3_tree_insert_path(n, "/garply/grault/quux", NULL); + r3_tree_insert_path(n, "/garply/grault/corge", NULL); + char *err = NULL; + r3_tree_compile(n, &err); + ck_assert(err == NULL); + char *data0 = "/foo/bar/baz"; + m = r3_tree_match(n, "/foo/bar/baz", (void*) data0); + ck_assert(m); + char *data1 = "/foo/bar/qux"; + m = r3_tree_match(n, "/foo/bar/qux", (void*) data1); + ck_assert(m); + char *data2 = "/foo/bar/quux"; + m = r3_tree_match(n, "/foo/bar/quux", (void*) data2); + ck_assert(m); + char *data3 = "/foo/bar/corge"; + m = r3_tree_match(n, "/foo/bar/corge", (void*) data3); + ck_assert(m); + char *data4 = "/foo/bar/grault"; + m = r3_tree_match(n, "/foo/bar/grault", (void*) data4); + ck_assert(m); + char *data5 = "/foo/bar/garply"; + m = r3_tree_match(n, "/foo/bar/garply", (void*) data5); + ck_assert(m); + char *data6 = "/foo/baz/bar"; + m = r3_tree_match(n, "/foo/baz/bar", (void*) data6); + ck_assert(m); + char *data7 = "/foo/baz/qux"; + m = r3_tree_match(n, "/foo/baz/qux", (void*) data7); + ck_assert(m); + char *data8 = "/foo/baz/quux"; + m = r3_tree_match(n, "/foo/baz/quux", (void*) data8); + ck_assert(m); + char *data9 = "/foo/baz/corge"; + m = r3_tree_match(n, "/foo/baz/corge", (void*) data9); + ck_assert(m); + char *data10 = "/foo/baz/grault"; + m = r3_tree_match(n, "/foo/baz/grault", (void*) data10); + ck_assert(m); + char *data11 = "/foo/baz/garply"; + m = r3_tree_match(n, "/foo/baz/garply", (void*) data11); + ck_assert(m); + char *data12 = "/foo/qux/bar"; + m = r3_tree_match(n, "/foo/qux/bar", (void*) data12); + ck_assert(m); + char *data13 = "/foo/qux/baz"; + m = r3_tree_match(n, "/foo/qux/baz", (void*) data13); + ck_assert(m); + char *data14 = "/foo/qux/quux"; + m = r3_tree_match(n, "/foo/qux/quux", (void*) data14); + ck_assert(m); + char *data15 = "/foo/qux/corge"; + m = r3_tree_match(n, "/foo/qux/corge", (void*) data15); + ck_assert(m); + char *data16 = "/foo/qux/grault"; + m = r3_tree_match(n, "/foo/qux/grault", (void*) data16); + ck_assert(m); + char *data17 = "/foo/qux/garply"; + m = r3_tree_match(n, "/foo/qux/garply", (void*) data17); + ck_assert(m); + char *data18 = "/foo/quux/bar"; + m = r3_tree_match(n, "/foo/quux/bar", (void*) data18); + ck_assert(m); + char *data19 = "/foo/quux/baz"; + m = r3_tree_match(n, "/foo/quux/baz", (void*) data19); + ck_assert(m); + char *data20 = "/foo/quux/qux"; + m = r3_tree_match(n, "/foo/quux/qux", (void*) data20); + ck_assert(m); + char *data21 = "/foo/quux/corge"; + m = r3_tree_match(n, "/foo/quux/corge", (void*) data21); + ck_assert(m); + char *data22 = "/foo/quux/grault"; + m = r3_tree_match(n, "/foo/quux/grault", (void*) data22); + ck_assert(m); + char *data23 = "/foo/quux/garply"; + m = r3_tree_match(n, "/foo/quux/garply", (void*) data23); + ck_assert(m); + char *data24 = "/foo/corge/bar"; + m = r3_tree_match(n, "/foo/corge/bar", (void*) data24); + ck_assert(m); + char *data25 = "/foo/corge/baz"; + m = r3_tree_match(n, "/foo/corge/baz", (void*) data25); + ck_assert(m); + char *data26 = "/foo/corge/qux"; + m = r3_tree_match(n, "/foo/corge/qux", (void*) data26); + ck_assert(m); + char *data27 = "/foo/corge/quux"; + m = r3_tree_match(n, "/foo/corge/quux", (void*) data27); + ck_assert(m); + char *data28 = "/foo/corge/grault"; + m = r3_tree_match(n, "/foo/corge/grault", (void*) data28); + ck_assert(m); + char *data29 = "/foo/corge/garply"; + m = r3_tree_match(n, "/foo/corge/garply", (void*) data29); + ck_assert(m); + char *data30 = "/foo/grault/bar"; + m = r3_tree_match(n, "/foo/grault/bar", (void*) data30); + ck_assert(m); + char *data31 = "/foo/grault/baz"; + m = r3_tree_match(n, "/foo/grault/baz", (void*) data31); + ck_assert(m); + char *data32 = "/foo/grault/qux"; + m = r3_tree_match(n, "/foo/grault/qux", (void*) data32); + ck_assert(m); + char *data33 = "/foo/grault/quux"; + m = r3_tree_match(n, "/foo/grault/quux", (void*) data33); + ck_assert(m); + char *data34 = "/foo/grault/corge"; + m = r3_tree_match(n, "/foo/grault/corge", (void*) data34); + ck_assert(m); + char *data35 = "/foo/grault/garply"; + m = r3_tree_match(n, "/foo/grault/garply", (void*) data35); + ck_assert(m); + char *data36 = "/foo/garply/bar"; + m = r3_tree_match(n, "/foo/garply/bar", (void*) data36); + ck_assert(m); + char *data37 = "/foo/garply/baz"; + m = r3_tree_match(n, "/foo/garply/baz", (void*) data37); + ck_assert(m); + char *data38 = "/foo/garply/qux"; + m = r3_tree_match(n, "/foo/garply/qux", (void*) data38); + ck_assert(m); + char *data39 = "/foo/garply/quux"; + m = r3_tree_match(n, "/foo/garply/quux", (void*) data39); + ck_assert(m); + char *data40 = "/foo/garply/corge"; + m = r3_tree_match(n, "/foo/garply/corge", (void*) data40); + ck_assert(m); + char *data41 = "/foo/garply/grault"; + m = r3_tree_match(n, "/foo/garply/grault", (void*) data41); + ck_assert(m); + char *data42 = "/bar/foo/baz"; + m = r3_tree_match(n, "/bar/foo/baz", (void*) data42); + ck_assert(m); + char *data43 = "/bar/foo/qux"; + m = r3_tree_match(n, "/bar/foo/qux", (void*) data43); + ck_assert(m); + char *data44 = "/bar/foo/quux"; + m = r3_tree_match(n, "/bar/foo/quux", (void*) data44); + ck_assert(m); + char *data45 = "/bar/foo/corge"; + m = r3_tree_match(n, "/bar/foo/corge", (void*) data45); + ck_assert(m); + char *data46 = "/bar/foo/grault"; + m = r3_tree_match(n, "/bar/foo/grault", (void*) data46); + ck_assert(m); + char *data47 = "/bar/foo/garply"; + m = r3_tree_match(n, "/bar/foo/garply", (void*) data47); + ck_assert(m); + char *data48 = "/bar/baz/foo"; + m = r3_tree_match(n, "/bar/baz/foo", (void*) data48); + ck_assert(m); + char *data49 = "/bar/baz/qux"; + m = r3_tree_match(n, "/bar/baz/qux", (void*) data49); + ck_assert(m); + char *data50 = "/bar/baz/quux"; + m = r3_tree_match(n, "/bar/baz/quux", (void*) data50); + ck_assert(m); + char *data51 = "/bar/baz/corge"; + m = r3_tree_match(n, "/bar/baz/corge", (void*) data51); + ck_assert(m); + char *data52 = "/bar/baz/grault"; + m = r3_tree_match(n, "/bar/baz/grault", (void*) data52); + ck_assert(m); + char *data53 = "/bar/baz/garply"; + m = r3_tree_match(n, "/bar/baz/garply", (void*) data53); + ck_assert(m); + char *data54 = "/bar/qux/foo"; + m = r3_tree_match(n, "/bar/qux/foo", (void*) data54); + ck_assert(m); + char *data55 = "/bar/qux/baz"; + m = r3_tree_match(n, "/bar/qux/baz", (void*) data55); + ck_assert(m); + char *data56 = "/bar/qux/quux"; + m = r3_tree_match(n, "/bar/qux/quux", (void*) data56); + ck_assert(m); + char *data57 = "/bar/qux/corge"; + m = r3_tree_match(n, "/bar/qux/corge", (void*) data57); + ck_assert(m); + char *data58 = "/bar/qux/grault"; + m = r3_tree_match(n, "/bar/qux/grault", (void*) data58); + ck_assert(m); + char *data59 = "/bar/qux/garply"; + m = r3_tree_match(n, "/bar/qux/garply", (void*) data59); + ck_assert(m); + char *data60 = "/bar/quux/foo"; + m = r3_tree_match(n, "/bar/quux/foo", (void*) data60); + ck_assert(m); + char *data61 = "/bar/quux/baz"; + m = r3_tree_match(n, "/bar/quux/baz", (void*) data61); + ck_assert(m); + char *data62 = "/bar/quux/qux"; + m = r3_tree_match(n, "/bar/quux/qux", (void*) data62); + ck_assert(m); + char *data63 = "/bar/quux/corge"; + m = r3_tree_match(n, "/bar/quux/corge", (void*) data63); + ck_assert(m); + char *data64 = "/bar/quux/grault"; + m = r3_tree_match(n, "/bar/quux/grault", (void*) data64); + ck_assert(m); + char *data65 = "/bar/quux/garply"; + m = r3_tree_match(n, "/bar/quux/garply", (void*) data65); + ck_assert(m); + char *data66 = "/bar/corge/foo"; + m = r3_tree_match(n, "/bar/corge/foo", (void*) data66); + ck_assert(m); + char *data67 = "/bar/corge/baz"; + m = r3_tree_match(n, "/bar/corge/baz", (void*) data67); + ck_assert(m); + char *data68 = "/bar/corge/qux"; + m = r3_tree_match(n, "/bar/corge/qux", (void*) data68); + ck_assert(m); + char *data69 = "/bar/corge/quux"; + m = r3_tree_match(n, "/bar/corge/quux", (void*) data69); + ck_assert(m); + char *data70 = "/bar/corge/grault"; + m = r3_tree_match(n, "/bar/corge/grault", (void*) data70); + ck_assert(m); + char *data71 = "/bar/corge/garply"; + m = r3_tree_match(n, "/bar/corge/garply", (void*) data71); + ck_assert(m); + char *data72 = "/bar/grault/foo"; + m = r3_tree_match(n, "/bar/grault/foo", (void*) data72); + ck_assert(m); + char *data73 = "/bar/grault/baz"; + m = r3_tree_match(n, "/bar/grault/baz", (void*) data73); + ck_assert(m); + char *data74 = "/bar/grault/qux"; + m = r3_tree_match(n, "/bar/grault/qux", (void*) data74); + ck_assert(m); + char *data75 = "/bar/grault/quux"; + m = r3_tree_match(n, "/bar/grault/quux", (void*) data75); + ck_assert(m); + char *data76 = "/bar/grault/corge"; + m = r3_tree_match(n, "/bar/grault/corge", (void*) data76); + ck_assert(m); + char *data77 = "/bar/grault/garply"; + m = r3_tree_match(n, "/bar/grault/garply", (void*) data77); + ck_assert(m); + char *data78 = "/bar/garply/foo"; + m = r3_tree_match(n, "/bar/garply/foo", (void*) data78); + ck_assert(m); + char *data79 = "/bar/garply/baz"; + m = r3_tree_match(n, "/bar/garply/baz", (void*) data79); + ck_assert(m); + char *data80 = "/bar/garply/qux"; + m = r3_tree_match(n, "/bar/garply/qux", (void*) data80); + ck_assert(m); + char *data81 = "/bar/garply/quux"; + m = r3_tree_match(n, "/bar/garply/quux", (void*) data81); + ck_assert(m); + char *data82 = "/bar/garply/corge"; + m = r3_tree_match(n, "/bar/garply/corge", (void*) data82); + ck_assert(m); + char *data83 = "/bar/garply/grault"; + m = r3_tree_match(n, "/bar/garply/grault", (void*) data83); + ck_assert(m); + char *data84 = "/baz/foo/bar"; + m = r3_tree_match(n, "/baz/foo/bar", (void*) data84); + ck_assert(m); + char *data85 = "/baz/foo/qux"; + m = r3_tree_match(n, "/baz/foo/qux", (void*) data85); + ck_assert(m); + char *data86 = "/baz/foo/quux"; + m = r3_tree_match(n, "/baz/foo/quux", (void*) data86); + ck_assert(m); + char *data87 = "/baz/foo/corge"; + m = r3_tree_match(n, "/baz/foo/corge", (void*) data87); + ck_assert(m); + char *data88 = "/baz/foo/grault"; + m = r3_tree_match(n, "/baz/foo/grault", (void*) data88); + ck_assert(m); + char *data89 = "/baz/foo/garply"; + m = r3_tree_match(n, "/baz/foo/garply", (void*) data89); + ck_assert(m); + char *data90 = "/baz/bar/foo"; + m = r3_tree_match(n, "/baz/bar/foo", (void*) data90); + ck_assert(m); + char *data91 = "/baz/bar/qux"; + m = r3_tree_match(n, "/baz/bar/qux", (void*) data91); + ck_assert(m); + char *data92 = "/baz/bar/quux"; + m = r3_tree_match(n, "/baz/bar/quux", (void*) data92); + ck_assert(m); + char *data93 = "/baz/bar/corge"; + m = r3_tree_match(n, "/baz/bar/corge", (void*) data93); + ck_assert(m); + char *data94 = "/baz/bar/grault"; + m = r3_tree_match(n, "/baz/bar/grault", (void*) data94); + ck_assert(m); + char *data95 = "/baz/bar/garply"; + m = r3_tree_match(n, "/baz/bar/garply", (void*) data95); + ck_assert(m); + char *data96 = "/baz/qux/foo"; + m = r3_tree_match(n, "/baz/qux/foo", (void*) data96); + ck_assert(m); + char *data97 = "/baz/qux/bar"; + m = r3_tree_match(n, "/baz/qux/bar", (void*) data97); + ck_assert(m); + char *data98 = "/baz/qux/quux"; + m = r3_tree_match(n, "/baz/qux/quux", (void*) data98); + ck_assert(m); + char *data99 = "/baz/qux/corge"; + m = r3_tree_match(n, "/baz/qux/corge", (void*) data99); + ck_assert(m); + char *data100 = "/baz/qux/grault"; + m = r3_tree_match(n, "/baz/qux/grault", (void*) data100); + ck_assert(m); + char *data101 = "/baz/qux/garply"; + m = r3_tree_match(n, "/baz/qux/garply", (void*) data101); + ck_assert(m); + char *data102 = "/baz/quux/foo"; + m = r3_tree_match(n, "/baz/quux/foo", (void*) data102); + ck_assert(m); + char *data103 = "/baz/quux/bar"; + m = r3_tree_match(n, "/baz/quux/bar", (void*) data103); + ck_assert(m); + char *data104 = "/baz/quux/qux"; + m = r3_tree_match(n, "/baz/quux/qux", (void*) data104); + ck_assert(m); + char *data105 = "/baz/quux/corge"; + m = r3_tree_match(n, "/baz/quux/corge", (void*) data105); + ck_assert(m); + char *data106 = "/baz/quux/grault"; + m = r3_tree_match(n, "/baz/quux/grault", (void*) data106); + ck_assert(m); + char *data107 = "/baz/quux/garply"; + m = r3_tree_match(n, "/baz/quux/garply", (void*) data107); + ck_assert(m); + char *data108 = "/baz/corge/foo"; + m = r3_tree_match(n, "/baz/corge/foo", (void*) data108); + ck_assert(m); + char *data109 = "/baz/corge/bar"; + m = r3_tree_match(n, "/baz/corge/bar", (void*) data109); + ck_assert(m); + char *data110 = "/baz/corge/qux"; + m = r3_tree_match(n, "/baz/corge/qux", (void*) data110); + ck_assert(m); + char *data111 = "/baz/corge/quux"; + m = r3_tree_match(n, "/baz/corge/quux", (void*) data111); + ck_assert(m); + char *data112 = "/baz/corge/grault"; + m = r3_tree_match(n, "/baz/corge/grault", (void*) data112); + ck_assert(m); + char *data113 = "/baz/corge/garply"; + m = r3_tree_match(n, "/baz/corge/garply", (void*) data113); + ck_assert(m); + char *data114 = "/baz/grault/foo"; + m = r3_tree_match(n, "/baz/grault/foo", (void*) data114); + ck_assert(m); + char *data115 = "/baz/grault/bar"; + m = r3_tree_match(n, "/baz/grault/bar", (void*) data115); + ck_assert(m); + char *data116 = "/baz/grault/qux"; + m = r3_tree_match(n, "/baz/grault/qux", (void*) data116); + ck_assert(m); + char *data117 = "/baz/grault/quux"; + m = r3_tree_match(n, "/baz/grault/quux", (void*) data117); + ck_assert(m); + char *data118 = "/baz/grault/corge"; + m = r3_tree_match(n, "/baz/grault/corge", (void*) data118); + ck_assert(m); + char *data119 = "/baz/grault/garply"; + m = r3_tree_match(n, "/baz/grault/garply", (void*) data119); + ck_assert(m); + char *data120 = "/baz/garply/foo"; + m = r3_tree_match(n, "/baz/garply/foo", (void*) data120); + ck_assert(m); + char *data121 = "/baz/garply/bar"; + m = r3_tree_match(n, "/baz/garply/bar", (void*) data121); + ck_assert(m); + char *data122 = "/baz/garply/qux"; + m = r3_tree_match(n, "/baz/garply/qux", (void*) data122); + ck_assert(m); + char *data123 = "/baz/garply/quux"; + m = r3_tree_match(n, "/baz/garply/quux", (void*) data123); + ck_assert(m); + char *data124 = "/baz/garply/corge"; + m = r3_tree_match(n, "/baz/garply/corge", (void*) data124); + ck_assert(m); + char *data125 = "/baz/garply/grault"; + m = r3_tree_match(n, "/baz/garply/grault", (void*) data125); + ck_assert(m); + char *data126 = "/qux/foo/bar"; + m = r3_tree_match(n, "/qux/foo/bar", (void*) data126); + ck_assert(m); + char *data127 = "/qux/foo/baz"; + m = r3_tree_match(n, "/qux/foo/baz", (void*) data127); + ck_assert(m); + char *data128 = "/qux/foo/quux"; + m = r3_tree_match(n, "/qux/foo/quux", (void*) data128); + ck_assert(m); + char *data129 = "/qux/foo/corge"; + m = r3_tree_match(n, "/qux/foo/corge", (void*) data129); + ck_assert(m); + char *data130 = "/qux/foo/grault"; + m = r3_tree_match(n, "/qux/foo/grault", (void*) data130); + ck_assert(m); + char *data131 = "/qux/foo/garply"; + m = r3_tree_match(n, "/qux/foo/garply", (void*) data131); + ck_assert(m); + char *data132 = "/qux/bar/foo"; + m = r3_tree_match(n, "/qux/bar/foo", (void*) data132); + ck_assert(m); + char *data133 = "/qux/bar/baz"; + m = r3_tree_match(n, "/qux/bar/baz", (void*) data133); + ck_assert(m); + char *data134 = "/qux/bar/quux"; + m = r3_tree_match(n, "/qux/bar/quux", (void*) data134); + ck_assert(m); + char *data135 = "/qux/bar/corge"; + m = r3_tree_match(n, "/qux/bar/corge", (void*) data135); + ck_assert(m); + char *data136 = "/qux/bar/grault"; + m = r3_tree_match(n, "/qux/bar/grault", (void*) data136); + ck_assert(m); + char *data137 = "/qux/bar/garply"; + m = r3_tree_match(n, "/qux/bar/garply", (void*) data137); + ck_assert(m); + char *data138 = "/qux/baz/foo"; + m = r3_tree_match(n, "/qux/baz/foo", (void*) data138); + ck_assert(m); + char *data139 = "/qux/baz/bar"; + m = r3_tree_match(n, "/qux/baz/bar", (void*) data139); + ck_assert(m); + char *data140 = "/qux/baz/quux"; + m = r3_tree_match(n, "/qux/baz/quux", (void*) data140); + ck_assert(m); + char *data141 = "/qux/baz/corge"; + m = r3_tree_match(n, "/qux/baz/corge", (void*) data141); + ck_assert(m); + char *data142 = "/qux/baz/grault"; + m = r3_tree_match(n, "/qux/baz/grault", (void*) data142); + ck_assert(m); + char *data143 = "/qux/baz/garply"; + m = r3_tree_match(n, "/qux/baz/garply", (void*) data143); + ck_assert(m); + char *data144 = "/qux/quux/foo"; + m = r3_tree_match(n, "/qux/quux/foo", (void*) data144); + ck_assert(m); + char *data145 = "/qux/quux/bar"; + m = r3_tree_match(n, "/qux/quux/bar", (void*) data145); + ck_assert(m); + char *data146 = "/qux/quux/baz"; + m = r3_tree_match(n, "/qux/quux/baz", (void*) data146); + ck_assert(m); + char *data147 = "/qux/quux/corge"; + m = r3_tree_match(n, "/qux/quux/corge", (void*) data147); + ck_assert(m); + char *data148 = "/qux/quux/grault"; + m = r3_tree_match(n, "/qux/quux/grault", (void*) data148); + ck_assert(m); + char *data149 = "/qux/quux/garply"; + m = r3_tree_match(n, "/qux/quux/garply", (void*) data149); + ck_assert(m); + char *data150 = "/qux/corge/foo"; + m = r3_tree_match(n, "/qux/corge/foo", (void*) data150); + ck_assert(m); + char *data151 = "/qux/corge/bar"; + m = r3_tree_match(n, "/qux/corge/bar", (void*) data151); + ck_assert(m); + char *data152 = "/qux/corge/baz"; + m = r3_tree_match(n, "/qux/corge/baz", (void*) data152); + ck_assert(m); + char *data153 = "/qux/corge/quux"; + m = r3_tree_match(n, "/qux/corge/quux", (void*) data153); + ck_assert(m); + char *data154 = "/qux/corge/grault"; + m = r3_tree_match(n, "/qux/corge/grault", (void*) data154); + ck_assert(m); + char *data155 = "/qux/corge/garply"; + m = r3_tree_match(n, "/qux/corge/garply", (void*) data155); + ck_assert(m); + char *data156 = "/qux/grault/foo"; + m = r3_tree_match(n, "/qux/grault/foo", (void*) data156); + ck_assert(m); + char *data157 = "/qux/grault/bar"; + m = r3_tree_match(n, "/qux/grault/bar", (void*) data157); + ck_assert(m); + char *data158 = "/qux/grault/baz"; + m = r3_tree_match(n, "/qux/grault/baz", (void*) data158); + ck_assert(m); + char *data159 = "/qux/grault/quux"; + m = r3_tree_match(n, "/qux/grault/quux", (void*) data159); + ck_assert(m); + char *data160 = "/qux/grault/corge"; + m = r3_tree_match(n, "/qux/grault/corge", (void*) data160); + ck_assert(m); + char *data161 = "/qux/grault/garply"; + m = r3_tree_match(n, "/qux/grault/garply", (void*) data161); + ck_assert(m); + char *data162 = "/qux/garply/foo"; + m = r3_tree_match(n, "/qux/garply/foo", (void*) data162); + ck_assert(m); + char *data163 = "/qux/garply/bar"; + m = r3_tree_match(n, "/qux/garply/bar", (void*) data163); + ck_assert(m); + char *data164 = "/qux/garply/baz"; + m = r3_tree_match(n, "/qux/garply/baz", (void*) data164); + ck_assert(m); + char *data165 = "/qux/garply/quux"; + m = r3_tree_match(n, "/qux/garply/quux", (void*) data165); + ck_assert(m); + char *data166 = "/qux/garply/corge"; + m = r3_tree_match(n, "/qux/garply/corge", (void*) data166); + ck_assert(m); + char *data167 = "/qux/garply/grault"; + m = r3_tree_match(n, "/qux/garply/grault", (void*) data167); + ck_assert(m); + char *data168 = "/quux/foo/bar"; + m = r3_tree_match(n, "/quux/foo/bar", (void*) data168); + ck_assert(m); + char *data169 = "/quux/foo/baz"; + m = r3_tree_match(n, "/quux/foo/baz", (void*) data169); + ck_assert(m); + char *data170 = "/quux/foo/qux"; + m = r3_tree_match(n, "/quux/foo/qux", (void*) data170); + ck_assert(m); + char *data171 = "/quux/foo/corge"; + m = r3_tree_match(n, "/quux/foo/corge", (void*) data171); + ck_assert(m); + char *data172 = "/quux/foo/grault"; + m = r3_tree_match(n, "/quux/foo/grault", (void*) data172); + ck_assert(m); + char *data173 = "/quux/foo/garply"; + m = r3_tree_match(n, "/quux/foo/garply", (void*) data173); + ck_assert(m); + char *data174 = "/quux/bar/foo"; + m = r3_tree_match(n, "/quux/bar/foo", (void*) data174); + ck_assert(m); + char *data175 = "/quux/bar/baz"; + m = r3_tree_match(n, "/quux/bar/baz", (void*) data175); + ck_assert(m); + char *data176 = "/quux/bar/qux"; + m = r3_tree_match(n, "/quux/bar/qux", (void*) data176); + ck_assert(m); + char *data177 = "/quux/bar/corge"; + m = r3_tree_match(n, "/quux/bar/corge", (void*) data177); + ck_assert(m); + char *data178 = "/quux/bar/grault"; + m = r3_tree_match(n, "/quux/bar/grault", (void*) data178); + ck_assert(m); + char *data179 = "/quux/bar/garply"; + m = r3_tree_match(n, "/quux/bar/garply", (void*) data179); + ck_assert(m); + char *data180 = "/quux/baz/foo"; + m = r3_tree_match(n, "/quux/baz/foo", (void*) data180); + ck_assert(m); + char *data181 = "/quux/baz/bar"; + m = r3_tree_match(n, "/quux/baz/bar", (void*) data181); + ck_assert(m); + char *data182 = "/quux/baz/qux"; + m = r3_tree_match(n, "/quux/baz/qux", (void*) data182); + ck_assert(m); + char *data183 = "/quux/baz/corge"; + m = r3_tree_match(n, "/quux/baz/corge", (void*) data183); + ck_assert(m); + char *data184 = "/quux/baz/grault"; + m = r3_tree_match(n, "/quux/baz/grault", (void*) data184); + ck_assert(m); + char *data185 = "/quux/baz/garply"; + m = r3_tree_match(n, "/quux/baz/garply", (void*) data185); + ck_assert(m); + char *data186 = "/quux/qux/foo"; + m = r3_tree_match(n, "/quux/qux/foo", (void*) data186); + ck_assert(m); + char *data187 = "/quux/qux/bar"; + m = r3_tree_match(n, "/quux/qux/bar", (void*) data187); + ck_assert(m); + char *data188 = "/quux/qux/baz"; + m = r3_tree_match(n, "/quux/qux/baz", (void*) data188); + ck_assert(m); + char *data189 = "/quux/qux/corge"; + m = r3_tree_match(n, "/quux/qux/corge", (void*) data189); + ck_assert(m); + char *data190 = "/quux/qux/grault"; + m = r3_tree_match(n, "/quux/qux/grault", (void*) data190); + ck_assert(m); + char *data191 = "/quux/qux/garply"; + m = r3_tree_match(n, "/quux/qux/garply", (void*) data191); + ck_assert(m); + char *data192 = "/quux/corge/foo"; + m = r3_tree_match(n, "/quux/corge/foo", (void*) data192); + ck_assert(m); + char *data193 = "/quux/corge/bar"; + m = r3_tree_match(n, "/quux/corge/bar", (void*) data193); + ck_assert(m); + char *data194 = "/quux/corge/baz"; + m = r3_tree_match(n, "/quux/corge/baz", (void*) data194); + ck_assert(m); + char *data195 = "/quux/corge/qux"; + m = r3_tree_match(n, "/quux/corge/qux", (void*) data195); + ck_assert(m); + char *data196 = "/quux/corge/grault"; + m = r3_tree_match(n, "/quux/corge/grault", (void*) data196); + ck_assert(m); + char *data197 = "/quux/corge/garply"; + m = r3_tree_match(n, "/quux/corge/garply", (void*) data197); + ck_assert(m); + char *data198 = "/quux/grault/foo"; + m = r3_tree_match(n, "/quux/grault/foo", (void*) data198); + ck_assert(m); + char *data199 = "/quux/grault/bar"; + m = r3_tree_match(n, "/quux/grault/bar", (void*) data199); + ck_assert(m); + char *data200 = "/quux/grault/baz"; + m = r3_tree_match(n, "/quux/grault/baz", (void*) data200); + ck_assert(m); + char *data201 = "/quux/grault/qux"; + m = r3_tree_match(n, "/quux/grault/qux", (void*) data201); + ck_assert(m); + char *data202 = "/quux/grault/corge"; + m = r3_tree_match(n, "/quux/grault/corge", (void*) data202); + ck_assert(m); + char *data203 = "/quux/grault/garply"; + m = r3_tree_match(n, "/quux/grault/garply", (void*) data203); + ck_assert(m); + char *data204 = "/quux/garply/foo"; + m = r3_tree_match(n, "/quux/garply/foo", (void*) data204); + ck_assert(m); + char *data205 = "/quux/garply/bar"; + m = r3_tree_match(n, "/quux/garply/bar", (void*) data205); + ck_assert(m); + char *data206 = "/quux/garply/baz"; + m = r3_tree_match(n, "/quux/garply/baz", (void*) data206); + ck_assert(m); + char *data207 = "/quux/garply/qux"; + m = r3_tree_match(n, "/quux/garply/qux", (void*) data207); + ck_assert(m); + char *data208 = "/quux/garply/corge"; + m = r3_tree_match(n, "/quux/garply/corge", (void*) data208); + ck_assert(m); + char *data209 = "/quux/garply/grault"; + m = r3_tree_match(n, "/quux/garply/grault", (void*) data209); + ck_assert(m); + char *data210 = "/corge/foo/bar"; + m = r3_tree_match(n, "/corge/foo/bar", (void*) data210); + ck_assert(m); + char *data211 = "/corge/foo/baz"; + m = r3_tree_match(n, "/corge/foo/baz", (void*) data211); + ck_assert(m); + char *data212 = "/corge/foo/qux"; + m = r3_tree_match(n, "/corge/foo/qux", (void*) data212); + ck_assert(m); + char *data213 = "/corge/foo/quux"; + m = r3_tree_match(n, "/corge/foo/quux", (void*) data213); + ck_assert(m); + char *data214 = "/corge/foo/grault"; + m = r3_tree_match(n, "/corge/foo/grault", (void*) data214); + ck_assert(m); + char *data215 = "/corge/foo/garply"; + m = r3_tree_match(n, "/corge/foo/garply", (void*) data215); + ck_assert(m); + char *data216 = "/corge/bar/foo"; + m = r3_tree_match(n, "/corge/bar/foo", (void*) data216); + ck_assert(m); + char *data217 = "/corge/bar/baz"; + m = r3_tree_match(n, "/corge/bar/baz", (void*) data217); + ck_assert(m); + char *data218 = "/corge/bar/qux"; + m = r3_tree_match(n, "/corge/bar/qux", (void*) data218); + ck_assert(m); + char *data219 = "/corge/bar/quux"; + m = r3_tree_match(n, "/corge/bar/quux", (void*) data219); + ck_assert(m); + char *data220 = "/corge/bar/grault"; + m = r3_tree_match(n, "/corge/bar/grault", (void*) data220); + ck_assert(m); + char *data221 = "/corge/bar/garply"; + m = r3_tree_match(n, "/corge/bar/garply", (void*) data221); + ck_assert(m); + char *data222 = "/corge/baz/foo"; + m = r3_tree_match(n, "/corge/baz/foo", (void*) data222); + ck_assert(m); + char *data223 = "/corge/baz/bar"; + m = r3_tree_match(n, "/corge/baz/bar", (void*) data223); + ck_assert(m); + char *data224 = "/corge/baz/qux"; + m = r3_tree_match(n, "/corge/baz/qux", (void*) data224); + ck_assert(m); + char *data225 = "/corge/baz/quux"; + m = r3_tree_match(n, "/corge/baz/quux", (void*) data225); + ck_assert(m); + char *data226 = "/corge/baz/grault"; + m = r3_tree_match(n, "/corge/baz/grault", (void*) data226); + ck_assert(m); + char *data227 = "/corge/baz/garply"; + m = r3_tree_match(n, "/corge/baz/garply", (void*) data227); + ck_assert(m); + char *data228 = "/corge/qux/foo"; + m = r3_tree_match(n, "/corge/qux/foo", (void*) data228); + ck_assert(m); + char *data229 = "/corge/qux/bar"; + m = r3_tree_match(n, "/corge/qux/bar", (void*) data229); + ck_assert(m); + char *data230 = "/corge/qux/baz"; + m = r3_tree_match(n, "/corge/qux/baz", (void*) data230); + ck_assert(m); + char *data231 = "/corge/qux/quux"; + m = r3_tree_match(n, "/corge/qux/quux", (void*) data231); + ck_assert(m); + char *data232 = "/corge/qux/grault"; + m = r3_tree_match(n, "/corge/qux/grault", (void*) data232); + ck_assert(m); + char *data233 = "/corge/qux/garply"; + m = r3_tree_match(n, "/corge/qux/garply", (void*) data233); + ck_assert(m); + char *data234 = "/corge/quux/foo"; + m = r3_tree_match(n, "/corge/quux/foo", (void*) data234); + ck_assert(m); + char *data235 = "/corge/quux/bar"; + m = r3_tree_match(n, "/corge/quux/bar", (void*) data235); + ck_assert(m); + char *data236 = "/corge/quux/baz"; + m = r3_tree_match(n, "/corge/quux/baz", (void*) data236); + ck_assert(m); + char *data237 = "/corge/quux/qux"; + m = r3_tree_match(n, "/corge/quux/qux", (void*) data237); + ck_assert(m); + char *data238 = "/corge/quux/grault"; + m = r3_tree_match(n, "/corge/quux/grault", (void*) data238); + ck_assert(m); + char *data239 = "/corge/quux/garply"; + m = r3_tree_match(n, "/corge/quux/garply", (void*) data239); + ck_assert(m); + char *data240 = "/corge/grault/foo"; + m = r3_tree_match(n, "/corge/grault/foo", (void*) data240); + ck_assert(m); + char *data241 = "/corge/grault/bar"; + m = r3_tree_match(n, "/corge/grault/bar", (void*) data241); + ck_assert(m); + char *data242 = "/corge/grault/baz"; + m = r3_tree_match(n, "/corge/grault/baz", (void*) data242); + ck_assert(m); + char *data243 = "/corge/grault/qux"; + m = r3_tree_match(n, "/corge/grault/qux", (void*) data243); + ck_assert(m); + char *data244 = "/corge/grault/quux"; + m = r3_tree_match(n, "/corge/grault/quux", (void*) data244); + ck_assert(m); + char *data245 = "/corge/grault/garply"; + m = r3_tree_match(n, "/corge/grault/garply", (void*) data245); + ck_assert(m); + char *data246 = "/corge/garply/foo"; + m = r3_tree_match(n, "/corge/garply/foo", (void*) data246); + ck_assert(m); + char *data247 = "/corge/garply/bar"; + m = r3_tree_match(n, "/corge/garply/bar", (void*) data247); + ck_assert(m); + char *data248 = "/corge/garply/baz"; + m = r3_tree_match(n, "/corge/garply/baz", (void*) data248); + ck_assert(m); + char *data249 = "/corge/garply/qux"; + m = r3_tree_match(n, "/corge/garply/qux", (void*) data249); + ck_assert(m); + char *data250 = "/corge/garply/quux"; + m = r3_tree_match(n, "/corge/garply/quux", (void*) data250); + ck_assert(m); + char *data251 = "/corge/garply/grault"; + m = r3_tree_match(n, "/corge/garply/grault", (void*) data251); + ck_assert(m); + char *data252 = "/grault/foo/bar"; + m = r3_tree_match(n, "/grault/foo/bar", (void*) data252); + ck_assert(m); + char *data253 = "/grault/foo/baz"; + m = r3_tree_match(n, "/grault/foo/baz", (void*) data253); + ck_assert(m); + char *data254 = "/grault/foo/qux"; + m = r3_tree_match(n, "/grault/foo/qux", (void*) data254); + ck_assert(m); + char *data255 = "/grault/foo/quux"; + m = r3_tree_match(n, "/grault/foo/quux", (void*) data255); + ck_assert(m); + char *data256 = "/grault/foo/corge"; + m = r3_tree_match(n, "/grault/foo/corge", (void*) data256); + ck_assert(m); + char *data257 = "/grault/foo/garply"; + m = r3_tree_match(n, "/grault/foo/garply", (void*) data257); + ck_assert(m); + char *data258 = "/grault/bar/foo"; + m = r3_tree_match(n, "/grault/bar/foo", (void*) data258); + ck_assert(m); + char *data259 = "/grault/bar/baz"; + m = r3_tree_match(n, "/grault/bar/baz", (void*) data259); + ck_assert(m); + char *data260 = "/grault/bar/qux"; + m = r3_tree_match(n, "/grault/bar/qux", (void*) data260); + ck_assert(m); + char *data261 = "/grault/bar/quux"; + m = r3_tree_match(n, "/grault/bar/quux", (void*) data261); + ck_assert(m); + char *data262 = "/grault/bar/corge"; + m = r3_tree_match(n, "/grault/bar/corge", (void*) data262); + ck_assert(m); + char *data263 = "/grault/bar/garply"; + m = r3_tree_match(n, "/grault/bar/garply", (void*) data263); + ck_assert(m); + char *data264 = "/grault/baz/foo"; + m = r3_tree_match(n, "/grault/baz/foo", (void*) data264); + ck_assert(m); + char *data265 = "/grault/baz/bar"; + m = r3_tree_match(n, "/grault/baz/bar", (void*) data265); + ck_assert(m); + char *data266 = "/grault/baz/qux"; + m = r3_tree_match(n, "/grault/baz/qux", (void*) data266); + ck_assert(m); + char *data267 = "/grault/baz/quux"; + m = r3_tree_match(n, "/grault/baz/quux", (void*) data267); + ck_assert(m); + char *data268 = "/grault/baz/corge"; + m = r3_tree_match(n, "/grault/baz/corge", (void*) data268); + ck_assert(m); + char *data269 = "/grault/baz/garply"; + m = r3_tree_match(n, "/grault/baz/garply", (void*) data269); + ck_assert(m); + char *data270 = "/grault/qux/foo"; + m = r3_tree_match(n, "/grault/qux/foo", (void*) data270); + ck_assert(m); + char *data271 = "/grault/qux/bar"; + m = r3_tree_match(n, "/grault/qux/bar", (void*) data271); + ck_assert(m); + char *data272 = "/grault/qux/baz"; + m = r3_tree_match(n, "/grault/qux/baz", (void*) data272); + ck_assert(m); + char *data273 = "/grault/qux/quux"; + m = r3_tree_match(n, "/grault/qux/quux", (void*) data273); + ck_assert(m); + char *data274 = "/grault/qux/corge"; + m = r3_tree_match(n, "/grault/qux/corge", (void*) data274); + ck_assert(m); + char *data275 = "/grault/qux/garply"; + m = r3_tree_match(n, "/grault/qux/garply", (void*) data275); + ck_assert(m); + char *data276 = "/grault/quux/foo"; + m = r3_tree_match(n, "/grault/quux/foo", (void*) data276); + ck_assert(m); + char *data277 = "/grault/quux/bar"; + m = r3_tree_match(n, "/grault/quux/bar", (void*) data277); + ck_assert(m); + char *data278 = "/grault/quux/baz"; + m = r3_tree_match(n, "/grault/quux/baz", (void*) data278); + ck_assert(m); + char *data279 = "/grault/quux/qux"; + m = r3_tree_match(n, "/grault/quux/qux", (void*) data279); + ck_assert(m); + char *data280 = "/grault/quux/corge"; + m = r3_tree_match(n, "/grault/quux/corge", (void*) data280); + ck_assert(m); + char *data281 = "/grault/quux/garply"; + m = r3_tree_match(n, "/grault/quux/garply", (void*) data281); + ck_assert(m); + char *data282 = "/grault/corge/foo"; + m = r3_tree_match(n, "/grault/corge/foo", (void*) data282); + ck_assert(m); + char *data283 = "/grault/corge/bar"; + m = r3_tree_match(n, "/grault/corge/bar", (void*) data283); + ck_assert(m); + char *data284 = "/grault/corge/baz"; + m = r3_tree_match(n, "/grault/corge/baz", (void*) data284); + ck_assert(m); + char *data285 = "/grault/corge/qux"; + m = r3_tree_match(n, "/grault/corge/qux", (void*) data285); + ck_assert(m); + char *data286 = "/grault/corge/quux"; + m = r3_tree_match(n, "/grault/corge/quux", (void*) data286); + ck_assert(m); + char *data287 = "/grault/corge/garply"; + m = r3_tree_match(n, "/grault/corge/garply", (void*) data287); + ck_assert(m); + char *data288 = "/grault/garply/foo"; + m = r3_tree_match(n, "/grault/garply/foo", (void*) data288); + ck_assert(m); + char *data289 = "/grault/garply/bar"; + m = r3_tree_match(n, "/grault/garply/bar", (void*) data289); + ck_assert(m); + char *data290 = "/grault/garply/baz"; + m = r3_tree_match(n, "/grault/garply/baz", (void*) data290); + ck_assert(m); + char *data291 = "/grault/garply/qux"; + m = r3_tree_match(n, "/grault/garply/qux", (void*) data291); + ck_assert(m); + char *data292 = "/grault/garply/quux"; + m = r3_tree_match(n, "/grault/garply/quux", (void*) data292); + ck_assert(m); + char *data293 = "/grault/garply/corge"; + m = r3_tree_match(n, "/grault/garply/corge", (void*) data293); + ck_assert(m); + char *data294 = "/garply/foo/bar"; + m = r3_tree_match(n, "/garply/foo/bar", (void*) data294); + ck_assert(m); + char *data295 = "/garply/foo/baz"; + m = r3_tree_match(n, "/garply/foo/baz", (void*) data295); + ck_assert(m); + char *data296 = "/garply/foo/qux"; + m = r3_tree_match(n, "/garply/foo/qux", (void*) data296); + ck_assert(m); + char *data297 = "/garply/foo/quux"; + m = r3_tree_match(n, "/garply/foo/quux", (void*) data297); + ck_assert(m); + char *data298 = "/garply/foo/corge"; + m = r3_tree_match(n, "/garply/foo/corge", (void*) data298); + ck_assert(m); + char *data299 = "/garply/foo/grault"; + m = r3_tree_match(n, "/garply/foo/grault", (void*) data299); + ck_assert(m); + char *data300 = "/garply/bar/foo"; + m = r3_tree_match(n, "/garply/bar/foo", (void*) data300); + ck_assert(m); + char *data301 = "/garply/bar/baz"; + m = r3_tree_match(n, "/garply/bar/baz", (void*) data301); + ck_assert(m); + char *data302 = "/garply/bar/qux"; + m = r3_tree_match(n, "/garply/bar/qux", (void*) data302); + ck_assert(m); + char *data303 = "/garply/bar/quux"; + m = r3_tree_match(n, "/garply/bar/quux", (void*) data303); + ck_assert(m); + char *data304 = "/garply/bar/corge"; + m = r3_tree_match(n, "/garply/bar/corge", (void*) data304); + ck_assert(m); + char *data305 = "/garply/bar/grault"; + m = r3_tree_match(n, "/garply/bar/grault", (void*) data305); + ck_assert(m); + char *data306 = "/garply/baz/foo"; + m = r3_tree_match(n, "/garply/baz/foo", (void*) data306); + ck_assert(m); + char *data307 = "/garply/baz/bar"; + m = r3_tree_match(n, "/garply/baz/bar", (void*) data307); + ck_assert(m); + char *data308 = "/garply/baz/qux"; + m = r3_tree_match(n, "/garply/baz/qux", (void*) data308); + ck_assert(m); + char *data309 = "/garply/baz/quux"; + m = r3_tree_match(n, "/garply/baz/quux", (void*) data309); + ck_assert(m); + char *data310 = "/garply/baz/corge"; + m = r3_tree_match(n, "/garply/baz/corge", (void*) data310); + ck_assert(m); + char *data311 = "/garply/baz/grault"; + m = r3_tree_match(n, "/garply/baz/grault", (void*) data311); + ck_assert(m); + char *data312 = "/garply/qux/foo"; + m = r3_tree_match(n, "/garply/qux/foo", (void*) data312); + ck_assert(m); + char *data313 = "/garply/qux/bar"; + m = r3_tree_match(n, "/garply/qux/bar", (void*) data313); + ck_assert(m); + char *data314 = "/garply/qux/baz"; + m = r3_tree_match(n, "/garply/qux/baz", (void*) data314); + ck_assert(m); + char *data315 = "/garply/qux/quux"; + m = r3_tree_match(n, "/garply/qux/quux", (void*) data315); + ck_assert(m); + char *data316 = "/garply/qux/corge"; + m = r3_tree_match(n, "/garply/qux/corge", (void*) data316); + ck_assert(m); + char *data317 = "/garply/qux/grault"; + m = r3_tree_match(n, "/garply/qux/grault", (void*) data317); + ck_assert(m); + char *data318 = "/garply/quux/foo"; + m = r3_tree_match(n, "/garply/quux/foo", (void*) data318); + ck_assert(m); + char *data319 = "/garply/quux/bar"; + m = r3_tree_match(n, "/garply/quux/bar", (void*) data319); + ck_assert(m); + char *data320 = "/garply/quux/baz"; + m = r3_tree_match(n, "/garply/quux/baz", (void*) data320); + ck_assert(m); + char *data321 = "/garply/quux/qux"; + m = r3_tree_match(n, "/garply/quux/qux", (void*) data321); + ck_assert(m); + char *data322 = "/garply/quux/corge"; + m = r3_tree_match(n, "/garply/quux/corge", (void*) data322); + ck_assert(m); + char *data323 = "/garply/quux/grault"; + m = r3_tree_match(n, "/garply/quux/grault", (void*) data323); + ck_assert(m); + char *data324 = "/garply/corge/foo"; + m = r3_tree_match(n, "/garply/corge/foo", (void*) data324); + ck_assert(m); + char *data325 = "/garply/corge/bar"; + m = r3_tree_match(n, "/garply/corge/bar", (void*) data325); + ck_assert(m); + char *data326 = "/garply/corge/baz"; + m = r3_tree_match(n, "/garply/corge/baz", (void*) data326); + ck_assert(m); + char *data327 = "/garply/corge/qux"; + m = r3_tree_match(n, "/garply/corge/qux", (void*) data327); + ck_assert(m); + char *data328 = "/garply/corge/quux"; + m = r3_tree_match(n, "/garply/corge/quux", (void*) data328); + ck_assert(m); + char *data329 = "/garply/corge/grault"; + m = r3_tree_match(n, "/garply/corge/grault", (void*) data329); + ck_assert(m); + char *data330 = "/garply/grault/foo"; + m = r3_tree_match(n, "/garply/grault/foo", (void*) data330); + ck_assert(m); + char *data331 = "/garply/grault/bar"; + m = r3_tree_match(n, "/garply/grault/bar", (void*) data331); + ck_assert(m); + char *data332 = "/garply/grault/baz"; + m = r3_tree_match(n, "/garply/grault/baz", (void*) data332); + ck_assert(m); + char *data333 = "/garply/grault/qux"; + m = r3_tree_match(n, "/garply/grault/qux", (void*) data333); + ck_assert(m); + char *data334 = "/garply/grault/quux"; + m = r3_tree_match(n, "/garply/grault/quux", (void*) data334); + ck_assert(m); + char *data335 = "/garply/grault/corge"; + m = r3_tree_match(n, "/garply/grault/corge", (void*) data335); + ck_assert(m); + + r3_tree_free(n); + +} +END_TEST + + + +Suite* r3_suite (void) { + Suite *suite = suite_create("r3 routes tests"); + TCase *tcase = tcase_create("testcase"); + tcase_add_test(tcase, test_routes); + suite_add_tcase(suite, tcase); + return suite; +} + +int main (int argc, char *argv[]) { + int number_failed; + Suite *suite = r3_suite(); + SRunner *runner = srunner_create(suite); + srunner_run_all(runner, CK_NORMAL); + number_failed = srunner_ntests_failed(runner); + srunner_free(runner); + return number_failed; +} + From 8c3598776032cf07fcbab58b08e7b768e8ca6dc9 Mon Sep 17 00:00:00 2001 From: c9s Date: Mon, 2 Jun 2014 10:06:10 +0800 Subject: [PATCH 08/12] More and more routes tests --- gen_route_tests.rb | 75 ++ tests/Makefile.am | 3 + tests/check_routes.c | 2352 ++++++++++++++++++++++++------------------ 3 files changed, 1422 insertions(+), 1008 deletions(-) create mode 100644 gen_route_tests.rb diff --git a/gen_route_tests.rb b/gen_route_tests.rb new file mode 100644 index 0000000..ab877bd --- /dev/null +++ b/gen_route_tests.rb @@ -0,0 +1,75 @@ +#!/usr/bin/env ruby + +puts < +#include +#include +#include +#include "r3.h" +#include "r3_str.h" +#include "zmalloc.h" + +START_TEST (test_routes) +{ + node * n = r3_tree_create(10); + node * m = NULL; + +END + + +arr = ["foo", "bar", "baz", "qux", "quux", "corge", "grault", "garply"] +paths = arr.permutation(3).map { |a| "/#{a.join '/'}" } +paths.each_index do |idx| + path = paths.fetch(idx) + puts " char *data#{idx} = \"#{path}\";" + puts " r3_tree_insert_path(n, \"#{path}\", (void*) data#{idx});" +end + + + puts <data == data#{idx});" +end + + + +puts <data == data0); + m = r3_tree_match(n, "/foo/bar/qux", NULL); ck_assert(m); - char *data2 = "/foo/bar/quux"; - m = r3_tree_match(n, "/foo/bar/quux", (void*) data2); + ck_assert(m->data == data1); + m = r3_tree_match(n, "/foo/bar/quux", NULL); ck_assert(m); - char *data3 = "/foo/bar/corge"; - m = r3_tree_match(n, "/foo/bar/corge", (void*) data3); + ck_assert(m->data == data2); + m = r3_tree_match(n, "/foo/bar/corge", NULL); ck_assert(m); - char *data4 = "/foo/bar/grault"; - m = r3_tree_match(n, "/foo/bar/grault", (void*) data4); + ck_assert(m->data == data3); + m = r3_tree_match(n, "/foo/bar/grault", NULL); ck_assert(m); - char *data5 = "/foo/bar/garply"; - m = r3_tree_match(n, "/foo/bar/garply", (void*) data5); + ck_assert(m->data == data4); + m = r3_tree_match(n, "/foo/bar/garply", NULL); ck_assert(m); - char *data6 = "/foo/baz/bar"; - m = r3_tree_match(n, "/foo/baz/bar", (void*) data6); + ck_assert(m->data == data5); + m = r3_tree_match(n, "/foo/baz/bar", NULL); ck_assert(m); - char *data7 = "/foo/baz/qux"; - m = r3_tree_match(n, "/foo/baz/qux", (void*) data7); + ck_assert(m->data == data6); + m = r3_tree_match(n, "/foo/baz/qux", NULL); ck_assert(m); - char *data8 = "/foo/baz/quux"; - m = r3_tree_match(n, "/foo/baz/quux", (void*) data8); + ck_assert(m->data == data7); + m = r3_tree_match(n, "/foo/baz/quux", NULL); ck_assert(m); - char *data9 = "/foo/baz/corge"; - m = r3_tree_match(n, "/foo/baz/corge", (void*) data9); + ck_assert(m->data == data8); + m = r3_tree_match(n, "/foo/baz/corge", NULL); ck_assert(m); - char *data10 = "/foo/baz/grault"; - m = r3_tree_match(n, "/foo/baz/grault", (void*) data10); + ck_assert(m->data == data9); + m = r3_tree_match(n, "/foo/baz/grault", NULL); ck_assert(m); - char *data11 = "/foo/baz/garply"; - m = r3_tree_match(n, "/foo/baz/garply", (void*) data11); + ck_assert(m->data == data10); + m = r3_tree_match(n, "/foo/baz/garply", NULL); ck_assert(m); - char *data12 = "/foo/qux/bar"; - m = r3_tree_match(n, "/foo/qux/bar", (void*) data12); + ck_assert(m->data == data11); + m = r3_tree_match(n, "/foo/qux/bar", NULL); ck_assert(m); - char *data13 = "/foo/qux/baz"; - m = r3_tree_match(n, "/foo/qux/baz", (void*) data13); + ck_assert(m->data == data12); + m = r3_tree_match(n, "/foo/qux/baz", NULL); ck_assert(m); - char *data14 = "/foo/qux/quux"; - m = r3_tree_match(n, "/foo/qux/quux", (void*) data14); + ck_assert(m->data == data13); + m = r3_tree_match(n, "/foo/qux/quux", NULL); ck_assert(m); - char *data15 = "/foo/qux/corge"; - m = r3_tree_match(n, "/foo/qux/corge", (void*) data15); + ck_assert(m->data == data14); + m = r3_tree_match(n, "/foo/qux/corge", NULL); ck_assert(m); - char *data16 = "/foo/qux/grault"; - m = r3_tree_match(n, "/foo/qux/grault", (void*) data16); + ck_assert(m->data == data15); + m = r3_tree_match(n, "/foo/qux/grault", NULL); ck_assert(m); - char *data17 = "/foo/qux/garply"; - m = r3_tree_match(n, "/foo/qux/garply", (void*) data17); + ck_assert(m->data == data16); + m = r3_tree_match(n, "/foo/qux/garply", NULL); ck_assert(m); - char *data18 = "/foo/quux/bar"; - m = r3_tree_match(n, "/foo/quux/bar", (void*) data18); + ck_assert(m->data == data17); + m = r3_tree_match(n, "/foo/quux/bar", NULL); ck_assert(m); - char *data19 = "/foo/quux/baz"; - m = r3_tree_match(n, "/foo/quux/baz", (void*) data19); + ck_assert(m->data == data18); + m = r3_tree_match(n, "/foo/quux/baz", NULL); ck_assert(m); - char *data20 = "/foo/quux/qux"; - m = r3_tree_match(n, "/foo/quux/qux", (void*) data20); + ck_assert(m->data == data19); + m = r3_tree_match(n, "/foo/quux/qux", NULL); ck_assert(m); - char *data21 = "/foo/quux/corge"; - m = r3_tree_match(n, "/foo/quux/corge", (void*) data21); + ck_assert(m->data == data20); + m = r3_tree_match(n, "/foo/quux/corge", NULL); ck_assert(m); - char *data22 = "/foo/quux/grault"; - m = r3_tree_match(n, "/foo/quux/grault", (void*) data22); + ck_assert(m->data == data21); + m = r3_tree_match(n, "/foo/quux/grault", NULL); ck_assert(m); - char *data23 = "/foo/quux/garply"; - m = r3_tree_match(n, "/foo/quux/garply", (void*) data23); + ck_assert(m->data == data22); + m = r3_tree_match(n, "/foo/quux/garply", NULL); ck_assert(m); - char *data24 = "/foo/corge/bar"; - m = r3_tree_match(n, "/foo/corge/bar", (void*) data24); + ck_assert(m->data == data23); + m = r3_tree_match(n, "/foo/corge/bar", NULL); ck_assert(m); - char *data25 = "/foo/corge/baz"; - m = r3_tree_match(n, "/foo/corge/baz", (void*) data25); + ck_assert(m->data == data24); + m = r3_tree_match(n, "/foo/corge/baz", NULL); ck_assert(m); - char *data26 = "/foo/corge/qux"; - m = r3_tree_match(n, "/foo/corge/qux", (void*) data26); + ck_assert(m->data == data25); + m = r3_tree_match(n, "/foo/corge/qux", NULL); ck_assert(m); - char *data27 = "/foo/corge/quux"; - m = r3_tree_match(n, "/foo/corge/quux", (void*) data27); + ck_assert(m->data == data26); + m = r3_tree_match(n, "/foo/corge/quux", NULL); ck_assert(m); - char *data28 = "/foo/corge/grault"; - m = r3_tree_match(n, "/foo/corge/grault", (void*) data28); + ck_assert(m->data == data27); + m = r3_tree_match(n, "/foo/corge/grault", NULL); ck_assert(m); - char *data29 = "/foo/corge/garply"; - m = r3_tree_match(n, "/foo/corge/garply", (void*) data29); + ck_assert(m->data == data28); + m = r3_tree_match(n, "/foo/corge/garply", NULL); ck_assert(m); - char *data30 = "/foo/grault/bar"; - m = r3_tree_match(n, "/foo/grault/bar", (void*) data30); + ck_assert(m->data == data29); + m = r3_tree_match(n, "/foo/grault/bar", NULL); ck_assert(m); - char *data31 = "/foo/grault/baz"; - m = r3_tree_match(n, "/foo/grault/baz", (void*) data31); + ck_assert(m->data == data30); + m = r3_tree_match(n, "/foo/grault/baz", NULL); ck_assert(m); - char *data32 = "/foo/grault/qux"; - m = r3_tree_match(n, "/foo/grault/qux", (void*) data32); + ck_assert(m->data == data31); + m = r3_tree_match(n, "/foo/grault/qux", NULL); ck_assert(m); - char *data33 = "/foo/grault/quux"; - m = r3_tree_match(n, "/foo/grault/quux", (void*) data33); + ck_assert(m->data == data32); + m = r3_tree_match(n, "/foo/grault/quux", NULL); ck_assert(m); - char *data34 = "/foo/grault/corge"; - m = r3_tree_match(n, "/foo/grault/corge", (void*) data34); + ck_assert(m->data == data33); + m = r3_tree_match(n, "/foo/grault/corge", NULL); ck_assert(m); - char *data35 = "/foo/grault/garply"; - m = r3_tree_match(n, "/foo/grault/garply", (void*) data35); + ck_assert(m->data == data34); + m = r3_tree_match(n, "/foo/grault/garply", NULL); ck_assert(m); - char *data36 = "/foo/garply/bar"; - m = r3_tree_match(n, "/foo/garply/bar", (void*) data36); + ck_assert(m->data == data35); + m = r3_tree_match(n, "/foo/garply/bar", NULL); ck_assert(m); - char *data37 = "/foo/garply/baz"; - m = r3_tree_match(n, "/foo/garply/baz", (void*) data37); + ck_assert(m->data == data36); + m = r3_tree_match(n, "/foo/garply/baz", NULL); ck_assert(m); - char *data38 = "/foo/garply/qux"; - m = r3_tree_match(n, "/foo/garply/qux", (void*) data38); + ck_assert(m->data == data37); + m = r3_tree_match(n, "/foo/garply/qux", NULL); ck_assert(m); - char *data39 = "/foo/garply/quux"; - m = r3_tree_match(n, "/foo/garply/quux", (void*) data39); + ck_assert(m->data == data38); + m = r3_tree_match(n, "/foo/garply/quux", NULL); ck_assert(m); - char *data40 = "/foo/garply/corge"; - m = r3_tree_match(n, "/foo/garply/corge", (void*) data40); + ck_assert(m->data == data39); + m = r3_tree_match(n, "/foo/garply/corge", NULL); ck_assert(m); - char *data41 = "/foo/garply/grault"; - m = r3_tree_match(n, "/foo/garply/grault", (void*) data41); + ck_assert(m->data == data40); + m = r3_tree_match(n, "/foo/garply/grault", NULL); ck_assert(m); - char *data42 = "/bar/foo/baz"; - m = r3_tree_match(n, "/bar/foo/baz", (void*) data42); + ck_assert(m->data == data41); + m = r3_tree_match(n, "/bar/foo/baz", NULL); ck_assert(m); - char *data43 = "/bar/foo/qux"; - m = r3_tree_match(n, "/bar/foo/qux", (void*) data43); + ck_assert(m->data == data42); + m = r3_tree_match(n, "/bar/foo/qux", NULL); ck_assert(m); - char *data44 = "/bar/foo/quux"; - m = r3_tree_match(n, "/bar/foo/quux", (void*) data44); + ck_assert(m->data == data43); + m = r3_tree_match(n, "/bar/foo/quux", NULL); ck_assert(m); - char *data45 = "/bar/foo/corge"; - m = r3_tree_match(n, "/bar/foo/corge", (void*) data45); + ck_assert(m->data == data44); + m = r3_tree_match(n, "/bar/foo/corge", NULL); ck_assert(m); - char *data46 = "/bar/foo/grault"; - m = r3_tree_match(n, "/bar/foo/grault", (void*) data46); + ck_assert(m->data == data45); + m = r3_tree_match(n, "/bar/foo/grault", NULL); ck_assert(m); - char *data47 = "/bar/foo/garply"; - m = r3_tree_match(n, "/bar/foo/garply", (void*) data47); + ck_assert(m->data == data46); + m = r3_tree_match(n, "/bar/foo/garply", NULL); ck_assert(m); - char *data48 = "/bar/baz/foo"; - m = r3_tree_match(n, "/bar/baz/foo", (void*) data48); + ck_assert(m->data == data47); + m = r3_tree_match(n, "/bar/baz/foo", NULL); ck_assert(m); - char *data49 = "/bar/baz/qux"; - m = r3_tree_match(n, "/bar/baz/qux", (void*) data49); + ck_assert(m->data == data48); + m = r3_tree_match(n, "/bar/baz/qux", NULL); ck_assert(m); - char *data50 = "/bar/baz/quux"; - m = r3_tree_match(n, "/bar/baz/quux", (void*) data50); + ck_assert(m->data == data49); + m = r3_tree_match(n, "/bar/baz/quux", NULL); ck_assert(m); - char *data51 = "/bar/baz/corge"; - m = r3_tree_match(n, "/bar/baz/corge", (void*) data51); + ck_assert(m->data == data50); + m = r3_tree_match(n, "/bar/baz/corge", NULL); ck_assert(m); - char *data52 = "/bar/baz/grault"; - m = r3_tree_match(n, "/bar/baz/grault", (void*) data52); + ck_assert(m->data == data51); + m = r3_tree_match(n, "/bar/baz/grault", NULL); ck_assert(m); - char *data53 = "/bar/baz/garply"; - m = r3_tree_match(n, "/bar/baz/garply", (void*) data53); + ck_assert(m->data == data52); + m = r3_tree_match(n, "/bar/baz/garply", NULL); ck_assert(m); - char *data54 = "/bar/qux/foo"; - m = r3_tree_match(n, "/bar/qux/foo", (void*) data54); + ck_assert(m->data == data53); + m = r3_tree_match(n, "/bar/qux/foo", NULL); ck_assert(m); - char *data55 = "/bar/qux/baz"; - m = r3_tree_match(n, "/bar/qux/baz", (void*) data55); + ck_assert(m->data == data54); + m = r3_tree_match(n, "/bar/qux/baz", NULL); ck_assert(m); - char *data56 = "/bar/qux/quux"; - m = r3_tree_match(n, "/bar/qux/quux", (void*) data56); + ck_assert(m->data == data55); + m = r3_tree_match(n, "/bar/qux/quux", NULL); ck_assert(m); - char *data57 = "/bar/qux/corge"; - m = r3_tree_match(n, "/bar/qux/corge", (void*) data57); + ck_assert(m->data == data56); + m = r3_tree_match(n, "/bar/qux/corge", NULL); ck_assert(m); - char *data58 = "/bar/qux/grault"; - m = r3_tree_match(n, "/bar/qux/grault", (void*) data58); + ck_assert(m->data == data57); + m = r3_tree_match(n, "/bar/qux/grault", NULL); ck_assert(m); - char *data59 = "/bar/qux/garply"; - m = r3_tree_match(n, "/bar/qux/garply", (void*) data59); + ck_assert(m->data == data58); + m = r3_tree_match(n, "/bar/qux/garply", NULL); ck_assert(m); - char *data60 = "/bar/quux/foo"; - m = r3_tree_match(n, "/bar/quux/foo", (void*) data60); + ck_assert(m->data == data59); + m = r3_tree_match(n, "/bar/quux/foo", NULL); ck_assert(m); - char *data61 = "/bar/quux/baz"; - m = r3_tree_match(n, "/bar/quux/baz", (void*) data61); + ck_assert(m->data == data60); + m = r3_tree_match(n, "/bar/quux/baz", NULL); ck_assert(m); - char *data62 = "/bar/quux/qux"; - m = r3_tree_match(n, "/bar/quux/qux", (void*) data62); + ck_assert(m->data == data61); + m = r3_tree_match(n, "/bar/quux/qux", NULL); ck_assert(m); - char *data63 = "/bar/quux/corge"; - m = r3_tree_match(n, "/bar/quux/corge", (void*) data63); + ck_assert(m->data == data62); + m = r3_tree_match(n, "/bar/quux/corge", NULL); ck_assert(m); - char *data64 = "/bar/quux/grault"; - m = r3_tree_match(n, "/bar/quux/grault", (void*) data64); + ck_assert(m->data == data63); + m = r3_tree_match(n, "/bar/quux/grault", NULL); ck_assert(m); - char *data65 = "/bar/quux/garply"; - m = r3_tree_match(n, "/bar/quux/garply", (void*) data65); + ck_assert(m->data == data64); + m = r3_tree_match(n, "/bar/quux/garply", NULL); ck_assert(m); - char *data66 = "/bar/corge/foo"; - m = r3_tree_match(n, "/bar/corge/foo", (void*) data66); + ck_assert(m->data == data65); + m = r3_tree_match(n, "/bar/corge/foo", NULL); ck_assert(m); - char *data67 = "/bar/corge/baz"; - m = r3_tree_match(n, "/bar/corge/baz", (void*) data67); + ck_assert(m->data == data66); + m = r3_tree_match(n, "/bar/corge/baz", NULL); ck_assert(m); - char *data68 = "/bar/corge/qux"; - m = r3_tree_match(n, "/bar/corge/qux", (void*) data68); + ck_assert(m->data == data67); + m = r3_tree_match(n, "/bar/corge/qux", NULL); ck_assert(m); - char *data69 = "/bar/corge/quux"; - m = r3_tree_match(n, "/bar/corge/quux", (void*) data69); + ck_assert(m->data == data68); + m = r3_tree_match(n, "/bar/corge/quux", NULL); ck_assert(m); - char *data70 = "/bar/corge/grault"; - m = r3_tree_match(n, "/bar/corge/grault", (void*) data70); + ck_assert(m->data == data69); + m = r3_tree_match(n, "/bar/corge/grault", NULL); ck_assert(m); - char *data71 = "/bar/corge/garply"; - m = r3_tree_match(n, "/bar/corge/garply", (void*) data71); + ck_assert(m->data == data70); + m = r3_tree_match(n, "/bar/corge/garply", NULL); ck_assert(m); - char *data72 = "/bar/grault/foo"; - m = r3_tree_match(n, "/bar/grault/foo", (void*) data72); + ck_assert(m->data == data71); + m = r3_tree_match(n, "/bar/grault/foo", NULL); ck_assert(m); - char *data73 = "/bar/grault/baz"; - m = r3_tree_match(n, "/bar/grault/baz", (void*) data73); + ck_assert(m->data == data72); + m = r3_tree_match(n, "/bar/grault/baz", NULL); ck_assert(m); - char *data74 = "/bar/grault/qux"; - m = r3_tree_match(n, "/bar/grault/qux", (void*) data74); + ck_assert(m->data == data73); + m = r3_tree_match(n, "/bar/grault/qux", NULL); ck_assert(m); - char *data75 = "/bar/grault/quux"; - m = r3_tree_match(n, "/bar/grault/quux", (void*) data75); + ck_assert(m->data == data74); + m = r3_tree_match(n, "/bar/grault/quux", NULL); ck_assert(m); - char *data76 = "/bar/grault/corge"; - m = r3_tree_match(n, "/bar/grault/corge", (void*) data76); + ck_assert(m->data == data75); + m = r3_tree_match(n, "/bar/grault/corge", NULL); ck_assert(m); - char *data77 = "/bar/grault/garply"; - m = r3_tree_match(n, "/bar/grault/garply", (void*) data77); + ck_assert(m->data == data76); + m = r3_tree_match(n, "/bar/grault/garply", NULL); ck_assert(m); - char *data78 = "/bar/garply/foo"; - m = r3_tree_match(n, "/bar/garply/foo", (void*) data78); + ck_assert(m->data == data77); + m = r3_tree_match(n, "/bar/garply/foo", NULL); ck_assert(m); - char *data79 = "/bar/garply/baz"; - m = r3_tree_match(n, "/bar/garply/baz", (void*) data79); + ck_assert(m->data == data78); + m = r3_tree_match(n, "/bar/garply/baz", NULL); ck_assert(m); - char *data80 = "/bar/garply/qux"; - m = r3_tree_match(n, "/bar/garply/qux", (void*) data80); + ck_assert(m->data == data79); + m = r3_tree_match(n, "/bar/garply/qux", NULL); ck_assert(m); - char *data81 = "/bar/garply/quux"; - m = r3_tree_match(n, "/bar/garply/quux", (void*) data81); + ck_assert(m->data == data80); + m = r3_tree_match(n, "/bar/garply/quux", NULL); ck_assert(m); - char *data82 = "/bar/garply/corge"; - m = r3_tree_match(n, "/bar/garply/corge", (void*) data82); + ck_assert(m->data == data81); + m = r3_tree_match(n, "/bar/garply/corge", NULL); ck_assert(m); - char *data83 = "/bar/garply/grault"; - m = r3_tree_match(n, "/bar/garply/grault", (void*) data83); + ck_assert(m->data == data82); + m = r3_tree_match(n, "/bar/garply/grault", NULL); ck_assert(m); - char *data84 = "/baz/foo/bar"; - m = r3_tree_match(n, "/baz/foo/bar", (void*) data84); + ck_assert(m->data == data83); + m = r3_tree_match(n, "/baz/foo/bar", NULL); ck_assert(m); - char *data85 = "/baz/foo/qux"; - m = r3_tree_match(n, "/baz/foo/qux", (void*) data85); + ck_assert(m->data == data84); + m = r3_tree_match(n, "/baz/foo/qux", NULL); ck_assert(m); - char *data86 = "/baz/foo/quux"; - m = r3_tree_match(n, "/baz/foo/quux", (void*) data86); + ck_assert(m->data == data85); + m = r3_tree_match(n, "/baz/foo/quux", NULL); ck_assert(m); - char *data87 = "/baz/foo/corge"; - m = r3_tree_match(n, "/baz/foo/corge", (void*) data87); + ck_assert(m->data == data86); + m = r3_tree_match(n, "/baz/foo/corge", NULL); ck_assert(m); - char *data88 = "/baz/foo/grault"; - m = r3_tree_match(n, "/baz/foo/grault", (void*) data88); + ck_assert(m->data == data87); + m = r3_tree_match(n, "/baz/foo/grault", NULL); ck_assert(m); - char *data89 = "/baz/foo/garply"; - m = r3_tree_match(n, "/baz/foo/garply", (void*) data89); + ck_assert(m->data == data88); + m = r3_tree_match(n, "/baz/foo/garply", NULL); ck_assert(m); - char *data90 = "/baz/bar/foo"; - m = r3_tree_match(n, "/baz/bar/foo", (void*) data90); + ck_assert(m->data == data89); + m = r3_tree_match(n, "/baz/bar/foo", NULL); ck_assert(m); - char *data91 = "/baz/bar/qux"; - m = r3_tree_match(n, "/baz/bar/qux", (void*) data91); + ck_assert(m->data == data90); + m = r3_tree_match(n, "/baz/bar/qux", NULL); ck_assert(m); - char *data92 = "/baz/bar/quux"; - m = r3_tree_match(n, "/baz/bar/quux", (void*) data92); + ck_assert(m->data == data91); + m = r3_tree_match(n, "/baz/bar/quux", NULL); ck_assert(m); - char *data93 = "/baz/bar/corge"; - m = r3_tree_match(n, "/baz/bar/corge", (void*) data93); + ck_assert(m->data == data92); + m = r3_tree_match(n, "/baz/bar/corge", NULL); ck_assert(m); - char *data94 = "/baz/bar/grault"; - m = r3_tree_match(n, "/baz/bar/grault", (void*) data94); + ck_assert(m->data == data93); + m = r3_tree_match(n, "/baz/bar/grault", NULL); ck_assert(m); - char *data95 = "/baz/bar/garply"; - m = r3_tree_match(n, "/baz/bar/garply", (void*) data95); + ck_assert(m->data == data94); + m = r3_tree_match(n, "/baz/bar/garply", NULL); ck_assert(m); - char *data96 = "/baz/qux/foo"; - m = r3_tree_match(n, "/baz/qux/foo", (void*) data96); + ck_assert(m->data == data95); + m = r3_tree_match(n, "/baz/qux/foo", NULL); ck_assert(m); - char *data97 = "/baz/qux/bar"; - m = r3_tree_match(n, "/baz/qux/bar", (void*) data97); + ck_assert(m->data == data96); + m = r3_tree_match(n, "/baz/qux/bar", NULL); ck_assert(m); - char *data98 = "/baz/qux/quux"; - m = r3_tree_match(n, "/baz/qux/quux", (void*) data98); + ck_assert(m->data == data97); + m = r3_tree_match(n, "/baz/qux/quux", NULL); ck_assert(m); - char *data99 = "/baz/qux/corge"; - m = r3_tree_match(n, "/baz/qux/corge", (void*) data99); + ck_assert(m->data == data98); + m = r3_tree_match(n, "/baz/qux/corge", NULL); ck_assert(m); - char *data100 = "/baz/qux/grault"; - m = r3_tree_match(n, "/baz/qux/grault", (void*) data100); + ck_assert(m->data == data99); + m = r3_tree_match(n, "/baz/qux/grault", NULL); ck_assert(m); - char *data101 = "/baz/qux/garply"; - m = r3_tree_match(n, "/baz/qux/garply", (void*) data101); + ck_assert(m->data == data100); + m = r3_tree_match(n, "/baz/qux/garply", NULL); ck_assert(m); - char *data102 = "/baz/quux/foo"; - m = r3_tree_match(n, "/baz/quux/foo", (void*) data102); + ck_assert(m->data == data101); + m = r3_tree_match(n, "/baz/quux/foo", NULL); ck_assert(m); - char *data103 = "/baz/quux/bar"; - m = r3_tree_match(n, "/baz/quux/bar", (void*) data103); + ck_assert(m->data == data102); + m = r3_tree_match(n, "/baz/quux/bar", NULL); ck_assert(m); - char *data104 = "/baz/quux/qux"; - m = r3_tree_match(n, "/baz/quux/qux", (void*) data104); + ck_assert(m->data == data103); + m = r3_tree_match(n, "/baz/quux/qux", NULL); ck_assert(m); - char *data105 = "/baz/quux/corge"; - m = r3_tree_match(n, "/baz/quux/corge", (void*) data105); + ck_assert(m->data == data104); + m = r3_tree_match(n, "/baz/quux/corge", NULL); ck_assert(m); - char *data106 = "/baz/quux/grault"; - m = r3_tree_match(n, "/baz/quux/grault", (void*) data106); + ck_assert(m->data == data105); + m = r3_tree_match(n, "/baz/quux/grault", NULL); ck_assert(m); - char *data107 = "/baz/quux/garply"; - m = r3_tree_match(n, "/baz/quux/garply", (void*) data107); + ck_assert(m->data == data106); + m = r3_tree_match(n, "/baz/quux/garply", NULL); ck_assert(m); - char *data108 = "/baz/corge/foo"; - m = r3_tree_match(n, "/baz/corge/foo", (void*) data108); + ck_assert(m->data == data107); + m = r3_tree_match(n, "/baz/corge/foo", NULL); ck_assert(m); - char *data109 = "/baz/corge/bar"; - m = r3_tree_match(n, "/baz/corge/bar", (void*) data109); + ck_assert(m->data == data108); + m = r3_tree_match(n, "/baz/corge/bar", NULL); ck_assert(m); - char *data110 = "/baz/corge/qux"; - m = r3_tree_match(n, "/baz/corge/qux", (void*) data110); + ck_assert(m->data == data109); + m = r3_tree_match(n, "/baz/corge/qux", NULL); ck_assert(m); - char *data111 = "/baz/corge/quux"; - m = r3_tree_match(n, "/baz/corge/quux", (void*) data111); + ck_assert(m->data == data110); + m = r3_tree_match(n, "/baz/corge/quux", NULL); ck_assert(m); - char *data112 = "/baz/corge/grault"; - m = r3_tree_match(n, "/baz/corge/grault", (void*) data112); + ck_assert(m->data == data111); + m = r3_tree_match(n, "/baz/corge/grault", NULL); ck_assert(m); - char *data113 = "/baz/corge/garply"; - m = r3_tree_match(n, "/baz/corge/garply", (void*) data113); + ck_assert(m->data == data112); + m = r3_tree_match(n, "/baz/corge/garply", NULL); ck_assert(m); - char *data114 = "/baz/grault/foo"; - m = r3_tree_match(n, "/baz/grault/foo", (void*) data114); + ck_assert(m->data == data113); + m = r3_tree_match(n, "/baz/grault/foo", NULL); ck_assert(m); - char *data115 = "/baz/grault/bar"; - m = r3_tree_match(n, "/baz/grault/bar", (void*) data115); + ck_assert(m->data == data114); + m = r3_tree_match(n, "/baz/grault/bar", NULL); ck_assert(m); - char *data116 = "/baz/grault/qux"; - m = r3_tree_match(n, "/baz/grault/qux", (void*) data116); + ck_assert(m->data == data115); + m = r3_tree_match(n, "/baz/grault/qux", NULL); ck_assert(m); - char *data117 = "/baz/grault/quux"; - m = r3_tree_match(n, "/baz/grault/quux", (void*) data117); + ck_assert(m->data == data116); + m = r3_tree_match(n, "/baz/grault/quux", NULL); ck_assert(m); - char *data118 = "/baz/grault/corge"; - m = r3_tree_match(n, "/baz/grault/corge", (void*) data118); + ck_assert(m->data == data117); + m = r3_tree_match(n, "/baz/grault/corge", NULL); ck_assert(m); - char *data119 = "/baz/grault/garply"; - m = r3_tree_match(n, "/baz/grault/garply", (void*) data119); + ck_assert(m->data == data118); + m = r3_tree_match(n, "/baz/grault/garply", NULL); ck_assert(m); - char *data120 = "/baz/garply/foo"; - m = r3_tree_match(n, "/baz/garply/foo", (void*) data120); + ck_assert(m->data == data119); + m = r3_tree_match(n, "/baz/garply/foo", NULL); ck_assert(m); - char *data121 = "/baz/garply/bar"; - m = r3_tree_match(n, "/baz/garply/bar", (void*) data121); + ck_assert(m->data == data120); + m = r3_tree_match(n, "/baz/garply/bar", NULL); ck_assert(m); - char *data122 = "/baz/garply/qux"; - m = r3_tree_match(n, "/baz/garply/qux", (void*) data122); + ck_assert(m->data == data121); + m = r3_tree_match(n, "/baz/garply/qux", NULL); ck_assert(m); - char *data123 = "/baz/garply/quux"; - m = r3_tree_match(n, "/baz/garply/quux", (void*) data123); + ck_assert(m->data == data122); + m = r3_tree_match(n, "/baz/garply/quux", NULL); ck_assert(m); - char *data124 = "/baz/garply/corge"; - m = r3_tree_match(n, "/baz/garply/corge", (void*) data124); + ck_assert(m->data == data123); + m = r3_tree_match(n, "/baz/garply/corge", NULL); ck_assert(m); - char *data125 = "/baz/garply/grault"; - m = r3_tree_match(n, "/baz/garply/grault", (void*) data125); + ck_assert(m->data == data124); + m = r3_tree_match(n, "/baz/garply/grault", NULL); ck_assert(m); - char *data126 = "/qux/foo/bar"; - m = r3_tree_match(n, "/qux/foo/bar", (void*) data126); + ck_assert(m->data == data125); + m = r3_tree_match(n, "/qux/foo/bar", NULL); ck_assert(m); - char *data127 = "/qux/foo/baz"; - m = r3_tree_match(n, "/qux/foo/baz", (void*) data127); + ck_assert(m->data == data126); + m = r3_tree_match(n, "/qux/foo/baz", NULL); ck_assert(m); - char *data128 = "/qux/foo/quux"; - m = r3_tree_match(n, "/qux/foo/quux", (void*) data128); + ck_assert(m->data == data127); + m = r3_tree_match(n, "/qux/foo/quux", NULL); ck_assert(m); - char *data129 = "/qux/foo/corge"; - m = r3_tree_match(n, "/qux/foo/corge", (void*) data129); + ck_assert(m->data == data128); + m = r3_tree_match(n, "/qux/foo/corge", NULL); ck_assert(m); - char *data130 = "/qux/foo/grault"; - m = r3_tree_match(n, "/qux/foo/grault", (void*) data130); + ck_assert(m->data == data129); + m = r3_tree_match(n, "/qux/foo/grault", NULL); ck_assert(m); - char *data131 = "/qux/foo/garply"; - m = r3_tree_match(n, "/qux/foo/garply", (void*) data131); + ck_assert(m->data == data130); + m = r3_tree_match(n, "/qux/foo/garply", NULL); ck_assert(m); - char *data132 = "/qux/bar/foo"; - m = r3_tree_match(n, "/qux/bar/foo", (void*) data132); + ck_assert(m->data == data131); + m = r3_tree_match(n, "/qux/bar/foo", NULL); ck_assert(m); - char *data133 = "/qux/bar/baz"; - m = r3_tree_match(n, "/qux/bar/baz", (void*) data133); + ck_assert(m->data == data132); + m = r3_tree_match(n, "/qux/bar/baz", NULL); ck_assert(m); - char *data134 = "/qux/bar/quux"; - m = r3_tree_match(n, "/qux/bar/quux", (void*) data134); + ck_assert(m->data == data133); + m = r3_tree_match(n, "/qux/bar/quux", NULL); ck_assert(m); - char *data135 = "/qux/bar/corge"; - m = r3_tree_match(n, "/qux/bar/corge", (void*) data135); + ck_assert(m->data == data134); + m = r3_tree_match(n, "/qux/bar/corge", NULL); ck_assert(m); - char *data136 = "/qux/bar/grault"; - m = r3_tree_match(n, "/qux/bar/grault", (void*) data136); + ck_assert(m->data == data135); + m = r3_tree_match(n, "/qux/bar/grault", NULL); ck_assert(m); - char *data137 = "/qux/bar/garply"; - m = r3_tree_match(n, "/qux/bar/garply", (void*) data137); + ck_assert(m->data == data136); + m = r3_tree_match(n, "/qux/bar/garply", NULL); ck_assert(m); - char *data138 = "/qux/baz/foo"; - m = r3_tree_match(n, "/qux/baz/foo", (void*) data138); + ck_assert(m->data == data137); + m = r3_tree_match(n, "/qux/baz/foo", NULL); ck_assert(m); - char *data139 = "/qux/baz/bar"; - m = r3_tree_match(n, "/qux/baz/bar", (void*) data139); + ck_assert(m->data == data138); + m = r3_tree_match(n, "/qux/baz/bar", NULL); ck_assert(m); - char *data140 = "/qux/baz/quux"; - m = r3_tree_match(n, "/qux/baz/quux", (void*) data140); + ck_assert(m->data == data139); + m = r3_tree_match(n, "/qux/baz/quux", NULL); ck_assert(m); - char *data141 = "/qux/baz/corge"; - m = r3_tree_match(n, "/qux/baz/corge", (void*) data141); + ck_assert(m->data == data140); + m = r3_tree_match(n, "/qux/baz/corge", NULL); ck_assert(m); - char *data142 = "/qux/baz/grault"; - m = r3_tree_match(n, "/qux/baz/grault", (void*) data142); + ck_assert(m->data == data141); + m = r3_tree_match(n, "/qux/baz/grault", NULL); ck_assert(m); - char *data143 = "/qux/baz/garply"; - m = r3_tree_match(n, "/qux/baz/garply", (void*) data143); + ck_assert(m->data == data142); + m = r3_tree_match(n, "/qux/baz/garply", NULL); ck_assert(m); - char *data144 = "/qux/quux/foo"; - m = r3_tree_match(n, "/qux/quux/foo", (void*) data144); + ck_assert(m->data == data143); + m = r3_tree_match(n, "/qux/quux/foo", NULL); ck_assert(m); - char *data145 = "/qux/quux/bar"; - m = r3_tree_match(n, "/qux/quux/bar", (void*) data145); + ck_assert(m->data == data144); + m = r3_tree_match(n, "/qux/quux/bar", NULL); ck_assert(m); - char *data146 = "/qux/quux/baz"; - m = r3_tree_match(n, "/qux/quux/baz", (void*) data146); + ck_assert(m->data == data145); + m = r3_tree_match(n, "/qux/quux/baz", NULL); ck_assert(m); - char *data147 = "/qux/quux/corge"; - m = r3_tree_match(n, "/qux/quux/corge", (void*) data147); + ck_assert(m->data == data146); + m = r3_tree_match(n, "/qux/quux/corge", NULL); ck_assert(m); - char *data148 = "/qux/quux/grault"; - m = r3_tree_match(n, "/qux/quux/grault", (void*) data148); + ck_assert(m->data == data147); + m = r3_tree_match(n, "/qux/quux/grault", NULL); ck_assert(m); - char *data149 = "/qux/quux/garply"; - m = r3_tree_match(n, "/qux/quux/garply", (void*) data149); + ck_assert(m->data == data148); + m = r3_tree_match(n, "/qux/quux/garply", NULL); ck_assert(m); - char *data150 = "/qux/corge/foo"; - m = r3_tree_match(n, "/qux/corge/foo", (void*) data150); + ck_assert(m->data == data149); + m = r3_tree_match(n, "/qux/corge/foo", NULL); ck_assert(m); - char *data151 = "/qux/corge/bar"; - m = r3_tree_match(n, "/qux/corge/bar", (void*) data151); + ck_assert(m->data == data150); + m = r3_tree_match(n, "/qux/corge/bar", NULL); ck_assert(m); - char *data152 = "/qux/corge/baz"; - m = r3_tree_match(n, "/qux/corge/baz", (void*) data152); + ck_assert(m->data == data151); + m = r3_tree_match(n, "/qux/corge/baz", NULL); ck_assert(m); - char *data153 = "/qux/corge/quux"; - m = r3_tree_match(n, "/qux/corge/quux", (void*) data153); + ck_assert(m->data == data152); + m = r3_tree_match(n, "/qux/corge/quux", NULL); ck_assert(m); - char *data154 = "/qux/corge/grault"; - m = r3_tree_match(n, "/qux/corge/grault", (void*) data154); + ck_assert(m->data == data153); + m = r3_tree_match(n, "/qux/corge/grault", NULL); ck_assert(m); - char *data155 = "/qux/corge/garply"; - m = r3_tree_match(n, "/qux/corge/garply", (void*) data155); + ck_assert(m->data == data154); + m = r3_tree_match(n, "/qux/corge/garply", NULL); ck_assert(m); - char *data156 = "/qux/grault/foo"; - m = r3_tree_match(n, "/qux/grault/foo", (void*) data156); + ck_assert(m->data == data155); + m = r3_tree_match(n, "/qux/grault/foo", NULL); ck_assert(m); - char *data157 = "/qux/grault/bar"; - m = r3_tree_match(n, "/qux/grault/bar", (void*) data157); + ck_assert(m->data == data156); + m = r3_tree_match(n, "/qux/grault/bar", NULL); ck_assert(m); - char *data158 = "/qux/grault/baz"; - m = r3_tree_match(n, "/qux/grault/baz", (void*) data158); + ck_assert(m->data == data157); + m = r3_tree_match(n, "/qux/grault/baz", NULL); ck_assert(m); - char *data159 = "/qux/grault/quux"; - m = r3_tree_match(n, "/qux/grault/quux", (void*) data159); + ck_assert(m->data == data158); + m = r3_tree_match(n, "/qux/grault/quux", NULL); ck_assert(m); - char *data160 = "/qux/grault/corge"; - m = r3_tree_match(n, "/qux/grault/corge", (void*) data160); + ck_assert(m->data == data159); + m = r3_tree_match(n, "/qux/grault/corge", NULL); ck_assert(m); - char *data161 = "/qux/grault/garply"; - m = r3_tree_match(n, "/qux/grault/garply", (void*) data161); + ck_assert(m->data == data160); + m = r3_tree_match(n, "/qux/grault/garply", NULL); ck_assert(m); - char *data162 = "/qux/garply/foo"; - m = r3_tree_match(n, "/qux/garply/foo", (void*) data162); + ck_assert(m->data == data161); + m = r3_tree_match(n, "/qux/garply/foo", NULL); ck_assert(m); - char *data163 = "/qux/garply/bar"; - m = r3_tree_match(n, "/qux/garply/bar", (void*) data163); + ck_assert(m->data == data162); + m = r3_tree_match(n, "/qux/garply/bar", NULL); ck_assert(m); - char *data164 = "/qux/garply/baz"; - m = r3_tree_match(n, "/qux/garply/baz", (void*) data164); + ck_assert(m->data == data163); + m = r3_tree_match(n, "/qux/garply/baz", NULL); ck_assert(m); - char *data165 = "/qux/garply/quux"; - m = r3_tree_match(n, "/qux/garply/quux", (void*) data165); + ck_assert(m->data == data164); + m = r3_tree_match(n, "/qux/garply/quux", NULL); ck_assert(m); - char *data166 = "/qux/garply/corge"; - m = r3_tree_match(n, "/qux/garply/corge", (void*) data166); + ck_assert(m->data == data165); + m = r3_tree_match(n, "/qux/garply/corge", NULL); ck_assert(m); - char *data167 = "/qux/garply/grault"; - m = r3_tree_match(n, "/qux/garply/grault", (void*) data167); + ck_assert(m->data == data166); + m = r3_tree_match(n, "/qux/garply/grault", NULL); ck_assert(m); - char *data168 = "/quux/foo/bar"; - m = r3_tree_match(n, "/quux/foo/bar", (void*) data168); + ck_assert(m->data == data167); + m = r3_tree_match(n, "/quux/foo/bar", NULL); ck_assert(m); - char *data169 = "/quux/foo/baz"; - m = r3_tree_match(n, "/quux/foo/baz", (void*) data169); + ck_assert(m->data == data168); + m = r3_tree_match(n, "/quux/foo/baz", NULL); ck_assert(m); - char *data170 = "/quux/foo/qux"; - m = r3_tree_match(n, "/quux/foo/qux", (void*) data170); + ck_assert(m->data == data169); + m = r3_tree_match(n, "/quux/foo/qux", NULL); ck_assert(m); - char *data171 = "/quux/foo/corge"; - m = r3_tree_match(n, "/quux/foo/corge", (void*) data171); + ck_assert(m->data == data170); + m = r3_tree_match(n, "/quux/foo/corge", NULL); ck_assert(m); - char *data172 = "/quux/foo/grault"; - m = r3_tree_match(n, "/quux/foo/grault", (void*) data172); + ck_assert(m->data == data171); + m = r3_tree_match(n, "/quux/foo/grault", NULL); ck_assert(m); - char *data173 = "/quux/foo/garply"; - m = r3_tree_match(n, "/quux/foo/garply", (void*) data173); + ck_assert(m->data == data172); + m = r3_tree_match(n, "/quux/foo/garply", NULL); ck_assert(m); - char *data174 = "/quux/bar/foo"; - m = r3_tree_match(n, "/quux/bar/foo", (void*) data174); + ck_assert(m->data == data173); + m = r3_tree_match(n, "/quux/bar/foo", NULL); ck_assert(m); - char *data175 = "/quux/bar/baz"; - m = r3_tree_match(n, "/quux/bar/baz", (void*) data175); + ck_assert(m->data == data174); + m = r3_tree_match(n, "/quux/bar/baz", NULL); ck_assert(m); - char *data176 = "/quux/bar/qux"; - m = r3_tree_match(n, "/quux/bar/qux", (void*) data176); + ck_assert(m->data == data175); + m = r3_tree_match(n, "/quux/bar/qux", NULL); ck_assert(m); - char *data177 = "/quux/bar/corge"; - m = r3_tree_match(n, "/quux/bar/corge", (void*) data177); + ck_assert(m->data == data176); + m = r3_tree_match(n, "/quux/bar/corge", NULL); ck_assert(m); - char *data178 = "/quux/bar/grault"; - m = r3_tree_match(n, "/quux/bar/grault", (void*) data178); + ck_assert(m->data == data177); + m = r3_tree_match(n, "/quux/bar/grault", NULL); ck_assert(m); - char *data179 = "/quux/bar/garply"; - m = r3_tree_match(n, "/quux/bar/garply", (void*) data179); + ck_assert(m->data == data178); + m = r3_tree_match(n, "/quux/bar/garply", NULL); ck_assert(m); - char *data180 = "/quux/baz/foo"; - m = r3_tree_match(n, "/quux/baz/foo", (void*) data180); + ck_assert(m->data == data179); + m = r3_tree_match(n, "/quux/baz/foo", NULL); ck_assert(m); - char *data181 = "/quux/baz/bar"; - m = r3_tree_match(n, "/quux/baz/bar", (void*) data181); + ck_assert(m->data == data180); + m = r3_tree_match(n, "/quux/baz/bar", NULL); ck_assert(m); - char *data182 = "/quux/baz/qux"; - m = r3_tree_match(n, "/quux/baz/qux", (void*) data182); + ck_assert(m->data == data181); + m = r3_tree_match(n, "/quux/baz/qux", NULL); ck_assert(m); - char *data183 = "/quux/baz/corge"; - m = r3_tree_match(n, "/quux/baz/corge", (void*) data183); + ck_assert(m->data == data182); + m = r3_tree_match(n, "/quux/baz/corge", NULL); ck_assert(m); - char *data184 = "/quux/baz/grault"; - m = r3_tree_match(n, "/quux/baz/grault", (void*) data184); + ck_assert(m->data == data183); + m = r3_tree_match(n, "/quux/baz/grault", NULL); ck_assert(m); - char *data185 = "/quux/baz/garply"; - m = r3_tree_match(n, "/quux/baz/garply", (void*) data185); + ck_assert(m->data == data184); + m = r3_tree_match(n, "/quux/baz/garply", NULL); ck_assert(m); - char *data186 = "/quux/qux/foo"; - m = r3_tree_match(n, "/quux/qux/foo", (void*) data186); + ck_assert(m->data == data185); + m = r3_tree_match(n, "/quux/qux/foo", NULL); ck_assert(m); - char *data187 = "/quux/qux/bar"; - m = r3_tree_match(n, "/quux/qux/bar", (void*) data187); + ck_assert(m->data == data186); + m = r3_tree_match(n, "/quux/qux/bar", NULL); ck_assert(m); - char *data188 = "/quux/qux/baz"; - m = r3_tree_match(n, "/quux/qux/baz", (void*) data188); + ck_assert(m->data == data187); + m = r3_tree_match(n, "/quux/qux/baz", NULL); ck_assert(m); - char *data189 = "/quux/qux/corge"; - m = r3_tree_match(n, "/quux/qux/corge", (void*) data189); + ck_assert(m->data == data188); + m = r3_tree_match(n, "/quux/qux/corge", NULL); ck_assert(m); - char *data190 = "/quux/qux/grault"; - m = r3_tree_match(n, "/quux/qux/grault", (void*) data190); + ck_assert(m->data == data189); + m = r3_tree_match(n, "/quux/qux/grault", NULL); ck_assert(m); - char *data191 = "/quux/qux/garply"; - m = r3_tree_match(n, "/quux/qux/garply", (void*) data191); + ck_assert(m->data == data190); + m = r3_tree_match(n, "/quux/qux/garply", NULL); ck_assert(m); - char *data192 = "/quux/corge/foo"; - m = r3_tree_match(n, "/quux/corge/foo", (void*) data192); + ck_assert(m->data == data191); + m = r3_tree_match(n, "/quux/corge/foo", NULL); ck_assert(m); - char *data193 = "/quux/corge/bar"; - m = r3_tree_match(n, "/quux/corge/bar", (void*) data193); + ck_assert(m->data == data192); + m = r3_tree_match(n, "/quux/corge/bar", NULL); ck_assert(m); - char *data194 = "/quux/corge/baz"; - m = r3_tree_match(n, "/quux/corge/baz", (void*) data194); + ck_assert(m->data == data193); + m = r3_tree_match(n, "/quux/corge/baz", NULL); ck_assert(m); - char *data195 = "/quux/corge/qux"; - m = r3_tree_match(n, "/quux/corge/qux", (void*) data195); + ck_assert(m->data == data194); + m = r3_tree_match(n, "/quux/corge/qux", NULL); ck_assert(m); - char *data196 = "/quux/corge/grault"; - m = r3_tree_match(n, "/quux/corge/grault", (void*) data196); + ck_assert(m->data == data195); + m = r3_tree_match(n, "/quux/corge/grault", NULL); ck_assert(m); - char *data197 = "/quux/corge/garply"; - m = r3_tree_match(n, "/quux/corge/garply", (void*) data197); + ck_assert(m->data == data196); + m = r3_tree_match(n, "/quux/corge/garply", NULL); ck_assert(m); - char *data198 = "/quux/grault/foo"; - m = r3_tree_match(n, "/quux/grault/foo", (void*) data198); + ck_assert(m->data == data197); + m = r3_tree_match(n, "/quux/grault/foo", NULL); ck_assert(m); - char *data199 = "/quux/grault/bar"; - m = r3_tree_match(n, "/quux/grault/bar", (void*) data199); + ck_assert(m->data == data198); + m = r3_tree_match(n, "/quux/grault/bar", NULL); ck_assert(m); - char *data200 = "/quux/grault/baz"; - m = r3_tree_match(n, "/quux/grault/baz", (void*) data200); + ck_assert(m->data == data199); + m = r3_tree_match(n, "/quux/grault/baz", NULL); ck_assert(m); - char *data201 = "/quux/grault/qux"; - m = r3_tree_match(n, "/quux/grault/qux", (void*) data201); + ck_assert(m->data == data200); + m = r3_tree_match(n, "/quux/grault/qux", NULL); ck_assert(m); - char *data202 = "/quux/grault/corge"; - m = r3_tree_match(n, "/quux/grault/corge", (void*) data202); + ck_assert(m->data == data201); + m = r3_tree_match(n, "/quux/grault/corge", NULL); ck_assert(m); - char *data203 = "/quux/grault/garply"; - m = r3_tree_match(n, "/quux/grault/garply", (void*) data203); + ck_assert(m->data == data202); + m = r3_tree_match(n, "/quux/grault/garply", NULL); ck_assert(m); - char *data204 = "/quux/garply/foo"; - m = r3_tree_match(n, "/quux/garply/foo", (void*) data204); + ck_assert(m->data == data203); + m = r3_tree_match(n, "/quux/garply/foo", NULL); ck_assert(m); - char *data205 = "/quux/garply/bar"; - m = r3_tree_match(n, "/quux/garply/bar", (void*) data205); + ck_assert(m->data == data204); + m = r3_tree_match(n, "/quux/garply/bar", NULL); ck_assert(m); - char *data206 = "/quux/garply/baz"; - m = r3_tree_match(n, "/quux/garply/baz", (void*) data206); + ck_assert(m->data == data205); + m = r3_tree_match(n, "/quux/garply/baz", NULL); ck_assert(m); - char *data207 = "/quux/garply/qux"; - m = r3_tree_match(n, "/quux/garply/qux", (void*) data207); + ck_assert(m->data == data206); + m = r3_tree_match(n, "/quux/garply/qux", NULL); ck_assert(m); - char *data208 = "/quux/garply/corge"; - m = r3_tree_match(n, "/quux/garply/corge", (void*) data208); + ck_assert(m->data == data207); + m = r3_tree_match(n, "/quux/garply/corge", NULL); ck_assert(m); - char *data209 = "/quux/garply/grault"; - m = r3_tree_match(n, "/quux/garply/grault", (void*) data209); + ck_assert(m->data == data208); + m = r3_tree_match(n, "/quux/garply/grault", NULL); ck_assert(m); - char *data210 = "/corge/foo/bar"; - m = r3_tree_match(n, "/corge/foo/bar", (void*) data210); + ck_assert(m->data == data209); + m = r3_tree_match(n, "/corge/foo/bar", NULL); ck_assert(m); - char *data211 = "/corge/foo/baz"; - m = r3_tree_match(n, "/corge/foo/baz", (void*) data211); + ck_assert(m->data == data210); + m = r3_tree_match(n, "/corge/foo/baz", NULL); ck_assert(m); - char *data212 = "/corge/foo/qux"; - m = r3_tree_match(n, "/corge/foo/qux", (void*) data212); + ck_assert(m->data == data211); + m = r3_tree_match(n, "/corge/foo/qux", NULL); ck_assert(m); - char *data213 = "/corge/foo/quux"; - m = r3_tree_match(n, "/corge/foo/quux", (void*) data213); + ck_assert(m->data == data212); + m = r3_tree_match(n, "/corge/foo/quux", NULL); ck_assert(m); - char *data214 = "/corge/foo/grault"; - m = r3_tree_match(n, "/corge/foo/grault", (void*) data214); + ck_assert(m->data == data213); + m = r3_tree_match(n, "/corge/foo/grault", NULL); ck_assert(m); - char *data215 = "/corge/foo/garply"; - m = r3_tree_match(n, "/corge/foo/garply", (void*) data215); + ck_assert(m->data == data214); + m = r3_tree_match(n, "/corge/foo/garply", NULL); ck_assert(m); - char *data216 = "/corge/bar/foo"; - m = r3_tree_match(n, "/corge/bar/foo", (void*) data216); + ck_assert(m->data == data215); + m = r3_tree_match(n, "/corge/bar/foo", NULL); ck_assert(m); - char *data217 = "/corge/bar/baz"; - m = r3_tree_match(n, "/corge/bar/baz", (void*) data217); + ck_assert(m->data == data216); + m = r3_tree_match(n, "/corge/bar/baz", NULL); ck_assert(m); - char *data218 = "/corge/bar/qux"; - m = r3_tree_match(n, "/corge/bar/qux", (void*) data218); + ck_assert(m->data == data217); + m = r3_tree_match(n, "/corge/bar/qux", NULL); ck_assert(m); - char *data219 = "/corge/bar/quux"; - m = r3_tree_match(n, "/corge/bar/quux", (void*) data219); + ck_assert(m->data == data218); + m = r3_tree_match(n, "/corge/bar/quux", NULL); ck_assert(m); - char *data220 = "/corge/bar/grault"; - m = r3_tree_match(n, "/corge/bar/grault", (void*) data220); + ck_assert(m->data == data219); + m = r3_tree_match(n, "/corge/bar/grault", NULL); ck_assert(m); - char *data221 = "/corge/bar/garply"; - m = r3_tree_match(n, "/corge/bar/garply", (void*) data221); + ck_assert(m->data == data220); + m = r3_tree_match(n, "/corge/bar/garply", NULL); ck_assert(m); - char *data222 = "/corge/baz/foo"; - m = r3_tree_match(n, "/corge/baz/foo", (void*) data222); + ck_assert(m->data == data221); + m = r3_tree_match(n, "/corge/baz/foo", NULL); ck_assert(m); - char *data223 = "/corge/baz/bar"; - m = r3_tree_match(n, "/corge/baz/bar", (void*) data223); + ck_assert(m->data == data222); + m = r3_tree_match(n, "/corge/baz/bar", NULL); ck_assert(m); - char *data224 = "/corge/baz/qux"; - m = r3_tree_match(n, "/corge/baz/qux", (void*) data224); + ck_assert(m->data == data223); + m = r3_tree_match(n, "/corge/baz/qux", NULL); ck_assert(m); - char *data225 = "/corge/baz/quux"; - m = r3_tree_match(n, "/corge/baz/quux", (void*) data225); + ck_assert(m->data == data224); + m = r3_tree_match(n, "/corge/baz/quux", NULL); ck_assert(m); - char *data226 = "/corge/baz/grault"; - m = r3_tree_match(n, "/corge/baz/grault", (void*) data226); + ck_assert(m->data == data225); + m = r3_tree_match(n, "/corge/baz/grault", NULL); ck_assert(m); - char *data227 = "/corge/baz/garply"; - m = r3_tree_match(n, "/corge/baz/garply", (void*) data227); + ck_assert(m->data == data226); + m = r3_tree_match(n, "/corge/baz/garply", NULL); ck_assert(m); - char *data228 = "/corge/qux/foo"; - m = r3_tree_match(n, "/corge/qux/foo", (void*) data228); + ck_assert(m->data == data227); + m = r3_tree_match(n, "/corge/qux/foo", NULL); ck_assert(m); - char *data229 = "/corge/qux/bar"; - m = r3_tree_match(n, "/corge/qux/bar", (void*) data229); + ck_assert(m->data == data228); + m = r3_tree_match(n, "/corge/qux/bar", NULL); ck_assert(m); - char *data230 = "/corge/qux/baz"; - m = r3_tree_match(n, "/corge/qux/baz", (void*) data230); + ck_assert(m->data == data229); + m = r3_tree_match(n, "/corge/qux/baz", NULL); ck_assert(m); - char *data231 = "/corge/qux/quux"; - m = r3_tree_match(n, "/corge/qux/quux", (void*) data231); + ck_assert(m->data == data230); + m = r3_tree_match(n, "/corge/qux/quux", NULL); ck_assert(m); - char *data232 = "/corge/qux/grault"; - m = r3_tree_match(n, "/corge/qux/grault", (void*) data232); + ck_assert(m->data == data231); + m = r3_tree_match(n, "/corge/qux/grault", NULL); ck_assert(m); - char *data233 = "/corge/qux/garply"; - m = r3_tree_match(n, "/corge/qux/garply", (void*) data233); + ck_assert(m->data == data232); + m = r3_tree_match(n, "/corge/qux/garply", NULL); ck_assert(m); - char *data234 = "/corge/quux/foo"; - m = r3_tree_match(n, "/corge/quux/foo", (void*) data234); + ck_assert(m->data == data233); + m = r3_tree_match(n, "/corge/quux/foo", NULL); ck_assert(m); - char *data235 = "/corge/quux/bar"; - m = r3_tree_match(n, "/corge/quux/bar", (void*) data235); + ck_assert(m->data == data234); + m = r3_tree_match(n, "/corge/quux/bar", NULL); ck_assert(m); - char *data236 = "/corge/quux/baz"; - m = r3_tree_match(n, "/corge/quux/baz", (void*) data236); + ck_assert(m->data == data235); + m = r3_tree_match(n, "/corge/quux/baz", NULL); ck_assert(m); - char *data237 = "/corge/quux/qux"; - m = r3_tree_match(n, "/corge/quux/qux", (void*) data237); + ck_assert(m->data == data236); + m = r3_tree_match(n, "/corge/quux/qux", NULL); ck_assert(m); - char *data238 = "/corge/quux/grault"; - m = r3_tree_match(n, "/corge/quux/grault", (void*) data238); + ck_assert(m->data == data237); + m = r3_tree_match(n, "/corge/quux/grault", NULL); ck_assert(m); - char *data239 = "/corge/quux/garply"; - m = r3_tree_match(n, "/corge/quux/garply", (void*) data239); + ck_assert(m->data == data238); + m = r3_tree_match(n, "/corge/quux/garply", NULL); ck_assert(m); - char *data240 = "/corge/grault/foo"; - m = r3_tree_match(n, "/corge/grault/foo", (void*) data240); + ck_assert(m->data == data239); + m = r3_tree_match(n, "/corge/grault/foo", NULL); ck_assert(m); - char *data241 = "/corge/grault/bar"; - m = r3_tree_match(n, "/corge/grault/bar", (void*) data241); + ck_assert(m->data == data240); + m = r3_tree_match(n, "/corge/grault/bar", NULL); ck_assert(m); - char *data242 = "/corge/grault/baz"; - m = r3_tree_match(n, "/corge/grault/baz", (void*) data242); + ck_assert(m->data == data241); + m = r3_tree_match(n, "/corge/grault/baz", NULL); ck_assert(m); - char *data243 = "/corge/grault/qux"; - m = r3_tree_match(n, "/corge/grault/qux", (void*) data243); + ck_assert(m->data == data242); + m = r3_tree_match(n, "/corge/grault/qux", NULL); ck_assert(m); - char *data244 = "/corge/grault/quux"; - m = r3_tree_match(n, "/corge/grault/quux", (void*) data244); + ck_assert(m->data == data243); + m = r3_tree_match(n, "/corge/grault/quux", NULL); ck_assert(m); - char *data245 = "/corge/grault/garply"; - m = r3_tree_match(n, "/corge/grault/garply", (void*) data245); + ck_assert(m->data == data244); + m = r3_tree_match(n, "/corge/grault/garply", NULL); ck_assert(m); - char *data246 = "/corge/garply/foo"; - m = r3_tree_match(n, "/corge/garply/foo", (void*) data246); + ck_assert(m->data == data245); + m = r3_tree_match(n, "/corge/garply/foo", NULL); ck_assert(m); - char *data247 = "/corge/garply/bar"; - m = r3_tree_match(n, "/corge/garply/bar", (void*) data247); + ck_assert(m->data == data246); + m = r3_tree_match(n, "/corge/garply/bar", NULL); ck_assert(m); - char *data248 = "/corge/garply/baz"; - m = r3_tree_match(n, "/corge/garply/baz", (void*) data248); + ck_assert(m->data == data247); + m = r3_tree_match(n, "/corge/garply/baz", NULL); ck_assert(m); - char *data249 = "/corge/garply/qux"; - m = r3_tree_match(n, "/corge/garply/qux", (void*) data249); + ck_assert(m->data == data248); + m = r3_tree_match(n, "/corge/garply/qux", NULL); ck_assert(m); - char *data250 = "/corge/garply/quux"; - m = r3_tree_match(n, "/corge/garply/quux", (void*) data250); + ck_assert(m->data == data249); + m = r3_tree_match(n, "/corge/garply/quux", NULL); ck_assert(m); - char *data251 = "/corge/garply/grault"; - m = r3_tree_match(n, "/corge/garply/grault", (void*) data251); + ck_assert(m->data == data250); + m = r3_tree_match(n, "/corge/garply/grault", NULL); ck_assert(m); - char *data252 = "/grault/foo/bar"; - m = r3_tree_match(n, "/grault/foo/bar", (void*) data252); + ck_assert(m->data == data251); + m = r3_tree_match(n, "/grault/foo/bar", NULL); ck_assert(m); - char *data253 = "/grault/foo/baz"; - m = r3_tree_match(n, "/grault/foo/baz", (void*) data253); + ck_assert(m->data == data252); + m = r3_tree_match(n, "/grault/foo/baz", NULL); ck_assert(m); - char *data254 = "/grault/foo/qux"; - m = r3_tree_match(n, "/grault/foo/qux", (void*) data254); + ck_assert(m->data == data253); + m = r3_tree_match(n, "/grault/foo/qux", NULL); ck_assert(m); - char *data255 = "/grault/foo/quux"; - m = r3_tree_match(n, "/grault/foo/quux", (void*) data255); + ck_assert(m->data == data254); + m = r3_tree_match(n, "/grault/foo/quux", NULL); ck_assert(m); - char *data256 = "/grault/foo/corge"; - m = r3_tree_match(n, "/grault/foo/corge", (void*) data256); + ck_assert(m->data == data255); + m = r3_tree_match(n, "/grault/foo/corge", NULL); ck_assert(m); - char *data257 = "/grault/foo/garply"; - m = r3_tree_match(n, "/grault/foo/garply", (void*) data257); + ck_assert(m->data == data256); + m = r3_tree_match(n, "/grault/foo/garply", NULL); ck_assert(m); - char *data258 = "/grault/bar/foo"; - m = r3_tree_match(n, "/grault/bar/foo", (void*) data258); + ck_assert(m->data == data257); + m = r3_tree_match(n, "/grault/bar/foo", NULL); ck_assert(m); - char *data259 = "/grault/bar/baz"; - m = r3_tree_match(n, "/grault/bar/baz", (void*) data259); + ck_assert(m->data == data258); + m = r3_tree_match(n, "/grault/bar/baz", NULL); ck_assert(m); - char *data260 = "/grault/bar/qux"; - m = r3_tree_match(n, "/grault/bar/qux", (void*) data260); + ck_assert(m->data == data259); + m = r3_tree_match(n, "/grault/bar/qux", NULL); ck_assert(m); - char *data261 = "/grault/bar/quux"; - m = r3_tree_match(n, "/grault/bar/quux", (void*) data261); + ck_assert(m->data == data260); + m = r3_tree_match(n, "/grault/bar/quux", NULL); ck_assert(m); - char *data262 = "/grault/bar/corge"; - m = r3_tree_match(n, "/grault/bar/corge", (void*) data262); + ck_assert(m->data == data261); + m = r3_tree_match(n, "/grault/bar/corge", NULL); ck_assert(m); - char *data263 = "/grault/bar/garply"; - m = r3_tree_match(n, "/grault/bar/garply", (void*) data263); + ck_assert(m->data == data262); + m = r3_tree_match(n, "/grault/bar/garply", NULL); ck_assert(m); - char *data264 = "/grault/baz/foo"; - m = r3_tree_match(n, "/grault/baz/foo", (void*) data264); + ck_assert(m->data == data263); + m = r3_tree_match(n, "/grault/baz/foo", NULL); ck_assert(m); - char *data265 = "/grault/baz/bar"; - m = r3_tree_match(n, "/grault/baz/bar", (void*) data265); + ck_assert(m->data == data264); + m = r3_tree_match(n, "/grault/baz/bar", NULL); ck_assert(m); - char *data266 = "/grault/baz/qux"; - m = r3_tree_match(n, "/grault/baz/qux", (void*) data266); + ck_assert(m->data == data265); + m = r3_tree_match(n, "/grault/baz/qux", NULL); ck_assert(m); - char *data267 = "/grault/baz/quux"; - m = r3_tree_match(n, "/grault/baz/quux", (void*) data267); + ck_assert(m->data == data266); + m = r3_tree_match(n, "/grault/baz/quux", NULL); ck_assert(m); - char *data268 = "/grault/baz/corge"; - m = r3_tree_match(n, "/grault/baz/corge", (void*) data268); + ck_assert(m->data == data267); + m = r3_tree_match(n, "/grault/baz/corge", NULL); ck_assert(m); - char *data269 = "/grault/baz/garply"; - m = r3_tree_match(n, "/grault/baz/garply", (void*) data269); + ck_assert(m->data == data268); + m = r3_tree_match(n, "/grault/baz/garply", NULL); ck_assert(m); - char *data270 = "/grault/qux/foo"; - m = r3_tree_match(n, "/grault/qux/foo", (void*) data270); + ck_assert(m->data == data269); + m = r3_tree_match(n, "/grault/qux/foo", NULL); ck_assert(m); - char *data271 = "/grault/qux/bar"; - m = r3_tree_match(n, "/grault/qux/bar", (void*) data271); + ck_assert(m->data == data270); + m = r3_tree_match(n, "/grault/qux/bar", NULL); ck_assert(m); - char *data272 = "/grault/qux/baz"; - m = r3_tree_match(n, "/grault/qux/baz", (void*) data272); + ck_assert(m->data == data271); + m = r3_tree_match(n, "/grault/qux/baz", NULL); ck_assert(m); - char *data273 = "/grault/qux/quux"; - m = r3_tree_match(n, "/grault/qux/quux", (void*) data273); + ck_assert(m->data == data272); + m = r3_tree_match(n, "/grault/qux/quux", NULL); ck_assert(m); - char *data274 = "/grault/qux/corge"; - m = r3_tree_match(n, "/grault/qux/corge", (void*) data274); + ck_assert(m->data == data273); + m = r3_tree_match(n, "/grault/qux/corge", NULL); ck_assert(m); - char *data275 = "/grault/qux/garply"; - m = r3_tree_match(n, "/grault/qux/garply", (void*) data275); + ck_assert(m->data == data274); + m = r3_tree_match(n, "/grault/qux/garply", NULL); ck_assert(m); - char *data276 = "/grault/quux/foo"; - m = r3_tree_match(n, "/grault/quux/foo", (void*) data276); + ck_assert(m->data == data275); + m = r3_tree_match(n, "/grault/quux/foo", NULL); ck_assert(m); - char *data277 = "/grault/quux/bar"; - m = r3_tree_match(n, "/grault/quux/bar", (void*) data277); + ck_assert(m->data == data276); + m = r3_tree_match(n, "/grault/quux/bar", NULL); ck_assert(m); - char *data278 = "/grault/quux/baz"; - m = r3_tree_match(n, "/grault/quux/baz", (void*) data278); + ck_assert(m->data == data277); + m = r3_tree_match(n, "/grault/quux/baz", NULL); ck_assert(m); - char *data279 = "/grault/quux/qux"; - m = r3_tree_match(n, "/grault/quux/qux", (void*) data279); + ck_assert(m->data == data278); + m = r3_tree_match(n, "/grault/quux/qux", NULL); ck_assert(m); - char *data280 = "/grault/quux/corge"; - m = r3_tree_match(n, "/grault/quux/corge", (void*) data280); + ck_assert(m->data == data279); + m = r3_tree_match(n, "/grault/quux/corge", NULL); ck_assert(m); - char *data281 = "/grault/quux/garply"; - m = r3_tree_match(n, "/grault/quux/garply", (void*) data281); + ck_assert(m->data == data280); + m = r3_tree_match(n, "/grault/quux/garply", NULL); ck_assert(m); - char *data282 = "/grault/corge/foo"; - m = r3_tree_match(n, "/grault/corge/foo", (void*) data282); + ck_assert(m->data == data281); + m = r3_tree_match(n, "/grault/corge/foo", NULL); ck_assert(m); - char *data283 = "/grault/corge/bar"; - m = r3_tree_match(n, "/grault/corge/bar", (void*) data283); + ck_assert(m->data == data282); + m = r3_tree_match(n, "/grault/corge/bar", NULL); ck_assert(m); - char *data284 = "/grault/corge/baz"; - m = r3_tree_match(n, "/grault/corge/baz", (void*) data284); + ck_assert(m->data == data283); + m = r3_tree_match(n, "/grault/corge/baz", NULL); ck_assert(m); - char *data285 = "/grault/corge/qux"; - m = r3_tree_match(n, "/grault/corge/qux", (void*) data285); + ck_assert(m->data == data284); + m = r3_tree_match(n, "/grault/corge/qux", NULL); ck_assert(m); - char *data286 = "/grault/corge/quux"; - m = r3_tree_match(n, "/grault/corge/quux", (void*) data286); + ck_assert(m->data == data285); + m = r3_tree_match(n, "/grault/corge/quux", NULL); ck_assert(m); - char *data287 = "/grault/corge/garply"; - m = r3_tree_match(n, "/grault/corge/garply", (void*) data287); + ck_assert(m->data == data286); + m = r3_tree_match(n, "/grault/corge/garply", NULL); ck_assert(m); - char *data288 = "/grault/garply/foo"; - m = r3_tree_match(n, "/grault/garply/foo", (void*) data288); + ck_assert(m->data == data287); + m = r3_tree_match(n, "/grault/garply/foo", NULL); ck_assert(m); - char *data289 = "/grault/garply/bar"; - m = r3_tree_match(n, "/grault/garply/bar", (void*) data289); + ck_assert(m->data == data288); + m = r3_tree_match(n, "/grault/garply/bar", NULL); ck_assert(m); - char *data290 = "/grault/garply/baz"; - m = r3_tree_match(n, "/grault/garply/baz", (void*) data290); + ck_assert(m->data == data289); + m = r3_tree_match(n, "/grault/garply/baz", NULL); ck_assert(m); - char *data291 = "/grault/garply/qux"; - m = r3_tree_match(n, "/grault/garply/qux", (void*) data291); + ck_assert(m->data == data290); + m = r3_tree_match(n, "/grault/garply/qux", NULL); ck_assert(m); - char *data292 = "/grault/garply/quux"; - m = r3_tree_match(n, "/grault/garply/quux", (void*) data292); + ck_assert(m->data == data291); + m = r3_tree_match(n, "/grault/garply/quux", NULL); ck_assert(m); - char *data293 = "/grault/garply/corge"; - m = r3_tree_match(n, "/grault/garply/corge", (void*) data293); + ck_assert(m->data == data292); + m = r3_tree_match(n, "/grault/garply/corge", NULL); ck_assert(m); - char *data294 = "/garply/foo/bar"; - m = r3_tree_match(n, "/garply/foo/bar", (void*) data294); + ck_assert(m->data == data293); + m = r3_tree_match(n, "/garply/foo/bar", NULL); ck_assert(m); - char *data295 = "/garply/foo/baz"; - m = r3_tree_match(n, "/garply/foo/baz", (void*) data295); + ck_assert(m->data == data294); + m = r3_tree_match(n, "/garply/foo/baz", NULL); ck_assert(m); - char *data296 = "/garply/foo/qux"; - m = r3_tree_match(n, "/garply/foo/qux", (void*) data296); + ck_assert(m->data == data295); + m = r3_tree_match(n, "/garply/foo/qux", NULL); ck_assert(m); - char *data297 = "/garply/foo/quux"; - m = r3_tree_match(n, "/garply/foo/quux", (void*) data297); + ck_assert(m->data == data296); + m = r3_tree_match(n, "/garply/foo/quux", NULL); ck_assert(m); - char *data298 = "/garply/foo/corge"; - m = r3_tree_match(n, "/garply/foo/corge", (void*) data298); + ck_assert(m->data == data297); + m = r3_tree_match(n, "/garply/foo/corge", NULL); ck_assert(m); - char *data299 = "/garply/foo/grault"; - m = r3_tree_match(n, "/garply/foo/grault", (void*) data299); + ck_assert(m->data == data298); + m = r3_tree_match(n, "/garply/foo/grault", NULL); ck_assert(m); - char *data300 = "/garply/bar/foo"; - m = r3_tree_match(n, "/garply/bar/foo", (void*) data300); + ck_assert(m->data == data299); + m = r3_tree_match(n, "/garply/bar/foo", NULL); ck_assert(m); - char *data301 = "/garply/bar/baz"; - m = r3_tree_match(n, "/garply/bar/baz", (void*) data301); + ck_assert(m->data == data300); + m = r3_tree_match(n, "/garply/bar/baz", NULL); ck_assert(m); - char *data302 = "/garply/bar/qux"; - m = r3_tree_match(n, "/garply/bar/qux", (void*) data302); + ck_assert(m->data == data301); + m = r3_tree_match(n, "/garply/bar/qux", NULL); ck_assert(m); - char *data303 = "/garply/bar/quux"; - m = r3_tree_match(n, "/garply/bar/quux", (void*) data303); + ck_assert(m->data == data302); + m = r3_tree_match(n, "/garply/bar/quux", NULL); ck_assert(m); - char *data304 = "/garply/bar/corge"; - m = r3_tree_match(n, "/garply/bar/corge", (void*) data304); + ck_assert(m->data == data303); + m = r3_tree_match(n, "/garply/bar/corge", NULL); ck_assert(m); - char *data305 = "/garply/bar/grault"; - m = r3_tree_match(n, "/garply/bar/grault", (void*) data305); + ck_assert(m->data == data304); + m = r3_tree_match(n, "/garply/bar/grault", NULL); ck_assert(m); - char *data306 = "/garply/baz/foo"; - m = r3_tree_match(n, "/garply/baz/foo", (void*) data306); + ck_assert(m->data == data305); + m = r3_tree_match(n, "/garply/baz/foo", NULL); ck_assert(m); - char *data307 = "/garply/baz/bar"; - m = r3_tree_match(n, "/garply/baz/bar", (void*) data307); + ck_assert(m->data == data306); + m = r3_tree_match(n, "/garply/baz/bar", NULL); ck_assert(m); - char *data308 = "/garply/baz/qux"; - m = r3_tree_match(n, "/garply/baz/qux", (void*) data308); + ck_assert(m->data == data307); + m = r3_tree_match(n, "/garply/baz/qux", NULL); ck_assert(m); - char *data309 = "/garply/baz/quux"; - m = r3_tree_match(n, "/garply/baz/quux", (void*) data309); + ck_assert(m->data == data308); + m = r3_tree_match(n, "/garply/baz/quux", NULL); ck_assert(m); - char *data310 = "/garply/baz/corge"; - m = r3_tree_match(n, "/garply/baz/corge", (void*) data310); + ck_assert(m->data == data309); + m = r3_tree_match(n, "/garply/baz/corge", NULL); ck_assert(m); - char *data311 = "/garply/baz/grault"; - m = r3_tree_match(n, "/garply/baz/grault", (void*) data311); + ck_assert(m->data == data310); + m = r3_tree_match(n, "/garply/baz/grault", NULL); ck_assert(m); - char *data312 = "/garply/qux/foo"; - m = r3_tree_match(n, "/garply/qux/foo", (void*) data312); + ck_assert(m->data == data311); + m = r3_tree_match(n, "/garply/qux/foo", NULL); ck_assert(m); - char *data313 = "/garply/qux/bar"; - m = r3_tree_match(n, "/garply/qux/bar", (void*) data313); + ck_assert(m->data == data312); + m = r3_tree_match(n, "/garply/qux/bar", NULL); ck_assert(m); - char *data314 = "/garply/qux/baz"; - m = r3_tree_match(n, "/garply/qux/baz", (void*) data314); + ck_assert(m->data == data313); + m = r3_tree_match(n, "/garply/qux/baz", NULL); ck_assert(m); - char *data315 = "/garply/qux/quux"; - m = r3_tree_match(n, "/garply/qux/quux", (void*) data315); + ck_assert(m->data == data314); + m = r3_tree_match(n, "/garply/qux/quux", NULL); ck_assert(m); - char *data316 = "/garply/qux/corge"; - m = r3_tree_match(n, "/garply/qux/corge", (void*) data316); + ck_assert(m->data == data315); + m = r3_tree_match(n, "/garply/qux/corge", NULL); ck_assert(m); - char *data317 = "/garply/qux/grault"; - m = r3_tree_match(n, "/garply/qux/grault", (void*) data317); + ck_assert(m->data == data316); + m = r3_tree_match(n, "/garply/qux/grault", NULL); ck_assert(m); - char *data318 = "/garply/quux/foo"; - m = r3_tree_match(n, "/garply/quux/foo", (void*) data318); + ck_assert(m->data == data317); + m = r3_tree_match(n, "/garply/quux/foo", NULL); ck_assert(m); - char *data319 = "/garply/quux/bar"; - m = r3_tree_match(n, "/garply/quux/bar", (void*) data319); + ck_assert(m->data == data318); + m = r3_tree_match(n, "/garply/quux/bar", NULL); ck_assert(m); - char *data320 = "/garply/quux/baz"; - m = r3_tree_match(n, "/garply/quux/baz", (void*) data320); + ck_assert(m->data == data319); + m = r3_tree_match(n, "/garply/quux/baz", NULL); ck_assert(m); - char *data321 = "/garply/quux/qux"; - m = r3_tree_match(n, "/garply/quux/qux", (void*) data321); + ck_assert(m->data == data320); + m = r3_tree_match(n, "/garply/quux/qux", NULL); ck_assert(m); - char *data322 = "/garply/quux/corge"; - m = r3_tree_match(n, "/garply/quux/corge", (void*) data322); + ck_assert(m->data == data321); + m = r3_tree_match(n, "/garply/quux/corge", NULL); ck_assert(m); - char *data323 = "/garply/quux/grault"; - m = r3_tree_match(n, "/garply/quux/grault", (void*) data323); + ck_assert(m->data == data322); + m = r3_tree_match(n, "/garply/quux/grault", NULL); ck_assert(m); - char *data324 = "/garply/corge/foo"; - m = r3_tree_match(n, "/garply/corge/foo", (void*) data324); + ck_assert(m->data == data323); + m = r3_tree_match(n, "/garply/corge/foo", NULL); ck_assert(m); - char *data325 = "/garply/corge/bar"; - m = r3_tree_match(n, "/garply/corge/bar", (void*) data325); + ck_assert(m->data == data324); + m = r3_tree_match(n, "/garply/corge/bar", NULL); ck_assert(m); - char *data326 = "/garply/corge/baz"; - m = r3_tree_match(n, "/garply/corge/baz", (void*) data326); + ck_assert(m->data == data325); + m = r3_tree_match(n, "/garply/corge/baz", NULL); ck_assert(m); - char *data327 = "/garply/corge/qux"; - m = r3_tree_match(n, "/garply/corge/qux", (void*) data327); + ck_assert(m->data == data326); + m = r3_tree_match(n, "/garply/corge/qux", NULL); ck_assert(m); - char *data328 = "/garply/corge/quux"; - m = r3_tree_match(n, "/garply/corge/quux", (void*) data328); + ck_assert(m->data == data327); + m = r3_tree_match(n, "/garply/corge/quux", NULL); ck_assert(m); - char *data329 = "/garply/corge/grault"; - m = r3_tree_match(n, "/garply/corge/grault", (void*) data329); + ck_assert(m->data == data328); + m = r3_tree_match(n, "/garply/corge/grault", NULL); ck_assert(m); - char *data330 = "/garply/grault/foo"; - m = r3_tree_match(n, "/garply/grault/foo", (void*) data330); + ck_assert(m->data == data329); + m = r3_tree_match(n, "/garply/grault/foo", NULL); ck_assert(m); - char *data331 = "/garply/grault/bar"; - m = r3_tree_match(n, "/garply/grault/bar", (void*) data331); + ck_assert(m->data == data330); + m = r3_tree_match(n, "/garply/grault/bar", NULL); ck_assert(m); - char *data332 = "/garply/grault/baz"; - m = r3_tree_match(n, "/garply/grault/baz", (void*) data332); + ck_assert(m->data == data331); + m = r3_tree_match(n, "/garply/grault/baz", NULL); ck_assert(m); - char *data333 = "/garply/grault/qux"; - m = r3_tree_match(n, "/garply/grault/qux", (void*) data333); + ck_assert(m->data == data332); + m = r3_tree_match(n, "/garply/grault/qux", NULL); ck_assert(m); - char *data334 = "/garply/grault/quux"; - m = r3_tree_match(n, "/garply/grault/quux", (void*) data334); + ck_assert(m->data == data333); + m = r3_tree_match(n, "/garply/grault/quux", NULL); ck_assert(m); - char *data335 = "/garply/grault/corge"; - m = r3_tree_match(n, "/garply/grault/corge", (void*) data335); + ck_assert(m->data == data334); + m = r3_tree_match(n, "/garply/grault/corge", NULL); ck_assert(m); + ck_assert(m->data == data335); r3_tree_free(n); From d3709850485c8a3b8f2768900fd47485933c1e91 Mon Sep 17 00:00:00 2001 From: c9s Date: Mon, 2 Jun 2014 10:07:50 +0800 Subject: [PATCH 09/12] Add endpoint tests --- gen_route_tests.rb | 1 + tests/check_routes.c | 336 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 337 insertions(+) diff --git a/gen_route_tests.rb b/gen_route_tests.rb index ab877bd..e32488c 100644 --- a/gen_route_tests.rb +++ b/gen_route_tests.rb @@ -41,6 +41,7 @@ paths.each_index do |idx| puts " m = r3_tree_match(n, \"#{path}\", NULL);" puts " ck_assert(m);" puts " ck_assert(m->data == data#{idx});" + puts " ck_assert_int_gt(m->endpoint, 0);" end diff --git a/tests/check_routes.c b/tests/check_routes.c index ef4e904..f8b3ec5 100644 --- a/tests/check_routes.c +++ b/tests/check_routes.c @@ -693,1011 +693,1347 @@ START_TEST (test_routes) m = r3_tree_match(n, "/foo/bar/baz", NULL); ck_assert(m); ck_assert(m->data == data0); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/foo/bar/qux", NULL); ck_assert(m); ck_assert(m->data == data1); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/foo/bar/quux", NULL); ck_assert(m); ck_assert(m->data == data2); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/foo/bar/corge", NULL); ck_assert(m); ck_assert(m->data == data3); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/foo/bar/grault", NULL); ck_assert(m); ck_assert(m->data == data4); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/foo/bar/garply", NULL); ck_assert(m); ck_assert(m->data == data5); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/foo/baz/bar", NULL); ck_assert(m); ck_assert(m->data == data6); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/foo/baz/qux", NULL); ck_assert(m); ck_assert(m->data == data7); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/foo/baz/quux", NULL); ck_assert(m); ck_assert(m->data == data8); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/foo/baz/corge", NULL); ck_assert(m); ck_assert(m->data == data9); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/foo/baz/grault", NULL); ck_assert(m); ck_assert(m->data == data10); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/foo/baz/garply", NULL); ck_assert(m); ck_assert(m->data == data11); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/foo/qux/bar", NULL); ck_assert(m); ck_assert(m->data == data12); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/foo/qux/baz", NULL); ck_assert(m); ck_assert(m->data == data13); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/foo/qux/quux", NULL); ck_assert(m); ck_assert(m->data == data14); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/foo/qux/corge", NULL); ck_assert(m); ck_assert(m->data == data15); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/foo/qux/grault", NULL); ck_assert(m); ck_assert(m->data == data16); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/foo/qux/garply", NULL); ck_assert(m); ck_assert(m->data == data17); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/foo/quux/bar", NULL); ck_assert(m); ck_assert(m->data == data18); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/foo/quux/baz", NULL); ck_assert(m); ck_assert(m->data == data19); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/foo/quux/qux", NULL); ck_assert(m); ck_assert(m->data == data20); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/foo/quux/corge", NULL); ck_assert(m); ck_assert(m->data == data21); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/foo/quux/grault", NULL); ck_assert(m); ck_assert(m->data == data22); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/foo/quux/garply", NULL); ck_assert(m); ck_assert(m->data == data23); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/foo/corge/bar", NULL); ck_assert(m); ck_assert(m->data == data24); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/foo/corge/baz", NULL); ck_assert(m); ck_assert(m->data == data25); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/foo/corge/qux", NULL); ck_assert(m); ck_assert(m->data == data26); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/foo/corge/quux", NULL); ck_assert(m); ck_assert(m->data == data27); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/foo/corge/grault", NULL); ck_assert(m); ck_assert(m->data == data28); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/foo/corge/garply", NULL); ck_assert(m); ck_assert(m->data == data29); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/foo/grault/bar", NULL); ck_assert(m); ck_assert(m->data == data30); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/foo/grault/baz", NULL); ck_assert(m); ck_assert(m->data == data31); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/foo/grault/qux", NULL); ck_assert(m); ck_assert(m->data == data32); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/foo/grault/quux", NULL); ck_assert(m); ck_assert(m->data == data33); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/foo/grault/corge", NULL); ck_assert(m); ck_assert(m->data == data34); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/foo/grault/garply", NULL); ck_assert(m); ck_assert(m->data == data35); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/foo/garply/bar", NULL); ck_assert(m); ck_assert(m->data == data36); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/foo/garply/baz", NULL); ck_assert(m); ck_assert(m->data == data37); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/foo/garply/qux", NULL); ck_assert(m); ck_assert(m->data == data38); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/foo/garply/quux", NULL); ck_assert(m); ck_assert(m->data == data39); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/foo/garply/corge", NULL); ck_assert(m); ck_assert(m->data == data40); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/foo/garply/grault", NULL); ck_assert(m); ck_assert(m->data == data41); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/bar/foo/baz", NULL); ck_assert(m); ck_assert(m->data == data42); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/bar/foo/qux", NULL); ck_assert(m); ck_assert(m->data == data43); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/bar/foo/quux", NULL); ck_assert(m); ck_assert(m->data == data44); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/bar/foo/corge", NULL); ck_assert(m); ck_assert(m->data == data45); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/bar/foo/grault", NULL); ck_assert(m); ck_assert(m->data == data46); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/bar/foo/garply", NULL); ck_assert(m); ck_assert(m->data == data47); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/bar/baz/foo", NULL); ck_assert(m); ck_assert(m->data == data48); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/bar/baz/qux", NULL); ck_assert(m); ck_assert(m->data == data49); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/bar/baz/quux", NULL); ck_assert(m); ck_assert(m->data == data50); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/bar/baz/corge", NULL); ck_assert(m); ck_assert(m->data == data51); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/bar/baz/grault", NULL); ck_assert(m); ck_assert(m->data == data52); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/bar/baz/garply", NULL); ck_assert(m); ck_assert(m->data == data53); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/bar/qux/foo", NULL); ck_assert(m); ck_assert(m->data == data54); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/bar/qux/baz", NULL); ck_assert(m); ck_assert(m->data == data55); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/bar/qux/quux", NULL); ck_assert(m); ck_assert(m->data == data56); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/bar/qux/corge", NULL); ck_assert(m); ck_assert(m->data == data57); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/bar/qux/grault", NULL); ck_assert(m); ck_assert(m->data == data58); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/bar/qux/garply", NULL); ck_assert(m); ck_assert(m->data == data59); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/bar/quux/foo", NULL); ck_assert(m); ck_assert(m->data == data60); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/bar/quux/baz", NULL); ck_assert(m); ck_assert(m->data == data61); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/bar/quux/qux", NULL); ck_assert(m); ck_assert(m->data == data62); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/bar/quux/corge", NULL); ck_assert(m); ck_assert(m->data == data63); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/bar/quux/grault", NULL); ck_assert(m); ck_assert(m->data == data64); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/bar/quux/garply", NULL); ck_assert(m); ck_assert(m->data == data65); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/bar/corge/foo", NULL); ck_assert(m); ck_assert(m->data == data66); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/bar/corge/baz", NULL); ck_assert(m); ck_assert(m->data == data67); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/bar/corge/qux", NULL); ck_assert(m); ck_assert(m->data == data68); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/bar/corge/quux", NULL); ck_assert(m); ck_assert(m->data == data69); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/bar/corge/grault", NULL); ck_assert(m); ck_assert(m->data == data70); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/bar/corge/garply", NULL); ck_assert(m); ck_assert(m->data == data71); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/bar/grault/foo", NULL); ck_assert(m); ck_assert(m->data == data72); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/bar/grault/baz", NULL); ck_assert(m); ck_assert(m->data == data73); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/bar/grault/qux", NULL); ck_assert(m); ck_assert(m->data == data74); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/bar/grault/quux", NULL); ck_assert(m); ck_assert(m->data == data75); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/bar/grault/corge", NULL); ck_assert(m); ck_assert(m->data == data76); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/bar/grault/garply", NULL); ck_assert(m); ck_assert(m->data == data77); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/bar/garply/foo", NULL); ck_assert(m); ck_assert(m->data == data78); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/bar/garply/baz", NULL); ck_assert(m); ck_assert(m->data == data79); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/bar/garply/qux", NULL); ck_assert(m); ck_assert(m->data == data80); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/bar/garply/quux", NULL); ck_assert(m); ck_assert(m->data == data81); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/bar/garply/corge", NULL); ck_assert(m); ck_assert(m->data == data82); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/bar/garply/grault", NULL); ck_assert(m); ck_assert(m->data == data83); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/baz/foo/bar", NULL); ck_assert(m); ck_assert(m->data == data84); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/baz/foo/qux", NULL); ck_assert(m); ck_assert(m->data == data85); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/baz/foo/quux", NULL); ck_assert(m); ck_assert(m->data == data86); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/baz/foo/corge", NULL); ck_assert(m); ck_assert(m->data == data87); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/baz/foo/grault", NULL); ck_assert(m); ck_assert(m->data == data88); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/baz/foo/garply", NULL); ck_assert(m); ck_assert(m->data == data89); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/baz/bar/foo", NULL); ck_assert(m); ck_assert(m->data == data90); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/baz/bar/qux", NULL); ck_assert(m); ck_assert(m->data == data91); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/baz/bar/quux", NULL); ck_assert(m); ck_assert(m->data == data92); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/baz/bar/corge", NULL); ck_assert(m); ck_assert(m->data == data93); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/baz/bar/grault", NULL); ck_assert(m); ck_assert(m->data == data94); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/baz/bar/garply", NULL); ck_assert(m); ck_assert(m->data == data95); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/baz/qux/foo", NULL); ck_assert(m); ck_assert(m->data == data96); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/baz/qux/bar", NULL); ck_assert(m); ck_assert(m->data == data97); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/baz/qux/quux", NULL); ck_assert(m); ck_assert(m->data == data98); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/baz/qux/corge", NULL); ck_assert(m); ck_assert(m->data == data99); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/baz/qux/grault", NULL); ck_assert(m); ck_assert(m->data == data100); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/baz/qux/garply", NULL); ck_assert(m); ck_assert(m->data == data101); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/baz/quux/foo", NULL); ck_assert(m); ck_assert(m->data == data102); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/baz/quux/bar", NULL); ck_assert(m); ck_assert(m->data == data103); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/baz/quux/qux", NULL); ck_assert(m); ck_assert(m->data == data104); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/baz/quux/corge", NULL); ck_assert(m); ck_assert(m->data == data105); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/baz/quux/grault", NULL); ck_assert(m); ck_assert(m->data == data106); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/baz/quux/garply", NULL); ck_assert(m); ck_assert(m->data == data107); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/baz/corge/foo", NULL); ck_assert(m); ck_assert(m->data == data108); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/baz/corge/bar", NULL); ck_assert(m); ck_assert(m->data == data109); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/baz/corge/qux", NULL); ck_assert(m); ck_assert(m->data == data110); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/baz/corge/quux", NULL); ck_assert(m); ck_assert(m->data == data111); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/baz/corge/grault", NULL); ck_assert(m); ck_assert(m->data == data112); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/baz/corge/garply", NULL); ck_assert(m); ck_assert(m->data == data113); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/baz/grault/foo", NULL); ck_assert(m); ck_assert(m->data == data114); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/baz/grault/bar", NULL); ck_assert(m); ck_assert(m->data == data115); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/baz/grault/qux", NULL); ck_assert(m); ck_assert(m->data == data116); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/baz/grault/quux", NULL); ck_assert(m); ck_assert(m->data == data117); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/baz/grault/corge", NULL); ck_assert(m); ck_assert(m->data == data118); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/baz/grault/garply", NULL); ck_assert(m); ck_assert(m->data == data119); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/baz/garply/foo", NULL); ck_assert(m); ck_assert(m->data == data120); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/baz/garply/bar", NULL); ck_assert(m); ck_assert(m->data == data121); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/baz/garply/qux", NULL); ck_assert(m); ck_assert(m->data == data122); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/baz/garply/quux", NULL); ck_assert(m); ck_assert(m->data == data123); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/baz/garply/corge", NULL); ck_assert(m); ck_assert(m->data == data124); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/baz/garply/grault", NULL); ck_assert(m); ck_assert(m->data == data125); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/qux/foo/bar", NULL); ck_assert(m); ck_assert(m->data == data126); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/qux/foo/baz", NULL); ck_assert(m); ck_assert(m->data == data127); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/qux/foo/quux", NULL); ck_assert(m); ck_assert(m->data == data128); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/qux/foo/corge", NULL); ck_assert(m); ck_assert(m->data == data129); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/qux/foo/grault", NULL); ck_assert(m); ck_assert(m->data == data130); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/qux/foo/garply", NULL); ck_assert(m); ck_assert(m->data == data131); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/qux/bar/foo", NULL); ck_assert(m); ck_assert(m->data == data132); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/qux/bar/baz", NULL); ck_assert(m); ck_assert(m->data == data133); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/qux/bar/quux", NULL); ck_assert(m); ck_assert(m->data == data134); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/qux/bar/corge", NULL); ck_assert(m); ck_assert(m->data == data135); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/qux/bar/grault", NULL); ck_assert(m); ck_assert(m->data == data136); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/qux/bar/garply", NULL); ck_assert(m); ck_assert(m->data == data137); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/qux/baz/foo", NULL); ck_assert(m); ck_assert(m->data == data138); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/qux/baz/bar", NULL); ck_assert(m); ck_assert(m->data == data139); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/qux/baz/quux", NULL); ck_assert(m); ck_assert(m->data == data140); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/qux/baz/corge", NULL); ck_assert(m); ck_assert(m->data == data141); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/qux/baz/grault", NULL); ck_assert(m); ck_assert(m->data == data142); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/qux/baz/garply", NULL); ck_assert(m); ck_assert(m->data == data143); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/qux/quux/foo", NULL); ck_assert(m); ck_assert(m->data == data144); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/qux/quux/bar", NULL); ck_assert(m); ck_assert(m->data == data145); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/qux/quux/baz", NULL); ck_assert(m); ck_assert(m->data == data146); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/qux/quux/corge", NULL); ck_assert(m); ck_assert(m->data == data147); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/qux/quux/grault", NULL); ck_assert(m); ck_assert(m->data == data148); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/qux/quux/garply", NULL); ck_assert(m); ck_assert(m->data == data149); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/qux/corge/foo", NULL); ck_assert(m); ck_assert(m->data == data150); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/qux/corge/bar", NULL); ck_assert(m); ck_assert(m->data == data151); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/qux/corge/baz", NULL); ck_assert(m); ck_assert(m->data == data152); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/qux/corge/quux", NULL); ck_assert(m); ck_assert(m->data == data153); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/qux/corge/grault", NULL); ck_assert(m); ck_assert(m->data == data154); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/qux/corge/garply", NULL); ck_assert(m); ck_assert(m->data == data155); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/qux/grault/foo", NULL); ck_assert(m); ck_assert(m->data == data156); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/qux/grault/bar", NULL); ck_assert(m); ck_assert(m->data == data157); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/qux/grault/baz", NULL); ck_assert(m); ck_assert(m->data == data158); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/qux/grault/quux", NULL); ck_assert(m); ck_assert(m->data == data159); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/qux/grault/corge", NULL); ck_assert(m); ck_assert(m->data == data160); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/qux/grault/garply", NULL); ck_assert(m); ck_assert(m->data == data161); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/qux/garply/foo", NULL); ck_assert(m); ck_assert(m->data == data162); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/qux/garply/bar", NULL); ck_assert(m); ck_assert(m->data == data163); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/qux/garply/baz", NULL); ck_assert(m); ck_assert(m->data == data164); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/qux/garply/quux", NULL); ck_assert(m); ck_assert(m->data == data165); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/qux/garply/corge", NULL); ck_assert(m); ck_assert(m->data == data166); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/qux/garply/grault", NULL); ck_assert(m); ck_assert(m->data == data167); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/quux/foo/bar", NULL); ck_assert(m); ck_assert(m->data == data168); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/quux/foo/baz", NULL); ck_assert(m); ck_assert(m->data == data169); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/quux/foo/qux", NULL); ck_assert(m); ck_assert(m->data == data170); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/quux/foo/corge", NULL); ck_assert(m); ck_assert(m->data == data171); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/quux/foo/grault", NULL); ck_assert(m); ck_assert(m->data == data172); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/quux/foo/garply", NULL); ck_assert(m); ck_assert(m->data == data173); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/quux/bar/foo", NULL); ck_assert(m); ck_assert(m->data == data174); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/quux/bar/baz", NULL); ck_assert(m); ck_assert(m->data == data175); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/quux/bar/qux", NULL); ck_assert(m); ck_assert(m->data == data176); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/quux/bar/corge", NULL); ck_assert(m); ck_assert(m->data == data177); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/quux/bar/grault", NULL); ck_assert(m); ck_assert(m->data == data178); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/quux/bar/garply", NULL); ck_assert(m); ck_assert(m->data == data179); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/quux/baz/foo", NULL); ck_assert(m); ck_assert(m->data == data180); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/quux/baz/bar", NULL); ck_assert(m); ck_assert(m->data == data181); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/quux/baz/qux", NULL); ck_assert(m); ck_assert(m->data == data182); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/quux/baz/corge", NULL); ck_assert(m); ck_assert(m->data == data183); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/quux/baz/grault", NULL); ck_assert(m); ck_assert(m->data == data184); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/quux/baz/garply", NULL); ck_assert(m); ck_assert(m->data == data185); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/quux/qux/foo", NULL); ck_assert(m); ck_assert(m->data == data186); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/quux/qux/bar", NULL); ck_assert(m); ck_assert(m->data == data187); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/quux/qux/baz", NULL); ck_assert(m); ck_assert(m->data == data188); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/quux/qux/corge", NULL); ck_assert(m); ck_assert(m->data == data189); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/quux/qux/grault", NULL); ck_assert(m); ck_assert(m->data == data190); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/quux/qux/garply", NULL); ck_assert(m); ck_assert(m->data == data191); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/quux/corge/foo", NULL); ck_assert(m); ck_assert(m->data == data192); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/quux/corge/bar", NULL); ck_assert(m); ck_assert(m->data == data193); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/quux/corge/baz", NULL); ck_assert(m); ck_assert(m->data == data194); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/quux/corge/qux", NULL); ck_assert(m); ck_assert(m->data == data195); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/quux/corge/grault", NULL); ck_assert(m); ck_assert(m->data == data196); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/quux/corge/garply", NULL); ck_assert(m); ck_assert(m->data == data197); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/quux/grault/foo", NULL); ck_assert(m); ck_assert(m->data == data198); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/quux/grault/bar", NULL); ck_assert(m); ck_assert(m->data == data199); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/quux/grault/baz", NULL); ck_assert(m); ck_assert(m->data == data200); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/quux/grault/qux", NULL); ck_assert(m); ck_assert(m->data == data201); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/quux/grault/corge", NULL); ck_assert(m); ck_assert(m->data == data202); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/quux/grault/garply", NULL); ck_assert(m); ck_assert(m->data == data203); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/quux/garply/foo", NULL); ck_assert(m); ck_assert(m->data == data204); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/quux/garply/bar", NULL); ck_assert(m); ck_assert(m->data == data205); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/quux/garply/baz", NULL); ck_assert(m); ck_assert(m->data == data206); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/quux/garply/qux", NULL); ck_assert(m); ck_assert(m->data == data207); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/quux/garply/corge", NULL); ck_assert(m); ck_assert(m->data == data208); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/quux/garply/grault", NULL); ck_assert(m); ck_assert(m->data == data209); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/corge/foo/bar", NULL); ck_assert(m); ck_assert(m->data == data210); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/corge/foo/baz", NULL); ck_assert(m); ck_assert(m->data == data211); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/corge/foo/qux", NULL); ck_assert(m); ck_assert(m->data == data212); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/corge/foo/quux", NULL); ck_assert(m); ck_assert(m->data == data213); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/corge/foo/grault", NULL); ck_assert(m); ck_assert(m->data == data214); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/corge/foo/garply", NULL); ck_assert(m); ck_assert(m->data == data215); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/corge/bar/foo", NULL); ck_assert(m); ck_assert(m->data == data216); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/corge/bar/baz", NULL); ck_assert(m); ck_assert(m->data == data217); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/corge/bar/qux", NULL); ck_assert(m); ck_assert(m->data == data218); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/corge/bar/quux", NULL); ck_assert(m); ck_assert(m->data == data219); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/corge/bar/grault", NULL); ck_assert(m); ck_assert(m->data == data220); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/corge/bar/garply", NULL); ck_assert(m); ck_assert(m->data == data221); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/corge/baz/foo", NULL); ck_assert(m); ck_assert(m->data == data222); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/corge/baz/bar", NULL); ck_assert(m); ck_assert(m->data == data223); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/corge/baz/qux", NULL); ck_assert(m); ck_assert(m->data == data224); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/corge/baz/quux", NULL); ck_assert(m); ck_assert(m->data == data225); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/corge/baz/grault", NULL); ck_assert(m); ck_assert(m->data == data226); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/corge/baz/garply", NULL); ck_assert(m); ck_assert(m->data == data227); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/corge/qux/foo", NULL); ck_assert(m); ck_assert(m->data == data228); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/corge/qux/bar", NULL); ck_assert(m); ck_assert(m->data == data229); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/corge/qux/baz", NULL); ck_assert(m); ck_assert(m->data == data230); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/corge/qux/quux", NULL); ck_assert(m); ck_assert(m->data == data231); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/corge/qux/grault", NULL); ck_assert(m); ck_assert(m->data == data232); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/corge/qux/garply", NULL); ck_assert(m); ck_assert(m->data == data233); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/corge/quux/foo", NULL); ck_assert(m); ck_assert(m->data == data234); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/corge/quux/bar", NULL); ck_assert(m); ck_assert(m->data == data235); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/corge/quux/baz", NULL); ck_assert(m); ck_assert(m->data == data236); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/corge/quux/qux", NULL); ck_assert(m); ck_assert(m->data == data237); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/corge/quux/grault", NULL); ck_assert(m); ck_assert(m->data == data238); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/corge/quux/garply", NULL); ck_assert(m); ck_assert(m->data == data239); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/corge/grault/foo", NULL); ck_assert(m); ck_assert(m->data == data240); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/corge/grault/bar", NULL); ck_assert(m); ck_assert(m->data == data241); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/corge/grault/baz", NULL); ck_assert(m); ck_assert(m->data == data242); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/corge/grault/qux", NULL); ck_assert(m); ck_assert(m->data == data243); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/corge/grault/quux", NULL); ck_assert(m); ck_assert(m->data == data244); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/corge/grault/garply", NULL); ck_assert(m); ck_assert(m->data == data245); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/corge/garply/foo", NULL); ck_assert(m); ck_assert(m->data == data246); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/corge/garply/bar", NULL); ck_assert(m); ck_assert(m->data == data247); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/corge/garply/baz", NULL); ck_assert(m); ck_assert(m->data == data248); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/corge/garply/qux", NULL); ck_assert(m); ck_assert(m->data == data249); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/corge/garply/quux", NULL); ck_assert(m); ck_assert(m->data == data250); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/corge/garply/grault", NULL); ck_assert(m); ck_assert(m->data == data251); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/grault/foo/bar", NULL); ck_assert(m); ck_assert(m->data == data252); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/grault/foo/baz", NULL); ck_assert(m); ck_assert(m->data == data253); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/grault/foo/qux", NULL); ck_assert(m); ck_assert(m->data == data254); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/grault/foo/quux", NULL); ck_assert(m); ck_assert(m->data == data255); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/grault/foo/corge", NULL); ck_assert(m); ck_assert(m->data == data256); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/grault/foo/garply", NULL); ck_assert(m); ck_assert(m->data == data257); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/grault/bar/foo", NULL); ck_assert(m); ck_assert(m->data == data258); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/grault/bar/baz", NULL); ck_assert(m); ck_assert(m->data == data259); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/grault/bar/qux", NULL); ck_assert(m); ck_assert(m->data == data260); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/grault/bar/quux", NULL); ck_assert(m); ck_assert(m->data == data261); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/grault/bar/corge", NULL); ck_assert(m); ck_assert(m->data == data262); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/grault/bar/garply", NULL); ck_assert(m); ck_assert(m->data == data263); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/grault/baz/foo", NULL); ck_assert(m); ck_assert(m->data == data264); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/grault/baz/bar", NULL); ck_assert(m); ck_assert(m->data == data265); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/grault/baz/qux", NULL); ck_assert(m); ck_assert(m->data == data266); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/grault/baz/quux", NULL); ck_assert(m); ck_assert(m->data == data267); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/grault/baz/corge", NULL); ck_assert(m); ck_assert(m->data == data268); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/grault/baz/garply", NULL); ck_assert(m); ck_assert(m->data == data269); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/grault/qux/foo", NULL); ck_assert(m); ck_assert(m->data == data270); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/grault/qux/bar", NULL); ck_assert(m); ck_assert(m->data == data271); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/grault/qux/baz", NULL); ck_assert(m); ck_assert(m->data == data272); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/grault/qux/quux", NULL); ck_assert(m); ck_assert(m->data == data273); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/grault/qux/corge", NULL); ck_assert(m); ck_assert(m->data == data274); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/grault/qux/garply", NULL); ck_assert(m); ck_assert(m->data == data275); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/grault/quux/foo", NULL); ck_assert(m); ck_assert(m->data == data276); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/grault/quux/bar", NULL); ck_assert(m); ck_assert(m->data == data277); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/grault/quux/baz", NULL); ck_assert(m); ck_assert(m->data == data278); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/grault/quux/qux", NULL); ck_assert(m); ck_assert(m->data == data279); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/grault/quux/corge", NULL); ck_assert(m); ck_assert(m->data == data280); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/grault/quux/garply", NULL); ck_assert(m); ck_assert(m->data == data281); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/grault/corge/foo", NULL); ck_assert(m); ck_assert(m->data == data282); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/grault/corge/bar", NULL); ck_assert(m); ck_assert(m->data == data283); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/grault/corge/baz", NULL); ck_assert(m); ck_assert(m->data == data284); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/grault/corge/qux", NULL); ck_assert(m); ck_assert(m->data == data285); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/grault/corge/quux", NULL); ck_assert(m); ck_assert(m->data == data286); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/grault/corge/garply", NULL); ck_assert(m); ck_assert(m->data == data287); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/grault/garply/foo", NULL); ck_assert(m); ck_assert(m->data == data288); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/grault/garply/bar", NULL); ck_assert(m); ck_assert(m->data == data289); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/grault/garply/baz", NULL); ck_assert(m); ck_assert(m->data == data290); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/grault/garply/qux", NULL); ck_assert(m); ck_assert(m->data == data291); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/grault/garply/quux", NULL); ck_assert(m); ck_assert(m->data == data292); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/grault/garply/corge", NULL); ck_assert(m); ck_assert(m->data == data293); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/garply/foo/bar", NULL); ck_assert(m); ck_assert(m->data == data294); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/garply/foo/baz", NULL); ck_assert(m); ck_assert(m->data == data295); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/garply/foo/qux", NULL); ck_assert(m); ck_assert(m->data == data296); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/garply/foo/quux", NULL); ck_assert(m); ck_assert(m->data == data297); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/garply/foo/corge", NULL); ck_assert(m); ck_assert(m->data == data298); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/garply/foo/grault", NULL); ck_assert(m); ck_assert(m->data == data299); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/garply/bar/foo", NULL); ck_assert(m); ck_assert(m->data == data300); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/garply/bar/baz", NULL); ck_assert(m); ck_assert(m->data == data301); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/garply/bar/qux", NULL); ck_assert(m); ck_assert(m->data == data302); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/garply/bar/quux", NULL); ck_assert(m); ck_assert(m->data == data303); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/garply/bar/corge", NULL); ck_assert(m); ck_assert(m->data == data304); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/garply/bar/grault", NULL); ck_assert(m); ck_assert(m->data == data305); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/garply/baz/foo", NULL); ck_assert(m); ck_assert(m->data == data306); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/garply/baz/bar", NULL); ck_assert(m); ck_assert(m->data == data307); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/garply/baz/qux", NULL); ck_assert(m); ck_assert(m->data == data308); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/garply/baz/quux", NULL); ck_assert(m); ck_assert(m->data == data309); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/garply/baz/corge", NULL); ck_assert(m); ck_assert(m->data == data310); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/garply/baz/grault", NULL); ck_assert(m); ck_assert(m->data == data311); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/garply/qux/foo", NULL); ck_assert(m); ck_assert(m->data == data312); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/garply/qux/bar", NULL); ck_assert(m); ck_assert(m->data == data313); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/garply/qux/baz", NULL); ck_assert(m); ck_assert(m->data == data314); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/garply/qux/quux", NULL); ck_assert(m); ck_assert(m->data == data315); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/garply/qux/corge", NULL); ck_assert(m); ck_assert(m->data == data316); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/garply/qux/grault", NULL); ck_assert(m); ck_assert(m->data == data317); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/garply/quux/foo", NULL); ck_assert(m); ck_assert(m->data == data318); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/garply/quux/bar", NULL); ck_assert(m); ck_assert(m->data == data319); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/garply/quux/baz", NULL); ck_assert(m); ck_assert(m->data == data320); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/garply/quux/qux", NULL); ck_assert(m); ck_assert(m->data == data321); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/garply/quux/corge", NULL); ck_assert(m); ck_assert(m->data == data322); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/garply/quux/grault", NULL); ck_assert(m); ck_assert(m->data == data323); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/garply/corge/foo", NULL); ck_assert(m); ck_assert(m->data == data324); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/garply/corge/bar", NULL); ck_assert(m); ck_assert(m->data == data325); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/garply/corge/baz", NULL); ck_assert(m); ck_assert(m->data == data326); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/garply/corge/qux", NULL); ck_assert(m); ck_assert(m->data == data327); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/garply/corge/quux", NULL); ck_assert(m); ck_assert(m->data == data328); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/garply/corge/grault", NULL); ck_assert(m); ck_assert(m->data == data329); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/garply/grault/foo", NULL); ck_assert(m); ck_assert(m->data == data330); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/garply/grault/bar", NULL); ck_assert(m); ck_assert(m->data == data331); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/garply/grault/baz", NULL); ck_assert(m); ck_assert(m->data == data332); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/garply/grault/qux", NULL); ck_assert(m); ck_assert(m->data == data333); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/garply/grault/quux", NULL); ck_assert(m); ck_assert(m->data == data334); + ck_assert_int_gt(m->endpoint, 0); m = r3_tree_match(n, "/garply/grault/corge", NULL); ck_assert(m); ck_assert(m->data == data335); + ck_assert_int_gt(m->endpoint, 0); r3_tree_free(n); From dbefe7534ee027a8d64ebc1b12ce541f66d234ac Mon Sep 17 00:00:00 2001 From: c9s Date: Mon, 2 Jun 2014 10:12:16 +0800 Subject: [PATCH 10/12] replace ck_assert_int_gt --- gen_route_tests.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gen_route_tests.rb b/gen_route_tests.rb index e32488c..b7cd17c 100644 --- a/gen_route_tests.rb +++ b/gen_route_tests.rb @@ -41,7 +41,7 @@ paths.each_index do |idx| puts " m = r3_tree_match(n, \"#{path}\", NULL);" puts " ck_assert(m);" puts " ck_assert(m->data == data#{idx});" - puts " ck_assert_int_gt(m->endpoint, 0);" + puts " ck_assert(m->endpoint > 0);" end From 7d69ec1d8119320a5104b0c87dfb218814de2cbb Mon Sep 17 00:00:00 2001 From: c9s Date: Mon, 2 Jun 2014 10:15:50 +0800 Subject: [PATCH 11/12] regenerate tests --- tests/check_routes.c | 672 +++++++++++++++++++++---------------------- 1 file changed, 336 insertions(+), 336 deletions(-) diff --git a/tests/check_routes.c b/tests/check_routes.c index f8b3ec5..20c9b31 100644 --- a/tests/check_routes.c +++ b/tests/check_routes.c @@ -693,1347 +693,1347 @@ START_TEST (test_routes) m = r3_tree_match(n, "/foo/bar/baz", NULL); ck_assert(m); ck_assert(m->data == data0); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/foo/bar/qux", NULL); ck_assert(m); ck_assert(m->data == data1); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/foo/bar/quux", NULL); ck_assert(m); ck_assert(m->data == data2); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/foo/bar/corge", NULL); ck_assert(m); ck_assert(m->data == data3); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/foo/bar/grault", NULL); ck_assert(m); ck_assert(m->data == data4); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/foo/bar/garply", NULL); ck_assert(m); ck_assert(m->data == data5); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/foo/baz/bar", NULL); ck_assert(m); ck_assert(m->data == data6); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/foo/baz/qux", NULL); ck_assert(m); ck_assert(m->data == data7); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/foo/baz/quux", NULL); ck_assert(m); ck_assert(m->data == data8); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/foo/baz/corge", NULL); ck_assert(m); ck_assert(m->data == data9); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/foo/baz/grault", NULL); ck_assert(m); ck_assert(m->data == data10); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/foo/baz/garply", NULL); ck_assert(m); ck_assert(m->data == data11); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/foo/qux/bar", NULL); ck_assert(m); ck_assert(m->data == data12); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/foo/qux/baz", NULL); ck_assert(m); ck_assert(m->data == data13); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/foo/qux/quux", NULL); ck_assert(m); ck_assert(m->data == data14); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/foo/qux/corge", NULL); ck_assert(m); ck_assert(m->data == data15); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/foo/qux/grault", NULL); ck_assert(m); ck_assert(m->data == data16); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/foo/qux/garply", NULL); ck_assert(m); ck_assert(m->data == data17); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/foo/quux/bar", NULL); ck_assert(m); ck_assert(m->data == data18); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/foo/quux/baz", NULL); ck_assert(m); ck_assert(m->data == data19); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/foo/quux/qux", NULL); ck_assert(m); ck_assert(m->data == data20); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/foo/quux/corge", NULL); ck_assert(m); ck_assert(m->data == data21); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/foo/quux/grault", NULL); ck_assert(m); ck_assert(m->data == data22); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/foo/quux/garply", NULL); ck_assert(m); ck_assert(m->data == data23); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/foo/corge/bar", NULL); ck_assert(m); ck_assert(m->data == data24); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/foo/corge/baz", NULL); ck_assert(m); ck_assert(m->data == data25); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/foo/corge/qux", NULL); ck_assert(m); ck_assert(m->data == data26); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/foo/corge/quux", NULL); ck_assert(m); ck_assert(m->data == data27); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/foo/corge/grault", NULL); ck_assert(m); ck_assert(m->data == data28); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/foo/corge/garply", NULL); ck_assert(m); ck_assert(m->data == data29); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/foo/grault/bar", NULL); ck_assert(m); ck_assert(m->data == data30); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/foo/grault/baz", NULL); ck_assert(m); ck_assert(m->data == data31); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/foo/grault/qux", NULL); ck_assert(m); ck_assert(m->data == data32); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/foo/grault/quux", NULL); ck_assert(m); ck_assert(m->data == data33); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/foo/grault/corge", NULL); ck_assert(m); ck_assert(m->data == data34); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/foo/grault/garply", NULL); ck_assert(m); ck_assert(m->data == data35); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/foo/garply/bar", NULL); ck_assert(m); ck_assert(m->data == data36); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/foo/garply/baz", NULL); ck_assert(m); ck_assert(m->data == data37); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/foo/garply/qux", NULL); ck_assert(m); ck_assert(m->data == data38); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/foo/garply/quux", NULL); ck_assert(m); ck_assert(m->data == data39); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/foo/garply/corge", NULL); ck_assert(m); ck_assert(m->data == data40); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/foo/garply/grault", NULL); ck_assert(m); ck_assert(m->data == data41); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/bar/foo/baz", NULL); ck_assert(m); ck_assert(m->data == data42); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/bar/foo/qux", NULL); ck_assert(m); ck_assert(m->data == data43); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/bar/foo/quux", NULL); ck_assert(m); ck_assert(m->data == data44); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/bar/foo/corge", NULL); ck_assert(m); ck_assert(m->data == data45); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/bar/foo/grault", NULL); ck_assert(m); ck_assert(m->data == data46); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/bar/foo/garply", NULL); ck_assert(m); ck_assert(m->data == data47); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/bar/baz/foo", NULL); ck_assert(m); ck_assert(m->data == data48); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/bar/baz/qux", NULL); ck_assert(m); ck_assert(m->data == data49); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/bar/baz/quux", NULL); ck_assert(m); ck_assert(m->data == data50); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/bar/baz/corge", NULL); ck_assert(m); ck_assert(m->data == data51); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/bar/baz/grault", NULL); ck_assert(m); ck_assert(m->data == data52); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/bar/baz/garply", NULL); ck_assert(m); ck_assert(m->data == data53); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/bar/qux/foo", NULL); ck_assert(m); ck_assert(m->data == data54); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/bar/qux/baz", NULL); ck_assert(m); ck_assert(m->data == data55); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/bar/qux/quux", NULL); ck_assert(m); ck_assert(m->data == data56); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/bar/qux/corge", NULL); ck_assert(m); ck_assert(m->data == data57); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/bar/qux/grault", NULL); ck_assert(m); ck_assert(m->data == data58); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/bar/qux/garply", NULL); ck_assert(m); ck_assert(m->data == data59); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/bar/quux/foo", NULL); ck_assert(m); ck_assert(m->data == data60); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/bar/quux/baz", NULL); ck_assert(m); ck_assert(m->data == data61); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/bar/quux/qux", NULL); ck_assert(m); ck_assert(m->data == data62); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/bar/quux/corge", NULL); ck_assert(m); ck_assert(m->data == data63); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/bar/quux/grault", NULL); ck_assert(m); ck_assert(m->data == data64); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/bar/quux/garply", NULL); ck_assert(m); ck_assert(m->data == data65); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/bar/corge/foo", NULL); ck_assert(m); ck_assert(m->data == data66); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/bar/corge/baz", NULL); ck_assert(m); ck_assert(m->data == data67); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/bar/corge/qux", NULL); ck_assert(m); ck_assert(m->data == data68); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/bar/corge/quux", NULL); ck_assert(m); ck_assert(m->data == data69); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/bar/corge/grault", NULL); ck_assert(m); ck_assert(m->data == data70); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/bar/corge/garply", NULL); ck_assert(m); ck_assert(m->data == data71); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/bar/grault/foo", NULL); ck_assert(m); ck_assert(m->data == data72); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/bar/grault/baz", NULL); ck_assert(m); ck_assert(m->data == data73); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/bar/grault/qux", NULL); ck_assert(m); ck_assert(m->data == data74); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/bar/grault/quux", NULL); ck_assert(m); ck_assert(m->data == data75); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/bar/grault/corge", NULL); ck_assert(m); ck_assert(m->data == data76); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/bar/grault/garply", NULL); ck_assert(m); ck_assert(m->data == data77); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/bar/garply/foo", NULL); ck_assert(m); ck_assert(m->data == data78); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/bar/garply/baz", NULL); ck_assert(m); ck_assert(m->data == data79); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/bar/garply/qux", NULL); ck_assert(m); ck_assert(m->data == data80); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/bar/garply/quux", NULL); ck_assert(m); ck_assert(m->data == data81); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/bar/garply/corge", NULL); ck_assert(m); ck_assert(m->data == data82); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/bar/garply/grault", NULL); ck_assert(m); ck_assert(m->data == data83); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/baz/foo/bar", NULL); ck_assert(m); ck_assert(m->data == data84); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/baz/foo/qux", NULL); ck_assert(m); ck_assert(m->data == data85); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/baz/foo/quux", NULL); ck_assert(m); ck_assert(m->data == data86); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/baz/foo/corge", NULL); ck_assert(m); ck_assert(m->data == data87); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/baz/foo/grault", NULL); ck_assert(m); ck_assert(m->data == data88); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/baz/foo/garply", NULL); ck_assert(m); ck_assert(m->data == data89); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/baz/bar/foo", NULL); ck_assert(m); ck_assert(m->data == data90); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/baz/bar/qux", NULL); ck_assert(m); ck_assert(m->data == data91); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/baz/bar/quux", NULL); ck_assert(m); ck_assert(m->data == data92); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/baz/bar/corge", NULL); ck_assert(m); ck_assert(m->data == data93); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/baz/bar/grault", NULL); ck_assert(m); ck_assert(m->data == data94); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/baz/bar/garply", NULL); ck_assert(m); ck_assert(m->data == data95); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/baz/qux/foo", NULL); ck_assert(m); ck_assert(m->data == data96); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/baz/qux/bar", NULL); ck_assert(m); ck_assert(m->data == data97); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/baz/qux/quux", NULL); ck_assert(m); ck_assert(m->data == data98); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/baz/qux/corge", NULL); ck_assert(m); ck_assert(m->data == data99); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/baz/qux/grault", NULL); ck_assert(m); ck_assert(m->data == data100); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/baz/qux/garply", NULL); ck_assert(m); ck_assert(m->data == data101); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/baz/quux/foo", NULL); ck_assert(m); ck_assert(m->data == data102); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/baz/quux/bar", NULL); ck_assert(m); ck_assert(m->data == data103); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/baz/quux/qux", NULL); ck_assert(m); ck_assert(m->data == data104); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/baz/quux/corge", NULL); ck_assert(m); ck_assert(m->data == data105); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/baz/quux/grault", NULL); ck_assert(m); ck_assert(m->data == data106); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/baz/quux/garply", NULL); ck_assert(m); ck_assert(m->data == data107); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/baz/corge/foo", NULL); ck_assert(m); ck_assert(m->data == data108); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/baz/corge/bar", NULL); ck_assert(m); ck_assert(m->data == data109); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/baz/corge/qux", NULL); ck_assert(m); ck_assert(m->data == data110); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/baz/corge/quux", NULL); ck_assert(m); ck_assert(m->data == data111); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/baz/corge/grault", NULL); ck_assert(m); ck_assert(m->data == data112); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/baz/corge/garply", NULL); ck_assert(m); ck_assert(m->data == data113); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/baz/grault/foo", NULL); ck_assert(m); ck_assert(m->data == data114); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/baz/grault/bar", NULL); ck_assert(m); ck_assert(m->data == data115); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/baz/grault/qux", NULL); ck_assert(m); ck_assert(m->data == data116); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/baz/grault/quux", NULL); ck_assert(m); ck_assert(m->data == data117); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/baz/grault/corge", NULL); ck_assert(m); ck_assert(m->data == data118); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/baz/grault/garply", NULL); ck_assert(m); ck_assert(m->data == data119); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/baz/garply/foo", NULL); ck_assert(m); ck_assert(m->data == data120); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/baz/garply/bar", NULL); ck_assert(m); ck_assert(m->data == data121); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/baz/garply/qux", NULL); ck_assert(m); ck_assert(m->data == data122); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/baz/garply/quux", NULL); ck_assert(m); ck_assert(m->data == data123); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/baz/garply/corge", NULL); ck_assert(m); ck_assert(m->data == data124); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/baz/garply/grault", NULL); ck_assert(m); ck_assert(m->data == data125); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/qux/foo/bar", NULL); ck_assert(m); ck_assert(m->data == data126); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/qux/foo/baz", NULL); ck_assert(m); ck_assert(m->data == data127); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/qux/foo/quux", NULL); ck_assert(m); ck_assert(m->data == data128); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/qux/foo/corge", NULL); ck_assert(m); ck_assert(m->data == data129); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/qux/foo/grault", NULL); ck_assert(m); ck_assert(m->data == data130); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/qux/foo/garply", NULL); ck_assert(m); ck_assert(m->data == data131); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/qux/bar/foo", NULL); ck_assert(m); ck_assert(m->data == data132); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/qux/bar/baz", NULL); ck_assert(m); ck_assert(m->data == data133); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/qux/bar/quux", NULL); ck_assert(m); ck_assert(m->data == data134); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/qux/bar/corge", NULL); ck_assert(m); ck_assert(m->data == data135); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/qux/bar/grault", NULL); ck_assert(m); ck_assert(m->data == data136); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/qux/bar/garply", NULL); ck_assert(m); ck_assert(m->data == data137); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/qux/baz/foo", NULL); ck_assert(m); ck_assert(m->data == data138); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/qux/baz/bar", NULL); ck_assert(m); ck_assert(m->data == data139); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/qux/baz/quux", NULL); ck_assert(m); ck_assert(m->data == data140); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/qux/baz/corge", NULL); ck_assert(m); ck_assert(m->data == data141); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/qux/baz/grault", NULL); ck_assert(m); ck_assert(m->data == data142); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/qux/baz/garply", NULL); ck_assert(m); ck_assert(m->data == data143); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/qux/quux/foo", NULL); ck_assert(m); ck_assert(m->data == data144); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/qux/quux/bar", NULL); ck_assert(m); ck_assert(m->data == data145); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/qux/quux/baz", NULL); ck_assert(m); ck_assert(m->data == data146); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/qux/quux/corge", NULL); ck_assert(m); ck_assert(m->data == data147); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/qux/quux/grault", NULL); ck_assert(m); ck_assert(m->data == data148); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/qux/quux/garply", NULL); ck_assert(m); ck_assert(m->data == data149); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/qux/corge/foo", NULL); ck_assert(m); ck_assert(m->data == data150); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/qux/corge/bar", NULL); ck_assert(m); ck_assert(m->data == data151); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/qux/corge/baz", NULL); ck_assert(m); ck_assert(m->data == data152); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/qux/corge/quux", NULL); ck_assert(m); ck_assert(m->data == data153); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/qux/corge/grault", NULL); ck_assert(m); ck_assert(m->data == data154); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/qux/corge/garply", NULL); ck_assert(m); ck_assert(m->data == data155); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/qux/grault/foo", NULL); ck_assert(m); ck_assert(m->data == data156); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/qux/grault/bar", NULL); ck_assert(m); ck_assert(m->data == data157); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/qux/grault/baz", NULL); ck_assert(m); ck_assert(m->data == data158); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/qux/grault/quux", NULL); ck_assert(m); ck_assert(m->data == data159); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/qux/grault/corge", NULL); ck_assert(m); ck_assert(m->data == data160); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/qux/grault/garply", NULL); ck_assert(m); ck_assert(m->data == data161); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/qux/garply/foo", NULL); ck_assert(m); ck_assert(m->data == data162); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/qux/garply/bar", NULL); ck_assert(m); ck_assert(m->data == data163); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/qux/garply/baz", NULL); ck_assert(m); ck_assert(m->data == data164); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/qux/garply/quux", NULL); ck_assert(m); ck_assert(m->data == data165); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/qux/garply/corge", NULL); ck_assert(m); ck_assert(m->data == data166); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/qux/garply/grault", NULL); ck_assert(m); ck_assert(m->data == data167); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/quux/foo/bar", NULL); ck_assert(m); ck_assert(m->data == data168); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/quux/foo/baz", NULL); ck_assert(m); ck_assert(m->data == data169); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/quux/foo/qux", NULL); ck_assert(m); ck_assert(m->data == data170); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/quux/foo/corge", NULL); ck_assert(m); ck_assert(m->data == data171); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/quux/foo/grault", NULL); ck_assert(m); ck_assert(m->data == data172); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/quux/foo/garply", NULL); ck_assert(m); ck_assert(m->data == data173); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/quux/bar/foo", NULL); ck_assert(m); ck_assert(m->data == data174); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/quux/bar/baz", NULL); ck_assert(m); ck_assert(m->data == data175); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/quux/bar/qux", NULL); ck_assert(m); ck_assert(m->data == data176); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/quux/bar/corge", NULL); ck_assert(m); ck_assert(m->data == data177); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/quux/bar/grault", NULL); ck_assert(m); ck_assert(m->data == data178); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/quux/bar/garply", NULL); ck_assert(m); ck_assert(m->data == data179); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/quux/baz/foo", NULL); ck_assert(m); ck_assert(m->data == data180); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/quux/baz/bar", NULL); ck_assert(m); ck_assert(m->data == data181); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/quux/baz/qux", NULL); ck_assert(m); ck_assert(m->data == data182); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/quux/baz/corge", NULL); ck_assert(m); ck_assert(m->data == data183); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/quux/baz/grault", NULL); ck_assert(m); ck_assert(m->data == data184); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/quux/baz/garply", NULL); ck_assert(m); ck_assert(m->data == data185); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/quux/qux/foo", NULL); ck_assert(m); ck_assert(m->data == data186); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/quux/qux/bar", NULL); ck_assert(m); ck_assert(m->data == data187); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/quux/qux/baz", NULL); ck_assert(m); ck_assert(m->data == data188); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/quux/qux/corge", NULL); ck_assert(m); ck_assert(m->data == data189); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/quux/qux/grault", NULL); ck_assert(m); ck_assert(m->data == data190); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/quux/qux/garply", NULL); ck_assert(m); ck_assert(m->data == data191); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/quux/corge/foo", NULL); ck_assert(m); ck_assert(m->data == data192); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/quux/corge/bar", NULL); ck_assert(m); ck_assert(m->data == data193); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/quux/corge/baz", NULL); ck_assert(m); ck_assert(m->data == data194); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/quux/corge/qux", NULL); ck_assert(m); ck_assert(m->data == data195); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/quux/corge/grault", NULL); ck_assert(m); ck_assert(m->data == data196); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/quux/corge/garply", NULL); ck_assert(m); ck_assert(m->data == data197); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/quux/grault/foo", NULL); ck_assert(m); ck_assert(m->data == data198); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/quux/grault/bar", NULL); ck_assert(m); ck_assert(m->data == data199); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/quux/grault/baz", NULL); ck_assert(m); ck_assert(m->data == data200); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/quux/grault/qux", NULL); ck_assert(m); ck_assert(m->data == data201); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/quux/grault/corge", NULL); ck_assert(m); ck_assert(m->data == data202); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/quux/grault/garply", NULL); ck_assert(m); ck_assert(m->data == data203); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/quux/garply/foo", NULL); ck_assert(m); ck_assert(m->data == data204); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/quux/garply/bar", NULL); ck_assert(m); ck_assert(m->data == data205); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/quux/garply/baz", NULL); ck_assert(m); ck_assert(m->data == data206); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/quux/garply/qux", NULL); ck_assert(m); ck_assert(m->data == data207); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/quux/garply/corge", NULL); ck_assert(m); ck_assert(m->data == data208); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/quux/garply/grault", NULL); ck_assert(m); ck_assert(m->data == data209); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/corge/foo/bar", NULL); ck_assert(m); ck_assert(m->data == data210); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/corge/foo/baz", NULL); ck_assert(m); ck_assert(m->data == data211); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/corge/foo/qux", NULL); ck_assert(m); ck_assert(m->data == data212); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/corge/foo/quux", NULL); ck_assert(m); ck_assert(m->data == data213); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/corge/foo/grault", NULL); ck_assert(m); ck_assert(m->data == data214); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/corge/foo/garply", NULL); ck_assert(m); ck_assert(m->data == data215); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/corge/bar/foo", NULL); ck_assert(m); ck_assert(m->data == data216); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/corge/bar/baz", NULL); ck_assert(m); ck_assert(m->data == data217); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/corge/bar/qux", NULL); ck_assert(m); ck_assert(m->data == data218); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/corge/bar/quux", NULL); ck_assert(m); ck_assert(m->data == data219); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/corge/bar/grault", NULL); ck_assert(m); ck_assert(m->data == data220); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/corge/bar/garply", NULL); ck_assert(m); ck_assert(m->data == data221); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/corge/baz/foo", NULL); ck_assert(m); ck_assert(m->data == data222); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/corge/baz/bar", NULL); ck_assert(m); ck_assert(m->data == data223); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/corge/baz/qux", NULL); ck_assert(m); ck_assert(m->data == data224); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/corge/baz/quux", NULL); ck_assert(m); ck_assert(m->data == data225); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/corge/baz/grault", NULL); ck_assert(m); ck_assert(m->data == data226); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/corge/baz/garply", NULL); ck_assert(m); ck_assert(m->data == data227); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/corge/qux/foo", NULL); ck_assert(m); ck_assert(m->data == data228); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/corge/qux/bar", NULL); ck_assert(m); ck_assert(m->data == data229); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/corge/qux/baz", NULL); ck_assert(m); ck_assert(m->data == data230); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/corge/qux/quux", NULL); ck_assert(m); ck_assert(m->data == data231); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/corge/qux/grault", NULL); ck_assert(m); ck_assert(m->data == data232); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/corge/qux/garply", NULL); ck_assert(m); ck_assert(m->data == data233); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/corge/quux/foo", NULL); ck_assert(m); ck_assert(m->data == data234); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/corge/quux/bar", NULL); ck_assert(m); ck_assert(m->data == data235); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/corge/quux/baz", NULL); ck_assert(m); ck_assert(m->data == data236); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/corge/quux/qux", NULL); ck_assert(m); ck_assert(m->data == data237); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/corge/quux/grault", NULL); ck_assert(m); ck_assert(m->data == data238); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/corge/quux/garply", NULL); ck_assert(m); ck_assert(m->data == data239); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/corge/grault/foo", NULL); ck_assert(m); ck_assert(m->data == data240); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/corge/grault/bar", NULL); ck_assert(m); ck_assert(m->data == data241); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/corge/grault/baz", NULL); ck_assert(m); ck_assert(m->data == data242); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/corge/grault/qux", NULL); ck_assert(m); ck_assert(m->data == data243); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/corge/grault/quux", NULL); ck_assert(m); ck_assert(m->data == data244); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/corge/grault/garply", NULL); ck_assert(m); ck_assert(m->data == data245); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/corge/garply/foo", NULL); ck_assert(m); ck_assert(m->data == data246); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/corge/garply/bar", NULL); ck_assert(m); ck_assert(m->data == data247); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/corge/garply/baz", NULL); ck_assert(m); ck_assert(m->data == data248); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/corge/garply/qux", NULL); ck_assert(m); ck_assert(m->data == data249); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/corge/garply/quux", NULL); ck_assert(m); ck_assert(m->data == data250); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/corge/garply/grault", NULL); ck_assert(m); ck_assert(m->data == data251); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/grault/foo/bar", NULL); ck_assert(m); ck_assert(m->data == data252); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/grault/foo/baz", NULL); ck_assert(m); ck_assert(m->data == data253); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/grault/foo/qux", NULL); ck_assert(m); ck_assert(m->data == data254); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/grault/foo/quux", NULL); ck_assert(m); ck_assert(m->data == data255); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/grault/foo/corge", NULL); ck_assert(m); ck_assert(m->data == data256); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/grault/foo/garply", NULL); ck_assert(m); ck_assert(m->data == data257); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/grault/bar/foo", NULL); ck_assert(m); ck_assert(m->data == data258); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/grault/bar/baz", NULL); ck_assert(m); ck_assert(m->data == data259); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/grault/bar/qux", NULL); ck_assert(m); ck_assert(m->data == data260); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/grault/bar/quux", NULL); ck_assert(m); ck_assert(m->data == data261); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/grault/bar/corge", NULL); ck_assert(m); ck_assert(m->data == data262); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/grault/bar/garply", NULL); ck_assert(m); ck_assert(m->data == data263); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/grault/baz/foo", NULL); ck_assert(m); ck_assert(m->data == data264); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/grault/baz/bar", NULL); ck_assert(m); ck_assert(m->data == data265); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/grault/baz/qux", NULL); ck_assert(m); ck_assert(m->data == data266); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/grault/baz/quux", NULL); ck_assert(m); ck_assert(m->data == data267); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/grault/baz/corge", NULL); ck_assert(m); ck_assert(m->data == data268); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/grault/baz/garply", NULL); ck_assert(m); ck_assert(m->data == data269); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/grault/qux/foo", NULL); ck_assert(m); ck_assert(m->data == data270); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/grault/qux/bar", NULL); ck_assert(m); ck_assert(m->data == data271); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/grault/qux/baz", NULL); ck_assert(m); ck_assert(m->data == data272); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/grault/qux/quux", NULL); ck_assert(m); ck_assert(m->data == data273); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/grault/qux/corge", NULL); ck_assert(m); ck_assert(m->data == data274); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/grault/qux/garply", NULL); ck_assert(m); ck_assert(m->data == data275); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/grault/quux/foo", NULL); ck_assert(m); ck_assert(m->data == data276); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/grault/quux/bar", NULL); ck_assert(m); ck_assert(m->data == data277); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/grault/quux/baz", NULL); ck_assert(m); ck_assert(m->data == data278); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/grault/quux/qux", NULL); ck_assert(m); ck_assert(m->data == data279); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/grault/quux/corge", NULL); ck_assert(m); ck_assert(m->data == data280); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/grault/quux/garply", NULL); ck_assert(m); ck_assert(m->data == data281); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/grault/corge/foo", NULL); ck_assert(m); ck_assert(m->data == data282); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/grault/corge/bar", NULL); ck_assert(m); ck_assert(m->data == data283); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/grault/corge/baz", NULL); ck_assert(m); ck_assert(m->data == data284); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/grault/corge/qux", NULL); ck_assert(m); ck_assert(m->data == data285); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/grault/corge/quux", NULL); ck_assert(m); ck_assert(m->data == data286); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/grault/corge/garply", NULL); ck_assert(m); ck_assert(m->data == data287); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/grault/garply/foo", NULL); ck_assert(m); ck_assert(m->data == data288); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/grault/garply/bar", NULL); ck_assert(m); ck_assert(m->data == data289); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/grault/garply/baz", NULL); ck_assert(m); ck_assert(m->data == data290); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/grault/garply/qux", NULL); ck_assert(m); ck_assert(m->data == data291); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/grault/garply/quux", NULL); ck_assert(m); ck_assert(m->data == data292); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/grault/garply/corge", NULL); ck_assert(m); ck_assert(m->data == data293); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/garply/foo/bar", NULL); ck_assert(m); ck_assert(m->data == data294); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/garply/foo/baz", NULL); ck_assert(m); ck_assert(m->data == data295); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/garply/foo/qux", NULL); ck_assert(m); ck_assert(m->data == data296); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/garply/foo/quux", NULL); ck_assert(m); ck_assert(m->data == data297); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/garply/foo/corge", NULL); ck_assert(m); ck_assert(m->data == data298); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/garply/foo/grault", NULL); ck_assert(m); ck_assert(m->data == data299); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/garply/bar/foo", NULL); ck_assert(m); ck_assert(m->data == data300); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/garply/bar/baz", NULL); ck_assert(m); ck_assert(m->data == data301); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/garply/bar/qux", NULL); ck_assert(m); ck_assert(m->data == data302); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/garply/bar/quux", NULL); ck_assert(m); ck_assert(m->data == data303); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/garply/bar/corge", NULL); ck_assert(m); ck_assert(m->data == data304); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/garply/bar/grault", NULL); ck_assert(m); ck_assert(m->data == data305); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/garply/baz/foo", NULL); ck_assert(m); ck_assert(m->data == data306); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/garply/baz/bar", NULL); ck_assert(m); ck_assert(m->data == data307); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/garply/baz/qux", NULL); ck_assert(m); ck_assert(m->data == data308); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/garply/baz/quux", NULL); ck_assert(m); ck_assert(m->data == data309); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/garply/baz/corge", NULL); ck_assert(m); ck_assert(m->data == data310); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/garply/baz/grault", NULL); ck_assert(m); ck_assert(m->data == data311); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/garply/qux/foo", NULL); ck_assert(m); ck_assert(m->data == data312); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/garply/qux/bar", NULL); ck_assert(m); ck_assert(m->data == data313); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/garply/qux/baz", NULL); ck_assert(m); ck_assert(m->data == data314); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/garply/qux/quux", NULL); ck_assert(m); ck_assert(m->data == data315); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/garply/qux/corge", NULL); ck_assert(m); ck_assert(m->data == data316); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/garply/qux/grault", NULL); ck_assert(m); ck_assert(m->data == data317); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/garply/quux/foo", NULL); ck_assert(m); ck_assert(m->data == data318); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/garply/quux/bar", NULL); ck_assert(m); ck_assert(m->data == data319); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/garply/quux/baz", NULL); ck_assert(m); ck_assert(m->data == data320); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/garply/quux/qux", NULL); ck_assert(m); ck_assert(m->data == data321); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/garply/quux/corge", NULL); ck_assert(m); ck_assert(m->data == data322); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/garply/quux/grault", NULL); ck_assert(m); ck_assert(m->data == data323); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/garply/corge/foo", NULL); ck_assert(m); ck_assert(m->data == data324); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/garply/corge/bar", NULL); ck_assert(m); ck_assert(m->data == data325); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/garply/corge/baz", NULL); ck_assert(m); ck_assert(m->data == data326); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/garply/corge/qux", NULL); ck_assert(m); ck_assert(m->data == data327); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/garply/corge/quux", NULL); ck_assert(m); ck_assert(m->data == data328); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/garply/corge/grault", NULL); ck_assert(m); ck_assert(m->data == data329); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/garply/grault/foo", NULL); ck_assert(m); ck_assert(m->data == data330); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/garply/grault/bar", NULL); ck_assert(m); ck_assert(m->data == data331); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/garply/grault/baz", NULL); ck_assert(m); ck_assert(m->data == data332); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/garply/grault/qux", NULL); ck_assert(m); ck_assert(m->data == data333); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/garply/grault/quux", NULL); ck_assert(m); ck_assert(m->data == data334); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/garply/grault/corge", NULL); ck_assert(m); ck_assert(m->data == data335); - ck_assert_int_gt(m->endpoint, 0); + ck_assert(m->endpoint > 0); r3_tree_free(n); From 6333261f28b699f832a4f61e62bdaaa6b9b2ac10 Mon Sep 17 00:00:00 2001 From: c9s Date: Mon, 2 Jun 2014 10:17:35 +0800 Subject: [PATCH 12/12] ck_assert not null --- gen_route_tests.rb | 2 +- tests/check_routes.c | 672 +++++++++++++++++++++---------------------- 2 files changed, 337 insertions(+), 337 deletions(-) diff --git a/gen_route_tests.rb b/gen_route_tests.rb index b7cd17c..fbf7a20 100644 --- a/gen_route_tests.rb +++ b/gen_route_tests.rb @@ -39,7 +39,7 @@ END paths.each_index do |idx| path = paths.fetch(idx) puts " m = r3_tree_match(n, \"#{path}\", NULL);" - puts " ck_assert(m);" + puts " ck_assert(m != NULL);" puts " ck_assert(m->data == data#{idx});" puts " ck_assert(m->endpoint > 0);" end diff --git a/tests/check_routes.c b/tests/check_routes.c index 20c9b31..60d6594 100644 --- a/tests/check_routes.c +++ b/tests/check_routes.c @@ -691,1347 +691,1347 @@ START_TEST (test_routes) r3_tree_compile(n, &err); ck_assert(err == NULL); m = r3_tree_match(n, "/foo/bar/baz", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data0); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/foo/bar/qux", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data1); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/foo/bar/quux", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data2); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/foo/bar/corge", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data3); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/foo/bar/grault", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data4); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/foo/bar/garply", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data5); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/foo/baz/bar", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data6); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/foo/baz/qux", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data7); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/foo/baz/quux", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data8); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/foo/baz/corge", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data9); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/foo/baz/grault", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data10); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/foo/baz/garply", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data11); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/foo/qux/bar", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data12); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/foo/qux/baz", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data13); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/foo/qux/quux", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data14); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/foo/qux/corge", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data15); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/foo/qux/grault", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data16); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/foo/qux/garply", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data17); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/foo/quux/bar", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data18); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/foo/quux/baz", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data19); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/foo/quux/qux", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data20); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/foo/quux/corge", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data21); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/foo/quux/grault", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data22); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/foo/quux/garply", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data23); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/foo/corge/bar", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data24); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/foo/corge/baz", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data25); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/foo/corge/qux", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data26); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/foo/corge/quux", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data27); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/foo/corge/grault", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data28); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/foo/corge/garply", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data29); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/foo/grault/bar", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data30); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/foo/grault/baz", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data31); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/foo/grault/qux", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data32); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/foo/grault/quux", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data33); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/foo/grault/corge", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data34); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/foo/grault/garply", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data35); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/foo/garply/bar", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data36); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/foo/garply/baz", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data37); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/foo/garply/qux", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data38); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/foo/garply/quux", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data39); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/foo/garply/corge", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data40); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/foo/garply/grault", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data41); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/bar/foo/baz", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data42); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/bar/foo/qux", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data43); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/bar/foo/quux", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data44); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/bar/foo/corge", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data45); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/bar/foo/grault", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data46); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/bar/foo/garply", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data47); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/bar/baz/foo", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data48); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/bar/baz/qux", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data49); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/bar/baz/quux", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data50); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/bar/baz/corge", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data51); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/bar/baz/grault", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data52); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/bar/baz/garply", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data53); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/bar/qux/foo", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data54); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/bar/qux/baz", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data55); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/bar/qux/quux", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data56); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/bar/qux/corge", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data57); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/bar/qux/grault", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data58); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/bar/qux/garply", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data59); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/bar/quux/foo", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data60); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/bar/quux/baz", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data61); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/bar/quux/qux", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data62); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/bar/quux/corge", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data63); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/bar/quux/grault", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data64); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/bar/quux/garply", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data65); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/bar/corge/foo", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data66); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/bar/corge/baz", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data67); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/bar/corge/qux", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data68); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/bar/corge/quux", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data69); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/bar/corge/grault", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data70); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/bar/corge/garply", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data71); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/bar/grault/foo", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data72); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/bar/grault/baz", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data73); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/bar/grault/qux", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data74); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/bar/grault/quux", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data75); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/bar/grault/corge", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data76); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/bar/grault/garply", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data77); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/bar/garply/foo", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data78); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/bar/garply/baz", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data79); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/bar/garply/qux", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data80); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/bar/garply/quux", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data81); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/bar/garply/corge", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data82); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/bar/garply/grault", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data83); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/baz/foo/bar", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data84); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/baz/foo/qux", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data85); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/baz/foo/quux", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data86); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/baz/foo/corge", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data87); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/baz/foo/grault", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data88); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/baz/foo/garply", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data89); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/baz/bar/foo", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data90); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/baz/bar/qux", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data91); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/baz/bar/quux", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data92); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/baz/bar/corge", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data93); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/baz/bar/grault", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data94); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/baz/bar/garply", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data95); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/baz/qux/foo", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data96); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/baz/qux/bar", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data97); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/baz/qux/quux", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data98); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/baz/qux/corge", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data99); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/baz/qux/grault", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data100); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/baz/qux/garply", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data101); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/baz/quux/foo", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data102); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/baz/quux/bar", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data103); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/baz/quux/qux", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data104); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/baz/quux/corge", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data105); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/baz/quux/grault", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data106); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/baz/quux/garply", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data107); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/baz/corge/foo", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data108); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/baz/corge/bar", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data109); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/baz/corge/qux", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data110); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/baz/corge/quux", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data111); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/baz/corge/grault", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data112); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/baz/corge/garply", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data113); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/baz/grault/foo", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data114); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/baz/grault/bar", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data115); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/baz/grault/qux", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data116); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/baz/grault/quux", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data117); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/baz/grault/corge", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data118); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/baz/grault/garply", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data119); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/baz/garply/foo", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data120); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/baz/garply/bar", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data121); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/baz/garply/qux", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data122); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/baz/garply/quux", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data123); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/baz/garply/corge", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data124); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/baz/garply/grault", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data125); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/qux/foo/bar", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data126); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/qux/foo/baz", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data127); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/qux/foo/quux", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data128); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/qux/foo/corge", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data129); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/qux/foo/grault", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data130); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/qux/foo/garply", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data131); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/qux/bar/foo", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data132); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/qux/bar/baz", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data133); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/qux/bar/quux", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data134); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/qux/bar/corge", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data135); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/qux/bar/grault", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data136); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/qux/bar/garply", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data137); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/qux/baz/foo", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data138); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/qux/baz/bar", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data139); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/qux/baz/quux", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data140); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/qux/baz/corge", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data141); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/qux/baz/grault", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data142); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/qux/baz/garply", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data143); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/qux/quux/foo", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data144); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/qux/quux/bar", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data145); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/qux/quux/baz", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data146); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/qux/quux/corge", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data147); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/qux/quux/grault", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data148); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/qux/quux/garply", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data149); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/qux/corge/foo", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data150); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/qux/corge/bar", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data151); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/qux/corge/baz", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data152); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/qux/corge/quux", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data153); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/qux/corge/grault", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data154); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/qux/corge/garply", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data155); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/qux/grault/foo", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data156); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/qux/grault/bar", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data157); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/qux/grault/baz", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data158); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/qux/grault/quux", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data159); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/qux/grault/corge", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data160); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/qux/grault/garply", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data161); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/qux/garply/foo", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data162); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/qux/garply/bar", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data163); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/qux/garply/baz", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data164); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/qux/garply/quux", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data165); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/qux/garply/corge", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data166); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/qux/garply/grault", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data167); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/quux/foo/bar", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data168); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/quux/foo/baz", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data169); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/quux/foo/qux", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data170); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/quux/foo/corge", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data171); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/quux/foo/grault", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data172); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/quux/foo/garply", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data173); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/quux/bar/foo", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data174); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/quux/bar/baz", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data175); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/quux/bar/qux", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data176); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/quux/bar/corge", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data177); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/quux/bar/grault", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data178); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/quux/bar/garply", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data179); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/quux/baz/foo", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data180); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/quux/baz/bar", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data181); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/quux/baz/qux", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data182); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/quux/baz/corge", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data183); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/quux/baz/grault", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data184); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/quux/baz/garply", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data185); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/quux/qux/foo", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data186); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/quux/qux/bar", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data187); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/quux/qux/baz", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data188); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/quux/qux/corge", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data189); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/quux/qux/grault", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data190); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/quux/qux/garply", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data191); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/quux/corge/foo", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data192); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/quux/corge/bar", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data193); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/quux/corge/baz", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data194); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/quux/corge/qux", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data195); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/quux/corge/grault", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data196); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/quux/corge/garply", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data197); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/quux/grault/foo", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data198); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/quux/grault/bar", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data199); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/quux/grault/baz", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data200); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/quux/grault/qux", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data201); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/quux/grault/corge", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data202); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/quux/grault/garply", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data203); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/quux/garply/foo", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data204); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/quux/garply/bar", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data205); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/quux/garply/baz", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data206); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/quux/garply/qux", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data207); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/quux/garply/corge", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data208); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/quux/garply/grault", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data209); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/corge/foo/bar", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data210); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/corge/foo/baz", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data211); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/corge/foo/qux", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data212); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/corge/foo/quux", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data213); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/corge/foo/grault", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data214); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/corge/foo/garply", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data215); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/corge/bar/foo", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data216); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/corge/bar/baz", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data217); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/corge/bar/qux", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data218); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/corge/bar/quux", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data219); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/corge/bar/grault", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data220); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/corge/bar/garply", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data221); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/corge/baz/foo", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data222); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/corge/baz/bar", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data223); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/corge/baz/qux", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data224); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/corge/baz/quux", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data225); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/corge/baz/grault", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data226); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/corge/baz/garply", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data227); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/corge/qux/foo", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data228); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/corge/qux/bar", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data229); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/corge/qux/baz", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data230); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/corge/qux/quux", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data231); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/corge/qux/grault", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data232); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/corge/qux/garply", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data233); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/corge/quux/foo", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data234); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/corge/quux/bar", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data235); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/corge/quux/baz", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data236); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/corge/quux/qux", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data237); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/corge/quux/grault", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data238); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/corge/quux/garply", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data239); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/corge/grault/foo", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data240); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/corge/grault/bar", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data241); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/corge/grault/baz", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data242); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/corge/grault/qux", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data243); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/corge/grault/quux", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data244); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/corge/grault/garply", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data245); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/corge/garply/foo", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data246); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/corge/garply/bar", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data247); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/corge/garply/baz", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data248); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/corge/garply/qux", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data249); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/corge/garply/quux", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data250); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/corge/garply/grault", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data251); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/grault/foo/bar", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data252); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/grault/foo/baz", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data253); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/grault/foo/qux", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data254); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/grault/foo/quux", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data255); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/grault/foo/corge", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data256); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/grault/foo/garply", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data257); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/grault/bar/foo", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data258); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/grault/bar/baz", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data259); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/grault/bar/qux", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data260); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/grault/bar/quux", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data261); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/grault/bar/corge", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data262); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/grault/bar/garply", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data263); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/grault/baz/foo", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data264); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/grault/baz/bar", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data265); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/grault/baz/qux", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data266); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/grault/baz/quux", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data267); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/grault/baz/corge", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data268); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/grault/baz/garply", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data269); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/grault/qux/foo", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data270); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/grault/qux/bar", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data271); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/grault/qux/baz", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data272); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/grault/qux/quux", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data273); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/grault/qux/corge", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data274); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/grault/qux/garply", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data275); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/grault/quux/foo", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data276); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/grault/quux/bar", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data277); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/grault/quux/baz", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data278); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/grault/quux/qux", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data279); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/grault/quux/corge", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data280); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/grault/quux/garply", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data281); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/grault/corge/foo", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data282); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/grault/corge/bar", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data283); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/grault/corge/baz", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data284); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/grault/corge/qux", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data285); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/grault/corge/quux", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data286); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/grault/corge/garply", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data287); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/grault/garply/foo", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data288); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/grault/garply/bar", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data289); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/grault/garply/baz", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data290); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/grault/garply/qux", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data291); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/grault/garply/quux", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data292); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/grault/garply/corge", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data293); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/garply/foo/bar", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data294); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/garply/foo/baz", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data295); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/garply/foo/qux", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data296); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/garply/foo/quux", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data297); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/garply/foo/corge", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data298); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/garply/foo/grault", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data299); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/garply/bar/foo", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data300); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/garply/bar/baz", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data301); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/garply/bar/qux", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data302); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/garply/bar/quux", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data303); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/garply/bar/corge", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data304); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/garply/bar/grault", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data305); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/garply/baz/foo", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data306); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/garply/baz/bar", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data307); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/garply/baz/qux", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data308); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/garply/baz/quux", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data309); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/garply/baz/corge", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data310); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/garply/baz/grault", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data311); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/garply/qux/foo", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data312); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/garply/qux/bar", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data313); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/garply/qux/baz", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data314); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/garply/qux/quux", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data315); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/garply/qux/corge", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data316); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/garply/qux/grault", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data317); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/garply/quux/foo", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data318); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/garply/quux/bar", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data319); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/garply/quux/baz", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data320); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/garply/quux/qux", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data321); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/garply/quux/corge", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data322); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/garply/quux/grault", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data323); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/garply/corge/foo", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data324); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/garply/corge/bar", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data325); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/garply/corge/baz", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data326); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/garply/corge/qux", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data327); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/garply/corge/quux", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data328); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/garply/corge/grault", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data329); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/garply/grault/foo", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data330); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/garply/grault/bar", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data331); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/garply/grault/baz", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data332); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/garply/grault/qux", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data333); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/garply/grault/quux", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data334); ck_assert(m->endpoint > 0); m = r3_tree_match(n, "/garply/grault/corge", NULL); - ck_assert(m); + ck_assert(m != NULL); ck_assert(m->data == data335); ck_assert(m->endpoint > 0);