TLS context serialization needs an AEAD ciphersuite

Signed-off-by: Gabor Mezei <gabor.mezei@arm.com>
diff --git a/tests/include/test/ssl_helpers.h b/tests/include/test/ssl_helpers.h
index e5b8d74..910329d 100644
--- a/tests/include/test/ssl_helpers.h
+++ b/tests/include/test/ssl_helpers.h
@@ -70,6 +70,13 @@
     defined(MBEDTLS_KEY_EXCHANGE_RSA_ENABLED)
 #define MBEDTLS_CAN_HANDLE_RSA_TEST_KEY
 #endif
+
+#if defined(PSA_WANT_ALG_GCM) ||\
+    defined(PSA_WANT_ALG_CCM) ||\
+    defined(PSA_WANT_ALG_CHACHA20_POLY1305)
+#define MBEDTLS_TEST_HAS_AEAD_ALG
+#endif
+
 enum {
 #define MBEDTLS_SSL_TLS1_3_LABEL(name, string)          \
     tls13_label_ ## name,
diff --git a/tests/suites/test_suite_ssl.function b/tests/suites/test_suite_ssl.function
index 08ecd67..7d8bf90 100644
--- a/tests/suites/test_suite_ssl.function
+++ b/tests/suites/test_suite_ssl.function
@@ -2858,13 +2858,34 @@
 }
 /* END_CASE */
 
-/* BEGIN_CASE depends_on:MBEDTLS_SSL_HANDSHAKE_WITH_CERT_ENABLED:MBEDTLS_PKCS1_V15:MBEDTLS_SSL_VARIABLE_BUFFER_LENGTH:MBEDTLS_SSL_CONTEXT_SERIALIZATION:MBEDTLS_SSL_PROTO_TLS1_2:MBEDTLS_RSA_C:PSA_WANT_ECC_SECP_R1_384:MBEDTLS_SSL_PROTO_DTLS:PSA_WANT_ALG_SHA_256:MBEDTLS_CAN_HANDLE_RSA_TEST_KEY */
+/* BEGIN_CASE depends_on:MBEDTLS_SSL_HANDSHAKE_WITH_CERT_ENABLED:MBEDTLS_SSL_VARIABLE_BUFFER_LENGTH:MBEDTLS_SSL_CONTEXT_SERIALIZATION:MBEDTLS_SSL_PROTO_TLS1_2:PSA_WANT_ECC_SECP_R1_384:MBEDTLS_SSL_PROTO_DTLS:PSA_WANT_ALG_SHA_256:MBEDTLS_TEST_HAS_AEAD_ALG:MBEDTLS_CAN_HANDLE_RSA_TEST_KEY */
 void resize_buffers_serialize_mfl(int mfl)
 {
+    /* Choose an AEAD ciphersuite */
+    const int *ciphersuites = mbedtls_ssl_list_ciphersuites();
+    const mbedtls_ssl_ciphersuite_t *ciphersuite = NULL;
+    int i = 0;
+    while (ciphersuites[i] != 0) {
+        ciphersuite = mbedtls_ssl_ciphersuite_from_id(ciphersuites[i]);
+
+        if (ciphersuite->min_tls_version == MBEDTLS_SSL_VERSION_TLS1_2) {
+            const mbedtls_ssl_mode_t mode =
+#if defined(MBEDTLS_SSL_SOME_SUITES_USE_CBC_ETM)
+                mbedtls_ssl_get_mode_from_ciphersuite(0, ciphersuite);
+#else
+                mbedtls_ssl_get_mode_from_ciphersuite(ciphersuite);
+#endif
+            if (mode == MBEDTLS_SSL_MODE_AEAD)
+                break;
+        }
+
+        i++;
+    }
+
+    TEST_ASSERT(ciphersuite != NULL);
+
     test_resize_buffers(mfl, 0, MBEDTLS_SSL_LEGACY_NO_RENEGOTIATION, 1, 1,
-                        (char *) "");
-    /* The goto below is used to avoid an "unused label" warning.*/
-    goto exit;
+                        (char *) ciphersuite->name);
 }
 /* END_CASE */