X-Git-Url: https://git.cryptolib.org/?a=blobdiff_plain;f=host%2Fget_test.rb;h=9d60a4a82551fbee4f0f4549bb37ba64329786ea;hb=38e12ca0d3a9df2ca6809ab88fb2ea32e5aed8f8;hp=0c3eb1bea1ae0e8a2c5a466fcffd27fb860e8de5;hpb=83d0614d8b17eac97f891f7de2bb3ef265751dea;p=avr-crypto-lib.git diff --git a/host/get_test.rb b/host/get_test.rb index 0c3eb1b..9d60a4a 100644 --- a/host/get_test.rb +++ b/host/get_test.rb @@ -2,7 +2,7 @@ # get_test.rb =begin This file is part of the AVR-Crypto-Lib. - Copyright (C) 2008 Daniel Otte (daniel.otte@rub.de) + Copyright (C) 2008, 2009 Daniel Otte (daniel.otte@rub.de) 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 @@ -18,15 +18,26 @@ along with this program. If not, see . =end +require 'rubygems' require 'serialport' +$debug = false + def read_line(error_msg=true) - s = $sp.gets() - if s==nil - puts("ERROR: read timeout!\n") if error_msg - return nil - end - s.gsub(/\006/, ''); + begin + i = $extended_wait + begin + s = $sp.gets() + i -= 1 + end while !s && i > 0 + if s==nil + puts("ERROR: read timeout!\n") if error_msg + return nil + end + putc('.') if s.include?(6.chr) + puts(s.inspect) if $debug + end while s == 6.chr + s.gsub(/\006/, '') end def readTestVector(param) @@ -111,13 +122,13 @@ param=(ARGV.size>=7)?ARGV[6]:""; puts("\nPort: "+ARGV[0]+ "@"+ARGV[1]+" "+ARGV[2]+"N"+ARGV[3]+"\n"); $linewidth = 16 $sp = SerialPort.new(ARGV[0], ARGV[1].to_i, ARGV[2].to_i, ARGV[3].to_i, SerialPort::NONE); -$sp.read_timeout=1000; # 1 secound -$extended_wait=100; +$sp.read_timeout=1000; # 1 second +$extended_wait=10; $sp.write(command); if(readTestVector(param)==false) puts("ERROR: test seems not to be implemented"); - exit(3); + exit(0); # 3 end while(readTestVector(param))