void do_tests(const bool vkt, const bool ecb, const bool cbc, AESREF alg) { char path[128], *sp; con_string("\nRun tests for the "); con_string(alg.name()); con_string(" algorithm"); sp = copy_str(path, ref_path); sp = copy_str(sp, alg.name()); if(vkt) { copy_str(sp, aes_name[0]); ref_test(path, 1, ecb_vk, alg); copy_str(sp, aes_name[1]); ref_test(path, 1, ecb_vt, alg); } if(ecb) { copy_str(sp, aes_name[2]); ref_test(path, 10000, ecb_me, alg); copy_str(sp, aes_name[3]); ref_test(path, 10000, ecb_md, alg); } if(cbc) { copy_str(sp, aes_name[4]); ref_test(path, 10000, cbc_me, alg); copy_str(sp, aes_name[5]); ref_test(path, 10000, cbc_md, alg); } }
static void test(Test & test, const char * s) { ::test(basic_benchmark<ref_test>(test.pattern, ref_test(test)), 600000u, s); }