summaryrefslogtreecommitdiff
path: root/src/lib/tests
diff options
context:
space:
mode:
authordimitri staessens <[email protected]>2017-01-29 16:29:51 +0100
committerdimitri staessens <[email protected]>2017-01-29 16:29:51 +0100
commitd6321a22f8c957523e7acbf6c57f5730b55ac378 (patch)
treeeaf66f732f52d84a5daf3f6736b489c3a755a620 /src/lib/tests
parentbbee20a43f23f4f62cb1ab1f2ab0645581cfbaac (diff)
downloadouroboros-d6321a22f8c957523e7acbf6c57f5730b55ac378.tar.gz
ouroboros-d6321a22f8c957523e7acbf6c57f5730b55ac378.zip
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.c24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/lib/tests/rib_test.c b/src/lib/tests/rib_test.c
index 37503941..bad01083 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();