From 1b6cbd3934284b71dbafa4d113fd6017e5570217 Mon Sep 17 00:00:00 2001
From: Aleksandr Lysikov <45232000+sunny-gh@users.noreply.github.com>
Date: Tue, 11 Dec 2018 12:43:29 +0500
Subject: [PATCH] Feature 1715 (#32)

[+] bechmark test example
---
 test/crypto/dap_enc_iaes_test.c | 58 ++++++++++++++++-----------------
 test/libdap-test                |  2 +-
 2 files changed, 30 insertions(+), 30 deletions(-)

diff --git a/test/crypto/dap_enc_iaes_test.c b/test/crypto/dap_enc_iaes_test.c
index 342c3f2..b823ae6 100644
--- a/test/crypto/dap_enc_iaes_test.c
+++ b/test/crypto/dap_enc_iaes_test.c
@@ -1,45 +1,43 @@
 #include "dap_enc_iaes_test.h"
 
-void test_encode_decode(int count_steps)
+void test_encode_decode()
 {
-    size_t source_size = 0;
+    static size_t source_size = 0;
 
-    for(int i = 1; i <= count_steps; i++) {
-        int step = 1 + (rand() % 20);
-        source_size += (size_t)step;
+    int step = 1 + (rand() % 20);
+    source_size += (size_t)step;
 
-        const char *kex_data = "123";
-        size_t kex_size = strlen(kex_data);
-        const size_t seed_size = 1 + (rand() % 1000);
-        uint8_t seed[seed_size];
+    const char *kex_data = "123";
+    size_t kex_size = strlen(kex_data);
+    const size_t seed_size = 1 + (rand() % 1000);
+    uint8_t seed[seed_size];
 
-        generate_random_byte_array(seed, seed_size);
+    generate_random_byte_array(seed, seed_size);
 
-        dap_enc_key_t* key = dap_enc_key_new_generate(DAP_ENC_KEY_TYPE_IAES, kex_data, kex_size, seed, seed_size, 0);
+    dap_enc_key_t* key = dap_enc_key_new_generate(DAP_ENC_KEY_TYPE_IAES, kex_data, kex_size, seed, seed_size, 0);
 
-        uint8_t source[source_size];
-        generate_random_byte_array(source, source_size);
+    uint8_t source[source_size];
+    generate_random_byte_array(source, source_size);
 
-        uint8_t * buf_encrypted = NULL;
-        uint8_t * buf_decrypted = NULL;
+    uint8_t * buf_encrypted = NULL;
+    uint8_t * buf_decrypted = NULL;
 
-        size_t encrypted_size = key->enc(key, source,
-                                         source_size, (void**)&buf_encrypted);
+    size_t encrypted_size = key->enc(key, source,
+                                     source_size, (void**)&buf_encrypted);
 
-        size_t result_size = key->dec(key, buf_encrypted,
-                                      encrypted_size, (void**)&buf_decrypted);
+    size_t result_size = key->dec(key, buf_encrypted,
+                                  encrypted_size, (void**)&buf_decrypted);
 
-        dap_assert_PIF(source_size == result_size, "Check result decode size");
+    dap_assert_PIF(source_size == result_size, "Check result decode size");
 
-        dap_assert_PIF(memcmp(source, buf_decrypted, source_size) == 0,
-                       "Check source and encode->decode data");
+    dap_assert_PIF(memcmp(source, buf_decrypted, source_size) == 0,
+                   "Check source and encode->decode data");
 
-        free(buf_encrypted);
-        free(buf_decrypted);
-        dap_enc_key_delete(key);
-    }
+    free(buf_encrypted);
+    free(buf_decrypted);
+    dap_enc_key_delete(key);
 
-    dap_pass_msg("Encode and decode");
+    source_size++;
 }
 
 void test_encode_decode_fast(size_t count_steps)
@@ -81,7 +79,7 @@ void test_encode_decode_fast(size_t count_steps)
 
     dap_enc_key_delete(key);
 
-    dap_pass_msg("Encode and decode fast");
+    dap_pass_msg("Encode and decode fast")
 }
 
 void init_test_case()
@@ -100,7 +98,9 @@ void dap_enc_aes_tests_run()
     dap_print_module_name("dap_enc_aes");
     init_test_case();
 
-    test_encode_decode(50);
+    benchmark_mgs_time("Encode and decode 100 times", benchmark_test_time(test_encode_decode, 100));
+    benchmark_mgs_rate("Encode and decode", benchmark_test_rate(test_encode_decode, 1));
+
     test_encode_decode_fast(100);
 
     cleanup_test_case();
diff --git a/test/libdap-test b/test/libdap-test
index b8031bc..d40ba89 160000
--- a/test/libdap-test
+++ b/test/libdap-test
@@ -1 +1 @@
-Subproject commit b8031bc006d059c0604074ab39a33746cd403f0f
+Subproject commit d40ba8973440b7c712d5a64df03a312adcf7c2fd
-- 
GitLab