[dpdk-dev] [PATCH v3] Test/crypto: check valid test_stats before running test

Ananyev, Konstantin konstantin.ananyev at intel.com
Fri May 15 12:00:46 CEST 2020



> Test_stats is an optional cryptodev op and if it is not defined by the
> PMD, it should not run the test cases for it.
> 
> Signed-off-by: Apeksha Gupta <apeksha.gupta at nxp.com>
> ---
>  app/test/test_cryptodev.c | 5 ++++-
>  1 file changed, 4 insertions(+), 1 deletion(-)
> 
> diff --git a/app/test/test_cryptodev.c b/app/test/test_cryptodev.c
> index c624018ee..1ad650675 100644
> --- a/app/test/test_cryptodev.c
> +++ b/app/test/test_cryptodev.c
> @@ -8801,6 +8801,10 @@ test_stats(void)
>  	if (gbl_action_type == RTE_SECURITY_ACTION_TYPE_CPU_CRYPTO)
>  		return -ENOTSUP;
> 
> +	dev = &rte_cryptodevs[ts_params->valid_devs[0]];
> +	if (dev->dev_ops->stats_get == 0)
> +		return -ENOTSUP;
> +
>  

rte_cryptodevs[] and dev_ops supposed to be internal for cryptodev
(though in practice they are not).
It is not a good practice for the app to access them directly.


	/* Verify the capabilities */
>  	struct rte_cryptodev_sym_capability_idx cap_idx;
>  	cap_idx.type = RTE_CRYPTO_SYM_XFORM_AUTH;
> @@ -8820,7 +8824,6 @@ test_stats(void)
>  		"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)
> --
> 2.17.1



More information about the dev mailing list