diff mbox series

[07/10] kni: update kni test for rte_kni_free

Message ID 20180628225350.21227-1-dg@adax.com (mailing list archive)
State Superseded, archived
Headers show
Series kni: Interface detach and link status fixes. | expand

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation fail Compilation issues

Commit Message

Dan Gora June 28, 2018, 10:53 p.m. UTC
Add support for testing rte_kni_free() function.

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

Patch

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) {