CVS: crypto/Util test.py,1.15,1.16
"A.M. Kuchling" <[email protected]> Fri, 13 Aug 2004 15:24:21 -0700
| Newsgroups | gmane.comp.python.cryptography.cvs |
|---|---|
| Message-ID | <[email protected]> |
Update of /cvsroot/pycrypto/crypto/Util
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv27740
Modified Files:
test.py
Log Message:
Avoid ZeroDivisionError if resolution of time.time() is too small (e.g. on Windows)
Index: test.py
===================================================================
RCS file: /cvsroot/pycrypto/crypto/Util/test.py,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -r1.15 -r1.16
--- test.py 28 Feb 2003 15:26:01 -0000 1.15
+++ test.py 13 Aug 2004 22:24:18 -0000 1.16
@@ -23,6 +23,13 @@
print '***ERROR: ', string
# sys.exit(0) # Will default to continuing onward...
+def print_timing (size, delta, verbose):
+ if verbose:
+ if delta == 0:
+ print 'Unable to measure time -- elapsed time too small'
+ else:
+ print '%.2f K/sec' % (size/delta)
+
def exerciseBlockCipher(cipher, verbose):
import string, time
try:
@@ -59,7 +66,7 @@
end=time.time()
if (str!=s2):
die('Error in resulting plaintext from ECB mode')
- if verbose: print 256/(end-start), 'K/sec'
+ print_timing(256, end-start, verbose)
del obj
if verbose: print ' CFB mode:',
@@ -71,7 +78,7 @@
end=time.time()
if (plaintext!=str[0:65536]):
die('Error in resulting plaintext from CFB mode')
- if verbose: print 64/(end-start), 'K/sec'
+ print_timing(64, end-start, verbose)
del obj1, obj2
if verbose: print ' CBC mode:',
@@ -83,7 +90,7 @@
end=time.time()
if (plaintext!=str):
die('Error in resulting plaintext from CBC mode')
- if verbose: print 256/(end-start), 'K/sec'
+ print_timing(256, end-start, verbose)
del obj1, obj2
if verbose: print ' PGP mode:',
@@ -95,7 +102,7 @@
end=time.time()
if (plaintext!=str):
die('Error in resulting plaintext from PGP mode')
- if verbose: print 256/(end-start), 'K/sec'
+ print_timing(256, end-start, verbose)
del obj1, obj2
if verbose: print ' OFB mode:',
@@ -107,7 +114,7 @@
end=time.time()
if (plaintext!=str):
die('Error in resulting plaintext from OFB mode')
- if verbose: print 256/(end-start), 'K/sec'
+ print_timing(256, end-start, verbose)
del obj1, obj2
def counter(length=ciph.block_size):
@@ -122,7 +129,7 @@
end=time.time()
if (plaintext!=str):
die('Error in resulting plaintext from CTR mode')
- if verbose: print 256/(end-start), 'K/sec'
+ print_timing(256, end-start, verbose)
del obj1, obj2
# Test the IV handling
@@ -178,7 +185,7 @@
s=obj1.encrypt(str)
str=obj2.decrypt(s)
end=time.time()
- if verbose: print 256/(end-start), 'K/sec'
+ print_timing(256, end-start, verbose)
del obj1, obj2
return ciph
-------------------------------------------------------
SF.Net email is sponsored by Shop4tech.com-Lowest price on Blank Media
100pk Sonic DVD-R 4x for only $29 -100pk Sonic DVD+R for only $33
Save 50% off Retail on Ink & Toner - Free Shipping and Free Gift.
http://www.shop4tech.com/z/Inkjet_Cartridges/9_108_r285