test/crypto: fix statistics case
authorApeksha Gupta <apeksha.gupta@nxp.com>
Fri, 15 May 2020 17:24:22 +0000 (22:54 +0530)
committerAkhil Goyal <akhil.goyal@nxp.com>
Sun, 17 May 2020 14:10:29 +0000 (16:10 +0200)
The test case - test_stats is directly accessing the
cryptodev and its dev_ops which are internal to library
and should not be used directly by the application.
However, the test case is also missing to check for the
error ENOTSUP. It should skip the case if the API returns
ENOTSUP. This patch fixes these two issues.

Fixes: 202d375c60bc ("app/test: add cryptodev unit and performance tests")
Cc: stable@dpdk.org
Signed-off-by: Apeksha Gupta <apeksha.gupta@nxp.com>
Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
app/test/test_cryptodev.c

index 1ed2df8..8f63146 100644 (file)
@@ -8750,8 +8750,6 @@ test_stats(void)
 {
        struct crypto_testsuite_params *ts_params = &testsuite_params;
        struct rte_cryptodev_stats stats;
-       struct rte_cryptodev *dev;
-       cryptodev_stats_get_t temp_pfn;
 
        if (gbl_action_type == RTE_SECURITY_ACTION_TYPE_CPU_CRYPTO)
                return -ENOTSUP;
@@ -8769,19 +8767,16 @@ test_stats(void)
                        &cap_idx) == NULL)
                return -ENOTSUP;
 
+       if (rte_cryptodev_stats_get(ts_params->valid_devs[0], &stats)
+                       == -ENOTSUP)
+               return -ENOTSUP;
+
        rte_cryptodev_stats_reset(ts_params->valid_devs[0]);
        TEST_ASSERT((rte_cryptodev_stats_get(ts_params->valid_devs[0] + 600,
                        &stats) == -ENODEV),
                "rte_cryptodev_stats_get invalid dev failed");
        TEST_ASSERT((rte_cryptodev_stats_get(ts_params->valid_devs[0], 0) != 0),
                "rte_cryptodev_stats_get invalid Param failed");
-       dev = &rte_cryptodevs[ts_params->valid_devs[0]];
-       temp_pfn = dev->dev_ops->stats_get;
-       dev->dev_ops->stats_get = (cryptodev_stats_get_t)0;
-       TEST_ASSERT((rte_cryptodev_stats_get(ts_params->valid_devs[0], &stats)
-                       == -ENOTSUP),
-               "rte_cryptodev_stats_get invalid Param failed");
-       dev->dev_ops->stats_get = temp_pfn;
 
        /* Test expected values */
        ut_setup();