evp_pkey_provided_test: Improve diagnostic output
authorTomas Mraz <tomas@openssl.org>
Thu, 25 Feb 2021 14:08:16 +0000 (15:08 +0100)
committerTomas Mraz <tomas@openssl.org>
Fri, 26 Feb 2021 17:43:34 +0000 (18:43 +0100)
Reviewed-by: Paul Dale <pauli@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/14316)

test/evp_pkey_provided_test.c

index fd0dcdd38a4549b79efa36359c4597d89b204e38..18b62d4645f93ab7f23d6c81d2e3b39522c42632 100644 (file)
@@ -361,15 +361,16 @@ static int test_fromdata_rsa(void)
         || !TEST_false(EVP_PKEY_copy_parameters(copy_pk, pk)))
         goto err;
 
+    ret = test_print_key_using_pem("RSA", pk)
+          && test_print_key_using_encoder("RSA", pk);
+ err:
+    /* for better diagnostics always compare key params */
     for (i = 0; fromdata_params[i].key != NULL; ++i) {
         if (!TEST_true(BN_set_word(bn_from, key_numbers[i]))
             || !TEST_true(EVP_PKEY_get_bn_param(pk, fromdata_params[i].key, &bn))
             || !TEST_BN_eq(bn, bn_from))
-            goto err;
+            ret = 0;
     }
-    ret = test_print_key_using_pem("RSA", pk)
-          && test_print_key_using_encoder("RSA", pk);
- err:
     BN_free(bn_from);
     BN_free(bn);
     EVP_PKEY_free(pk);