diff options
| author | dimitri staessens <dimitri.staessens@intec.ugent.be> | 2017-01-29 16:29:51 +0100 |
|---|---|---|
| committer | dimitri staessens <dimitri.staessens@intec.ugent.be> | 2017-01-29 16:29:51 +0100 |
| commit | d6321a22f8c957523e7acbf6c57f5730b55ac378 (patch) | |
| tree | eaf66f732f52d84a5daf3f6736b489c3a755a620 /src/lib/tests | |
| parent | bbee20a43f23f4f62cb1ab1f2ab0645581cfbaac (diff) | |
| download | ouroboros-d6321a22f8c957523e7acbf6c57f5730b55ac378.zip ouroboros-d6321a22f8c957523e7acbf6c57f5730b55ac378.tar.gz | |
lib: Add function to get children of node in RIB
Returns the names of the nodes (not the full paths). The function
allocates memory to the children pointer that should be freed.
Diffstat (limited to 'src/lib/tests')
| -rw-r--r-- | src/lib/tests/rib_test.c | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/src/lib/tests/rib_test.c b/src/lib/tests/rib_test.c index 3750394..bad0108 100644 --- a/src/lib/tests/rib_test.c +++ b/src/lib/tests/rib_test.c @@ -46,6 +46,9 @@ int rib_test(int argc, char tmp[RIB_MAX_PATH_LEN]; + char ** kids; + ssize_t ch; + struct timespec t = {0, 100 * BILLION}; (void) argc; @@ -73,6 +76,16 @@ int rib_test(int argc, return -1; } + ch = rib_children("/static_info", &kids); + if (ch != 0) { + printf("Wrong number of children returned.\n"); + rib_fini(); + while (ch > 0) + free(kids[--ch]); + free(kids); + return -1; + } + if (!rib_has("/static_info")) { printf("Failed to find added element.\n"); rib_fini(); @@ -118,6 +131,17 @@ int rib_test(int argc, return -1; } + ch = rib_children("/static_info", &kids); + if (ch != 2) { + printf("Wrong number of children returned.\n"); + rib_fini(); + return -1; + } + + while (ch > 0) + free(kids[--ch]); + free(kids); + if (addr_chk != addr_size) { printf("Failed to verify added element contents.\n"); rib_fini(); |
