X-Git-Url: https://git.cryptolib.org/?p=avr-crypto-lib.git;a=blobdiff_plain;f=test_src%2Fmain-des-test.c;h=27546716c68f35f7a599e08e9057fb8116267367;hp=63d5f00c892fc8ec34d1862d710b6f70c63a28cc;hb=4b5da1dc27a791b5c448274a3db09cd035b33493;hpb=548902530e99ffda615113aee335956ea92aab7c diff --git a/test_src/main-des-test.c b/test_src/main-des-test.c index 63d5f00..2754671 100644 --- a/test_src/main-des-test.c +++ b/test_src/main-des-test.c @@ -1,7 +1,7 @@ /* main-des-test.c */ /* This file is part of the AVR-Crypto-Lib. - Copyright (C) 2008 Daniel Otte (daniel.otte@rub.de) + Copyright (C) 2006-2015 Daniel Otte (bg@nerilex.org) This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -21,14 +21,9 @@ * */ -#include "config.h" - -#include "uart_i.h" -#include "debug.h" +#include "main-test-common.h" #include "des.h" -#include "nessie_bc_test.h" -#include "cli.h" #include "performance_test.h" #include "bcal-performance.h" #include "bcal-nessie.h" @@ -36,13 +31,9 @@ #include "bcal_tdes.h" #include "bcal_tdes2.h" -#include -#include -#include - -char* algo_name = "DES"; +char *algo_name = "DES"; -const bcdesc_t* algolist[] PROGMEM = { +const bcdesc_t *const algolist[] PROGMEM = { (bcdesc_t*)&des_desc, (bcdesc_t*)&tdes2_desc, (bcdesc_t*)&tdes_desc, @@ -52,8 +43,31 @@ const bcdesc_t* algolist[] PROGMEM = { * additional validation-functions * *****************************************************************************/ -void testrun_nessie_des(void){ - bcal_nessie_multiple(algolist); +void testrun_nessie_des(const char *param){ + if(!param){ + bcal_nessie_multiple(algolist); + }else{ + uint8_t i=0; + bcdesc_t *ptr; + for(;;){ + ptr = (bcdesc_t*)pgm_read_word(&algolist[i++]); + if(ptr == NULL){ + cli_putstr_P(PSTR("\r\nunknown algorithm: ")); + cli_putstr(param); + cli_putstr_P(PSTR("\r\navailable algorithms are:")); + i = 0; + while((ptr = (bcdesc_t*)pgm_read_word(&algolist[i++]))){ + cli_putstr_P(PSTR("\r\n\t")); + cli_putstr_P((const char*)pgm_read_word(&ptr->name)); + } + return; + } + if(!strcmp_P(param, (const char*)pgm_read_word(&ptr->name))){ + bcal_nessie(ptr); + return; + } + } + } } void testrun_performance_des(void){ @@ -68,23 +82,21 @@ const char test_str[] PROGMEM = "test"; const char performance_str[] PROGMEM = "performance"; const char echo_str[] PROGMEM = "echo"; -cmdlist_entry_t cmdlist[] PROGMEM = { - { nessie_str, NULL, testrun_nessie_des }, - { test_str, NULL, testrun_nessie_des }, +const cmdlist_entry_t cmdlist[] PROGMEM = { + { nessie_str, (void*)1, (void_fpt)testrun_nessie_des }, + { test_str, (void*)1, (void_fpt)testrun_nessie_des }, { performance_str, NULL, testrun_performance_des}, { echo_str, (void*)1, (void_fpt)echo_ctrl}, { NULL, NULL, NULL} }; -int main (void){ - DEBUG_INIT(); - - cli_rx = (cli_rx_fpt)uart0_getc; - cli_tx = (cli_tx_fpt)uart0_putc; +int main(void) { + main_setup(); + for(;;){ - cli_putstr_P(PSTR("\r\n\r\nCrypto-VS (")); - cli_putstr(algo_name); - cli_putstr_P(PSTR(")\r\nloaded and running\r\n")); + welcome_msg(algo_name); cmd_interface(cmdlist); - } + } + } +