diff --git a/tests/suites/test_suite_pk.function b/tests/suites/test_suite_pk.function
index 0bf9ef3..bd92f0c 100644
--- a/tests/suites/test_suite_pk.function
+++ b/tests/suites/test_suite_pk.function
@@ -746,21 +746,20 @@
 void pk_opaque_mock( )
 {
     mbedtls_pk_info_t info =
-    {
-        MBEDTLS_PK_OPAQUE,
-        "mock",
-        opaque_mock_get_bitlen,
-        opaque_mock_can_do,
-        opaque_mock_signature_size_func,
-        opaque_mock_verify_func,
-        opaque_mock_sign_func,
-        opaque_mock_decrypt_func,
-        opaque_mock_encrypt_func,
-        opaque_mock_check_pair_func,
-        opaque_mock_ctx_alloc_func,
-        opaque_mock_ctx_free_func,
-        opaque_mock_debug_func,
-    };
+        MBEDTLS_PK_OPAQUE_INFO_1(
+            "mock"
+            , opaque_mock_get_bitlen
+            , opaque_mock_can_do
+            , opaque_mock_signature_size_func
+            , opaque_mock_verify_func
+            , opaque_mock_sign_func
+            , opaque_mock_decrypt_func
+            , opaque_mock_encrypt_func
+            , opaque_mock_check_pair_func
+            , opaque_mock_ctx_alloc_func
+            , opaque_mock_ctx_free_func
+            , opaque_mock_debug_func
+            );
     mbedtls_pk_context ctx;
     unsigned char sig[OPAQUE_MOCK_SIGNATURE_SIZE] = OPAQUE_MOCK_GOOD_SIGNATURE;
     unsigned char input[sizeof( opaque_mock_reference_input )];
@@ -857,21 +856,20 @@
 void pk_opaque_minimal( )
 {
     mbedtls_pk_info_t info =
-    {
-        MBEDTLS_PK_OPAQUE,
-        "mock",
-        opaque_mock_get_bitlen,
-        opaque_mock_can_do,
-        NULL,
-        NULL,
-        NULL,
-        NULL,
-        NULL,
-        NULL,
-        NULL,
-        opaque_mock_ctx_free_func,
-        NULL,
-    };
+        MBEDTLS_PK_OPAQUE_INFO_1(
+            "mock"
+            , opaque_mock_get_bitlen
+            , opaque_mock_can_do
+            , NULL
+            , NULL
+            , NULL
+            , NULL
+            , NULL
+            , NULL
+            , NULL
+            , opaque_mock_ctx_free_func
+            , NULL
+            );
     mbedtls_pk_context ctx;
 
     mbedtls_pk_init( &ctx );
@@ -928,21 +926,20 @@
 void pk_opaque_fail_allocation( )
 {
     mbedtls_pk_info_t info =
-    {
-        MBEDTLS_PK_OPAQUE,
-        "mock",
-        NULL,
-        NULL,
-        NULL,
-        NULL,
-        NULL,
-        NULL,
-        NULL,
-        NULL,
-        opaque_mock_ctx_alloc_fail,
-        NULL,
-        NULL,
-    };
+        MBEDTLS_PK_OPAQUE_INFO_1(
+            "mock"
+            , opaque_mock_get_bitlen
+            , opaque_mock_can_do
+            , NULL
+            , NULL
+            , NULL
+            , NULL
+            , NULL
+            , NULL
+            , opaque_mock_ctx_alloc_fail
+            , NULL
+            , NULL
+            );
     mbedtls_pk_context ctx;
     mbedtls_pk_init( &ctx );
     TEST_ASSERT( mbedtls_pk_setup( &ctx, &info ) ==
@@ -964,21 +961,20 @@
     const mbedtls_pk_info_t *mbedtls_rsa_info =
         mbedtls_pk_info_from_type( MBEDTLS_PK_RSA );
     mbedtls_pk_info_t pk_rsa_opaque_info =
-    {
-        MBEDTLS_PK_OPAQUE,
-        "RSA-opaque-wrapper",
-        mbedtls_rsa_info->get_bitlen,
-        mbedtls_rsa_info->can_do,
-        mbedtls_rsa_info->signature_size_func,
-        mbedtls_rsa_info->verify_func,
-        mbedtls_rsa_info->sign_func,
-        mbedtls_rsa_info->decrypt_func,
-        mbedtls_rsa_info->encrypt_func,
-        NULL, // we don't test check_pair here
-        mbedtls_rsa_info->ctx_alloc_func,
-        mbedtls_rsa_info->ctx_free_func,
-        mbedtls_rsa_info->debug_func,
-    };
+        MBEDTLS_PK_OPAQUE_INFO_1(
+            "RSA-opaque-wrapper"
+            , mbedtls_rsa_info->get_bitlen
+            , mbedtls_rsa_info->can_do
+            , mbedtls_rsa_info->signature_size_func
+            , mbedtls_rsa_info->verify_func
+            , mbedtls_rsa_info->sign_func
+            , mbedtls_rsa_info->decrypt_func
+            , mbedtls_rsa_info->encrypt_func
+            , NULL // we don't test check_pair here
+            , mbedtls_rsa_info->ctx_alloc_func
+            , mbedtls_rsa_info->ctx_free_func
+            , mbedtls_rsa_info->debug_func
+            );
 
     /* Generate an RSA key to use in both contexts */
     pk_rsa_prepare( &raw );
