diff options
author | Daniel P. Berrangé <berrange@redhat.com> | 2019-10-15 11:19:29 +0100 |
---|---|---|
committer | Daniel P. Berrangé <berrange@redhat.com> | 2019-10-28 13:30:50 +0100 |
commit | e2186a3606bf80a7c1537690626aecd835a7c272 (patch) | |
tree | 3b0e512c3c920bdbdd73b4c3076cafc90a5bf837 /tests/benchmark-crypto-cipher.c | |
parent | 187f35512106501fe9a11057f4d8705431e0026d (diff) |
tests: allow filtering crypto cipher benchmark tests
Add support for specifying a cipher mode and chunk size as argv to
filter which combinations are benchmarked. For example to only
benchmark XTS mode with 512 byte chunks:
./tests/benchmark-crypto-cipher xts 512
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: Stefano Garzarella <sgarzare@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
Diffstat (limited to 'tests/benchmark-crypto-cipher.c')
-rw-r--r-- | tests/benchmark-crypto-cipher.c | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/tests/benchmark-crypto-cipher.c b/tests/benchmark-crypto-cipher.c index 67fdf8c31d..3ca31a2779 100644 --- a/tests/benchmark-crypto-cipher.c +++ b/tests/benchmark-crypto-cipher.c @@ -161,15 +161,26 @@ static void test_cipher_speed_xts_aes_256(const void *opaque) int main(int argc, char **argv) { + char *alg = NULL; + char *size = NULL; g_test_init(&argc, &argv, NULL); g_assert(qcrypto_init(NULL) == 0); #define ADD_TEST(mode, cipher, keysize, chunk) \ - g_test_add_data_func( \ + if ((!alg || g_str_equal(alg, #mode)) && \ + (!size || g_str_equal(size, #chunk))) \ + g_test_add_data_func( \ "/crypto/cipher/" #mode "-" #cipher "-" #keysize "/chunk-" #chunk, \ (void *)chunk, \ test_cipher_speed_ ## mode ## _ ## cipher ## _ ## keysize) + if (argc >= 2) { + alg = argv[1]; + } + if (argc >= 3) { + size = argv[2]; + } + #define ADD_TESTS(chunk) \ do { \ ADD_TEST(ecb, aes, 128, chunk); \ |