test/metrics: fix second run

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.

Fixes: cd38042429 ("test/metrics: add unit tests for metrics library")

Signed-off-by: Harman Kalra <hkalra@marvell.com>
Acked-by: Remy Horton <remy.horton@intel.com>
Tested-by: Reshma Pattan <reshma.pattan@intel.com>
Acked-by: Reshma Pattan <reshma.pattan@intel.com>
This commit is contained in:
Harman Kalra 2019-07-11 09:26:12 +00:00 committed by Thomas Monjalon
parent 44dc7c0a26
commit 9d10f53e40

View File

@ -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()
}
};