On 8/31/26 07:02, Jamin Lin wrote:
Skip a cipher unsupported by the crypto backend with g_test_skip() from
the test, instead of not registering it and printing a TAP "# skip" line,
so the qtest does not assume TAP output.

Signed-off-by: Jamin Lin <[email protected]>
---
  tests/qtest/aspeed-hace-utils.c | 24 ++++++++++++++++--------
  1 file changed, 16 insertions(+), 8 deletions(-)

diff --git a/tests/qtest/aspeed-hace-utils.c b/tests/qtest/aspeed-hace-utils.c
index 260eec043c..d20562fac9 100644
--- a/tests/qtest/aspeed-hace-utils.c
+++ b/tests/qtest/aspeed-hace-utils.c
@@ -1248,11 +1248,18 @@ static void aspeed_test_crypto(const void *data)
  {
      const AspeedCryptoTest *c = data;
      const CryptTest *t = &crypt_tests[c->index];
-    QTestState *s = qtest_init(c->machine);
+    QTestState *s;
      uint8_t out[64];
      uint8_t iv[16];
      size_t iv_off;
+ if (!qcrypto_cipher_supports(t->alg, t->mode)) {
+        g_test_skip("cipher not supported by the crypto backend");
+        return;
+    }
+
+    s = qtest_init(c->machine);
+
      g_assert_cmpuint(t->len, <=, sizeof(out));
/* Encrypt: ptext -> ctext */
@@ -1284,10 +1291,17 @@ static void aspeed_test_crypto_gcm(const void *data)
  {
      const AspeedCryptoTest *c = data;
      const CryptTest *t = &crypt_tests[c->index];
-    QTestState *s = qtest_init(c->machine);
+    QTestState *s;
      uint8_t out[64];
      uint8_t tag[16];
+ if (!qcrypto_cipher_supports(t->alg, t->mode)) {
+        g_test_skip("cipher not supported by the crypto backend");
+        return;
+    }
+
+    s = qtest_init(c->machine);
+
      g_assert_cmpuint(t->len, <=, sizeof(out));
/* Encrypt: ptext -> ctext, then check the authentication tag. */
@@ -1318,12 +1332,6 @@ void aspeed_add_crypto_tests(const char *prefix, const 
char *machine,
              continue;
          }
- if (!qcrypto_cipher_supports(crypt_tests[i].alg,
-                                     crypt_tests[i].mode)) {
-            g_printerr("# skip unsupported %s\n", crypt_tests[i].name);
-            continue;
-        }
-
          path = g_strdup_printf("%s/hace/crypto/%s", prefix,
                                 crypt_tests[i].name);
          t = g_new0(AspeedCryptoTest, 1);

Applied to

    https://github.com/legoater/qemu aspeed-next

Thanks,

C.


Reply via email to