Let's make it possible to test oidmap_get_next() by adding a 'get_all'
subcommand that calls oidmap_get() once first and then oidmap_get_next()
several times until there is no more entry with the same oid key.

Signed-off-by: Christian Couder <[email protected]>
---
 t/helper/test-oidmap.c | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

diff --git a/t/helper/test-oidmap.c b/t/helper/test-oidmap.c
index c19b41aa4f..5c4897ce59 100644
--- a/t/helper/test-oidmap.c
+++ b/t/helper/test-oidmap.c
@@ -95,6 +95,23 @@ int cmd__oidmap(int argc, const char **argv)
                        /* print result */
                        puts(entry ? entry->name : "NULL");
 
+               } else if (!strcmp("get_all", cmd) && p1) {
+
+                       if (get_oid(p1, &oid)) {
+                               printf("Unknown oid: %s\n", p1);
+                               continue;
+                       }
+
+                       /* lookup entry in oidmap */
+                       entry = oidmap_get(&map, &oid);
+
+                       /* print result */
+                       puts(entry ? entry->name : "NULL");
+
+                       if (entry)
+                               while ((entry = oidmap_get_next(&map, entry)))
+                                       puts(entry ? entry->name : "NULL");
+
                } else if (!strcmp("remove", cmd) && p1) {
 
                        if (get_oid(p1, &oid)) {
-- 
2.22.0.514.g3228928bce.dirty

Reply via email to