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); -- 2.53.0
