Add support for testing rte_kni_free() function.

Signed-off-by: Dan Gora <d...@adax.com>
---
 test/test/test_kni.c | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/test/test/test_kni.c b/test/test/test_kni.c
index 56773c8a2..ec051c07e 100644
--- a/test/test/test_kni.c
+++ b/test/test/test_kni.c
@@ -427,6 +427,12 @@ test_kni_processing(uint16_t port_id, struct rte_mempool 
*mp)
                goto fail_kni;
        }
 
+       /* test of freeing an unreleased kni device */
+       if (rte_kni_free(kni) == 0) {
+               printf("should not be able to free an unreleased kni device\n");
+               return -1;
+       }
+
        if (rte_kni_release(kni) < 0) {
                printf("fail to release kni\n");
                return -1;
@@ -439,6 +445,12 @@ test_kni_processing(uint16_t port_id, struct rte_mempool 
*mp)
                return -1;
        }
 
+       /* test of freeing a released kni device */
+       if (rte_kni_free(kni) != 0) {
+               printf("failed to free a released kni device\n");
+               return -1;
+       }
+
        /* test of reusing memzone */
        kni = rte_kni_alloc(mp, &conf, &ops);
        if (!kni) {
@@ -598,6 +610,14 @@ test_kni(void)
                goto fail;
        }
 
+       /* test of freeing NULL kni context */
+       ret = rte_kni_free(NULL);
+       if (ret == 0) {
+               ret = -1;
+               printf("unexpectedly freed kni successfully\n");
+               goto fail;
+       }
+
        /* test of handling request on NULL device pointer */
        ret = rte_kni_handle_request(NULL);
        if (ret == 0) {
-- 
2.18.0.rc1.1.g6f333ff2f

Reply via email to