aboutsummaryrefslogtreecommitdiff
path: root/tests/benchmark-crypto-cipher.c
diff options
context:
space:
mode:
authorDaniel P. Berrangé <berrange@redhat.com>2019-10-15 11:19:29 +0100
committerDaniel P. Berrangé <berrange@redhat.com>2019-10-28 13:30:50 +0100
commite2186a3606bf80a7c1537690626aecd835a7c272 (patch)
tree3b0e512c3c920bdbdd73b4c3076cafc90a5bf837 /tests/benchmark-crypto-cipher.c
parent187f35512106501fe9a11057f4d8705431e0026d (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.c13
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); \