- Return -ENOTSUP for unsupported tests - add NULL check for rte_cryptodev_asym_capability_get() - Typo correction
Signed-off-by: Ayuj Verma <ayve...@marvell.com> Signed-off-by: Shally Verma <shal...@marvell.com> --- app/test/test_cryptodev_asym.c | 45 ++++++++++++++++++++++++++++++------------ 1 file changed, 32 insertions(+), 13 deletions(-) diff --git a/app/test/test_cryptodev_asym.c b/app/test/test_cryptodev_asym.c index d2efce9..fc92d3d 100644 --- a/app/test/test_cryptodev_asym.c +++ b/app/test/test_cryptodev_asym.c @@ -119,6 +119,18 @@ struct test_cases_array { int status = TEST_SUCCESS; + xform_tc.next = NULL; + xform_tc.xform_type = data_tc->modex.xform_type; + + cap_idx.type = xform_tc.xform_type; + capability = rte_cryptodev_asym_capability_get(dev_id, &cap_idx); + + if (capability == NULL) { + RTE_LOG(INFO, USER1, + "Device doesn't support MODEX. Test Skipped\n"); + return -ENOTSUP; + } + /* Generate crypto op data structure */ op = rte_crypto_op_alloc(ts_params->op_mpool, RTE_CRYPTO_OP_TYPE_ASYMMETRIC); @@ -133,11 +145,6 @@ struct test_cases_array { } asym_op = op->asym; - xform_tc.next = NULL; - xform_tc.xform_type = data_tc->modex.xform_type; - - cap_idx.type = xform_tc.xform_type; - capability = rte_cryptodev_asym_capability_get(dev_id, &cap_idx); switch (xform_tc.xform_type) { case RTE_CRYPTO_ASYM_XFORM_MODEX: @@ -352,7 +359,7 @@ struct test_cases_array { RTE_LOG(INFO, USER1, "Device doesn't support sign op with " "exponent key type. Test Skipped\n"); - return TEST_SKIPPED; + return -ENOTSUP; } sess = rte_cryptodev_asym_session_create(sess_mpool); @@ -498,7 +505,7 @@ struct test_cases_array { RTE_LOG(INFO, USER1, "Device doesn't support sign op with " "exponent key type. Test Skipped\n"); - return TEST_SKIPPED; + return -ENOTSUP; } sess = rte_cryptodev_asym_session_create(sess_mpool); @@ -1260,7 +1267,7 @@ static inline void print_asym_capa( if (rte_cryptodev_asym_get_xform_enum( &modinv_xform.xform_type, "modinv") < 0) { RTE_LOG(ERR, USER1, - "Invalid ASYNC algorithm specified\n"); + "Invalid ASYM algorithm specified\n"); return -1; } @@ -1268,12 +1275,18 @@ static inline void print_asym_capa( capability = rte_cryptodev_asym_capability_get(dev_id, &cap_idx); + if (capability == NULL) { + RTE_LOG(INFO, USER1, + "Device doesn't support MOD INV. Test Skipped\n"); + return -ENOTSUP; + } + if (rte_cryptodev_asym_xform_capability_check_modlen( capability, modinv_xform.modinv.modulus.length)) { RTE_LOG(ERR, USER1, - "Invalid MODULOUS length specified\n"); - return -1; + "Invalid MODULUS length specified\n"); + return -ENOTSUP; } sess = rte_cryptodev_asym_session_create(sess_mpool); @@ -1379,7 +1392,7 @@ static inline void print_asym_capa( "modexp") < 0) { RTE_LOG(ERR, USER1, - "Invalid ASYNC algorithm specified\n"); + "Invalid ASYM algorithm specified\n"); return -1; } @@ -1387,11 +1400,17 @@ static inline void print_asym_capa( cap_idx.type = modex_xform.xform_type; capability = rte_cryptodev_asym_capability_get(dev_id, &cap_idx); + if (capability == NULL) { + RTE_LOG(INFO, USER1, + "Device doesn't support MOD EXP. Test Skipped\n"); + return -ENOTSUP; + } + if (rte_cryptodev_asym_xform_capability_check_modlen( capability, modex_xform.modex.modulus.length)) { RTE_LOG(ERR, USER1, - "Invalid MODULOUS length specified\n"); - return -1; + "Invalid MODULUS length specified\n"); + return -ENOTSUP; } /* generate crypto op data structure */ -- 1.8.3.1