In RSA crypto tests, check if it is supported by PMD before
executing it.

Signed-off-by: Gowrishankar Muthukrishnan <gmuthukri...@marvell.com>
---
 app/test/test_cryptodev_asym.c | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/app/test/test_cryptodev_asym.c b/app/test/test_cryptodev_asym.c
index e2f74702ad..364e81ecd9 100644
--- a/app/test/test_cryptodev_asym.c
+++ b/app/test/test_cryptodev_asym.c
@@ -234,11 +234,17 @@ test_rsa_sign_verify(void)
 {
        struct crypto_testsuite_params_asym *ts_params = &testsuite_params;
        struct rte_mempool *sess_mpool = ts_params->session_mpool;
+       struct rte_cryptodev_asym_capability_idx idx;
        uint8_t dev_id = ts_params->valid_devs[0];
        void *sess = NULL;
        struct rte_cryptodev_info dev_info;
        int ret, status = TEST_SUCCESS;
 
+       /* Check RSA capability */
+       idx.type = RTE_CRYPTO_ASYM_XFORM_RSA;
+       if (rte_cryptodev_asym_capability_get(dev_id, &idx) == NULL)
+               return -ENOTSUP;
+
        /* Test case supports op with exponent key only,
         * Check in PMD feature flag for RSA exponent key type support.
         */
@@ -274,11 +280,17 @@ test_rsa_enc_dec(void)
 {
        struct crypto_testsuite_params_asym *ts_params = &testsuite_params;
        struct rte_mempool *sess_mpool = ts_params->session_mpool;
+       struct rte_cryptodev_asym_capability_idx idx;
        uint8_t dev_id = ts_params->valid_devs[0];
        void *sess = NULL;
        struct rte_cryptodev_info dev_info;
        int ret, status = TEST_SUCCESS;
 
+       /* Check RSA capability */
+       idx.type = RTE_CRYPTO_ASYM_XFORM_RSA;
+       if (rte_cryptodev_asym_capability_get(dev_id, &idx) == NULL)
+               return -ENOTSUP;
+
        /* Test case supports op with exponent key only,
         * Check in PMD feature flag for RSA exponent key type support.
         */
@@ -314,11 +326,17 @@ test_rsa_sign_verify_crt(void)
 {
        struct crypto_testsuite_params_asym *ts_params = &testsuite_params;
        struct rte_mempool *sess_mpool = ts_params->session_mpool;
+       struct rte_cryptodev_asym_capability_idx idx;
        uint8_t dev_id = ts_params->valid_devs[0];
        void *sess = NULL;
        struct rte_cryptodev_info dev_info;
        int ret, status = TEST_SUCCESS;
 
+       /* Check RSA capability */
+       idx.type = RTE_CRYPTO_ASYM_XFORM_RSA;
+       if (rte_cryptodev_asym_capability_get(dev_id, &idx) == NULL)
+               return -ENOTSUP;
+
        /* Test case supports op with quintuple format key only,
         * Check im PMD feature flag for RSA quintuple key type support.
         */
@@ -354,11 +372,17 @@ test_rsa_enc_dec_crt(void)
 {
        struct crypto_testsuite_params_asym *ts_params = &testsuite_params;
        struct rte_mempool *sess_mpool = ts_params->session_mpool;
+       struct rte_cryptodev_asym_capability_idx idx;
        uint8_t dev_id = ts_params->valid_devs[0];
        void *sess = NULL;
        struct rte_cryptodev_info dev_info;
        int ret, status = TEST_SUCCESS;
 
+       /* Check RSA capability */
+       idx.type = RTE_CRYPTO_ASYM_XFORM_RSA;
+       if (rte_cryptodev_asym_capability_get(dev_id, &idx) == NULL)
+               return -ENOTSUP;
+
        /* Test case supports op with quintuple format key only,
         * Check in PMD feature flag for RSA quintuple key type support.
         */
-- 
2.25.1

Reply via email to