Issue is observed while running 'metrics_autotest' continuously without quiting. During first execution all test cases pass but second run onwards first test case fails as library is already initialized.
To resolve, introduced a new API to deinitialise the library after all test cases are executed. Cc: sta...@dpdk.org Signed-off-by: Harman Kalra <hka...@marvell.com> --- v2: * Adding sta...@dpdk.org into cc as patch 1/2 of same patchset falls between bug fix and new feature. app/test/test_metrics.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/app/test/test_metrics.c b/app/test/test_metrics.c index 3c2f36b8a..78b3936ee 100644 --- a/app/test/test_metrics.c +++ b/app/test/test_metrics.c @@ -28,6 +28,19 @@ test_metrics_init(void) return TEST_SUCCESS; } +/* Deinitialize metric module. This function must be called + * from a primary process after metrics usage is over + */ +static int +test_metrics_deinitialize(void) +{ + int err = 0; + err = rte_metrics_deinit(); + TEST_ASSERT(err == 0, "%s, %d", __func__, __LINE__); + + return TEST_SUCCESS; +} + /* Test Case to check failures when memzone init is not done */ static int test_metrics_without_init(void) @@ -300,6 +313,10 @@ static struct unit_test_suite metrics_testsuite = { * arraylist, count size */ TEST_CASE(test_metrics_get_values), + + /* TEST CASE 8: Test to unregister metrics*/ + TEST_CASE(test_metrics_deinitialize), + TEST_CASES_END() } }; -- 2.18.0