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>
This commit is contained in:
parent
187f355121
commit
e2186a3606
@ -161,15 +161,26 @@ static void test_cipher_speed_xts_aes_256(const void *opaque)
|
|||||||
|
|
||||||
int main(int argc, char **argv)
|
int main(int argc, char **argv)
|
||||||
{
|
{
|
||||||
|
char *alg = NULL;
|
||||||
|
char *size = NULL;
|
||||||
g_test_init(&argc, &argv, NULL);
|
g_test_init(&argc, &argv, NULL);
|
||||||
g_assert(qcrypto_init(NULL) == 0);
|
g_assert(qcrypto_init(NULL) == 0);
|
||||||
|
|
||||||
#define ADD_TEST(mode, cipher, keysize, chunk) \
|
#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, \
|
"/crypto/cipher/" #mode "-" #cipher "-" #keysize "/chunk-" #chunk, \
|
||||||
(void *)chunk, \
|
(void *)chunk, \
|
||||||
test_cipher_speed_ ## mode ## _ ## cipher ## _ ## keysize)
|
test_cipher_speed_ ## mode ## _ ## cipher ## _ ## keysize)
|
||||||
|
|
||||||
|
if (argc >= 2) {
|
||||||
|
alg = argv[1];
|
||||||
|
}
|
||||||
|
if (argc >= 3) {
|
||||||
|
size = argv[2];
|
||||||
|
}
|
||||||
|
|
||||||
#define ADD_TESTS(chunk) \
|
#define ADD_TESTS(chunk) \
|
||||||
do { \
|
do { \
|
||||||
ADD_TEST(ecb, aes, 128, chunk); \
|
ADD_TEST(ecb, aes, 128, chunk); \
|
||||||
|
Loading…
Reference in New Issue
Block a user