from bup import git, options
from bup.helpers import *
+handle_ctrl_c()
def s_from_bytes(bytes):
clist = [chr(b) for b in bytes]
optspec = """
-memtest [-n elements] [-c cycles]
+bup memtest [-n elements] [-c cycles]
--
-n,number= number of objects per cycle
-c,cycles= number of cycles to run
+n,number= number of objects per cycle [10000]
+c,cycles= number of cycles to run [100]
ignore-midx ignore .midx files, use only .idx files
"""
-o = options.Options(sys.argv[0], optspec)
+o = options.Options('bup memtest', optspec)
(opt, flags, extra) = o.parse(sys.argv[1:])
if extra:
git.ignore_midx = opt.ignore_midx
git.check_repo_or_die()
-m = git.MultiPackIndex(git.repo('objects/pack'))
-
-cycles = opt.cycles or 100
-number = opt.number or 10000
+m = git.PackIdxList(git.repo('objects/pack'))
report(-1)
f = open('/dev/urandom')
a = mmap.mmap(-1, 20)
report(0)
-for c in xrange(cycles):
- for n in xrange(number):
+for c in xrange(opt.cycles):
+ for n in xrange(opt.number):
b = f.read(3)
if 0:
bytes = list(struct.unpack('!BBB', b)) + [0]*17
bin = str(a[0:20])
#print bin.encode('hex')
m.exists(bin)
- report((c+1)*number)
+ report((c+1)*opt.number)