X-Git-Url: https://git.cryptolib.org/?a=blobdiff_plain;f=host%2Fshavs_test2.rb;h=36c3e8cdeb00d1218f98573fa10c29f9daf9d6e1;hb=2b0000dcd4848a3231831a79e2cd35c049909ec9;hp=ab901927b4f5a4ec2bb4eec7d92f4506d05e8303;hpb=5f46191d2615ebe2caa6e111b478031a34f20b9e;p=arm-crypto-lib.git diff --git a/host/shavs_test2.rb b/host/shavs_test2.rb index ab90192..36c3e8c 100644 --- a/host/shavs_test2.rb +++ b/host/shavs_test2.rb @@ -1,7 +1,7 @@ #!/usr/bin/ruby # shavs_test.rb =begin - This file is part of the AVR-Crypto-Lib. + This file is part of the ARM-Crypto-Lib. Copyright (C) 2008, 2009 Daniel Otte (daniel.otte@rub.de) This program is free software: you can redistribute it and/or modify @@ -24,7 +24,7 @@ require 'rubygems' require 'serialport' require 'getopt/std' -$buffer_size = 0 +$buffer_size = 0 # set automatically in init_system $conffile_check = Hash.new $conffile_check.default = 0 @@ -122,21 +122,38 @@ end ################################################################################ # send_md # ################################################################################ - +=begin def send_md(md_string) $sp.print("Msg = ") for i in 0..md_string.length-1 $sp.print(md_string[i].chr) -# print("DBG s: "+ md_string[i].chr) if $debug -# sleep(0.001) - if((i%($buffer_size*2)==0)&&(i!=0)) - begin - line=$sp.gets() - end while not /\./.match(line) - end + if((i%($buffer_size*2)==0)&&(i!=0)) + begin + line=$sp.gets() + end while not /\./.match(line) + end + end +end +=end +def send_md(md_string) +# puts 'DBG: send_md; md_string.length = '+md_string.length.to_s+'; buffer_size = '+$buffer_size.to_s + bs = $buffer_size + $sp.print("Msg = ") + for i in 0..((md_string.length-1)/bs) +# puts 'DBG bulk send' + if(md_string.length-i*bs<=bs) + # puts "DBG: i="+i.to_s() + $sp.print(md_string[(i*bs)..-1]) + return + end + $sp.print(md_string[(i*bs)..((i+1)*bs-1)]) + # begin + # line=$sp.gets() + # end while not /\./.match(line) end end + ################################################################################ # run_test # ################################################################################ @@ -169,14 +186,16 @@ def run_test(filename, skip=0) $sp.print(lb.strip) $sp.print("\r") begin - lb=file.gets() + lb=file.gets() end while not (file.eof or (m=/[\s]*Msg[\s]*=[\s]*([0-9a-fA-F]*)/.match(lb))) return if file.eof puts("DBG sending: "+lb) if $debug send_md(m[1]) + puts("DBG sending [done] getting...") if $debug avr_md = get_md() + puts("DBG getting [done]") if $debug begin - lb=file.gets() + lb=file.gets() end while not /[\s]*MD[\s]*=.*/.match(lb) a = (/[\s]*MD[\s]*=[\s]*([0-9a-fA-F]*).*/.match(lb))[1]; b = (/[\s]*MD[\s]*=[\s]*([0-9a-fA-F]*).*/.match(avr_md))[1]; @@ -204,6 +223,16 @@ end ################################################################################ # MAIN # ################################################################################ +# +# Options: +# -s {algo_letter} run only specified algos +# -f also read config from +# -i skip until test nr. +# -j start with testfile +# -h ??? +# -d enable debug mode +# -c ??? +# -a ??? opts = Getopt::Std.getopts("s:f:i:j:hdca") @@ -282,7 +311,7 @@ algo_tasks.each do |algoa| puts("\n[errors: "+ nerrors.to_s() +"]") logfile.puts("[error] "+nerrors.to_s+" "+conf[algo]["file_#{i}"]+ " ("+Time.now.to_s()+")") end - i += 1 + i = i+1 end logfile.close() end