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 = """
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('bup memtest', optspec)
git.check_repo_or_die()
m = git.PackIdxList(git.repo('objects/pack'))
-cycles = opt.cycles or 100
-number = opt.number or 10000
-
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)
optspec = """
bup random [-S seed] <numbytes>
--
-S,seed= optional random number seed (default 1)
+S,seed= optional random number seed [1]
f,force print random data to stdout even if it's a tty
"""
o = options.Options('bup random', optspec)
if opt.force or (not os.isatty(1) and
not atoi(os.environ.get('BUP_FORCE_TTY')) & 1):
- _hashsplit.write_random(sys.stdout.fileno(), total, opt.seed or 0)
+ _hashsplit.write_random(sys.stdout.fileno(), total, opt.seed)
else:
log('error: not writing binary data to a terminal. Use -f to force.\n')
sys.exit(1)