summaryrefslogtreecommitdiff
path: root/xdelta3/xdelta3-regtest.py
diff options
context:
space:
mode:
authordotdotisdead <dotdotisdead@a3eca27d-f21b-0410-9b4a-6511e771f64e>2007-01-07 03:19:22 +0000
committerdotdotisdead <dotdotisdead@a3eca27d-f21b-0410-9b4a-6511e771f64e>2007-01-07 03:19:22 +0000
commit6b8007761b66db36f7863cfb42270a8d0c8b9077 (patch)
treeb0c8be67cdefa42aea872bda19a09b75d109238f /xdelta3/xdelta3-regtest.py
parentbae7eb2b3db9664a5041a8dbefef5a2fa3847376 (diff)
Fixes the python module, there were some bugs in main.
Diffstat (limited to 'xdelta3/xdelta3-regtest.py')
-rwxr-xr-xxdelta3/xdelta3-regtest.py67
1 files changed, 28 insertions, 39 deletions
diff --git a/xdelta3/xdelta3-regtest.py b/xdelta3/xdelta3-regtest.py
index e8d0339..6590792 100755
--- a/xdelta3/xdelta3-regtest.py
+++ b/xdelta3/xdelta3-regtest.py
@@ -42,13 +42,6 @@ MAX_TRIALS = 1
42MIN_STDDEV_PCT = 1.5 # stop 42MIN_STDDEV_PCT = 1.5 # stop
43MAX_RUN = 1000 * 1000 * 10 43MAX_RUN = 1000 * 1000 * 10
44 44
45XD3CMD = './xdelta3-64'
46#XD3CMD = './xdelta3'
47
48# kind:
49PYEXT = 1
50FORK = 0
51
52# 45#
53# 46#
54RCSDIR = '/mnt/polaroid/Polaroid/orbit_linux/home/jmacd/PRCS/prcs/b' 47RCSDIR = '/mnt/polaroid/Polaroid/orbit_linux/home/jmacd/PRCS/prcs/b'
@@ -433,14 +426,11 @@ def RunCommandIO(args,infn,outfn):
433 if not os.WIFEXITED(s[1]) or o != 0: 426 if not os.WIFEXITED(s[1]) or o != 0:
434 raise CommandError(args, 'exited %d' % o) 427 raise CommandError(args, 'exited %d' % o)
435 428
436def RunXdelta3(args,kind=FORK): 429def RunXdelta3(args):
437 if 0: # kind == FORK: 430 try:
438 RunCommand([XD3CMD] + args) 431 xdelta3.main(args)
439 else: 432 except Exception, e:
440 try: 433 raise CommandError(args, "xdelta3.main exception")
441 xdelta3.main(args)
442 except Exception, e:
443 raise CommandError(args, "xdelta3.main exception")
444 434
445class GzipInfo: 435class GzipInfo:
446 def __init__(self,target,delta): 436 def __init__(self,target,delta):
@@ -449,13 +439,7 @@ class GzipInfo:
449 439
450class Xdelta3Info: 440class Xdelta3Info:
451 def __init__(self,target,delta): 441 def __init__(self,target,delta):
452 RunXdelta3(['printhdr', 442 self.extcomp = 0 # @@@
453 '-f',
454 delta,
455 HFILE])
456 o = open(HFILE, "r")
457 l = o.readline()
458 self.extcomp = 0
459 self.hdrsize = 0 443 self.hdrsize = 0
460 self.tgtsize = os.stat(target).st_size 444 self.tgtsize = os.stat(target).st_size
461 self.dsize = os.stat(delta).st_size 445 self.dsize = os.stat(delta).st_size
@@ -463,19 +447,25 @@ class Xdelta3Info:
463 self.ideal = 100.0 * self.dsize / self.tgtsize; 447 self.ideal = 100.0 * self.dsize / self.tgtsize;
464 else: 448 else:
465 self.ideal = 0.0 449 self.ideal = 0.0
466 while l: 450# RunXdelta3(['printhdr',
467 #print l.strip() 451# '-f',
468 m = RE_HDRSZ.match(l) 452# delta,
469 if m: 453# HFILE])
470 self.hdrsize = int(m.group(1)) 454# o = open(HFILE, "r")
471 m = RE_EXTCOMP.match(l) 455# l = o.readline()
472 if m: 456# while l:
473 #print 'EXTCOMP', m.group(0) 457# #print l.strip()
474 self.extcomp = 1 458# m = RE_HDRSZ.match(l)
475 l = o.readline() 459# if m:
476 if self.hdrsize == 0: 460# self.hdrsize = int(m.group(1))
477 raise CommandError(cmd, 'no hdrsize') 461# m = RE_EXTCOMP.match(l)
478 o.close() 462# if m:
463# #print 'EXTCOMP', m.group(0)
464# self.extcomp = 1
465# l = o.readline()
466# if self.hdrsize == 0:
467# raise CommandError(cmd, 'no hdrsize')
468# o.close()
479 469
480class Xdelta3Pair: 470class Xdelta3Pair:
481 def __init__(self): 471 def __init__(self):
@@ -542,16 +532,15 @@ def Decimals(max):
542 return l 532 return l
543 533
544class Xdelta3Run1: 534class Xdelta3Run1:
545 def __init__(self,file,kind,reps=0): 535 def __init__(self,file,reps=0):
546 self.file = file 536 self.file = file
547 self.reps = reps 537 self.reps = reps
548 self.canrep = 1 538 self.canrep = 1
549 self.kind = kind
550 def Run(self,trial,reps): 539 def Run(self,trial,reps):
551 if self.reps: 540 if self.reps:
552 assert(reps == 1) 541 assert(reps == 1)
553 reps = self.reps 542 reps = self.reps
554 RunXdelta3(['-vvv', '-P', '%d' % reps, '-efq', self.file, DFILE],kind=self.kind) 543 RunXdelta3(['-P', '%d' % reps, '-efq', self.file, DFILE])
555 if trial > 0: 544 if trial > 0:
556 return None 545 return None
557 return Xdelta3Info(self.file,DFILE) 546 return Xdelta3Info(self.file,DFILE)
@@ -580,7 +569,7 @@ def ReportSpeed(L,tr,desc):
580def RunSpeed(): 569def RunSpeed():
581 for L in Decimals(MAX_RUN): 570 for L in Decimals(MAX_RUN):
582 SetFileSize(RUNFILE, L) 571 SetFileSize(RUNFILE, L)
583 trx = TimeRun(Xdelta3Run1(RUNFILE,kind=PYEXT)) 572 trx = TimeRun(Xdelta3Run1(RUNFILE))
584 ReportSpeed(L,trx,'xdelta3') 573 ReportSpeed(L,trx,'xdelta3')
585 trg = TimeRun(GzipRun1(RUNFILE)) 574 trg = TimeRun(GzipRun1(RUNFILE))
586 ReportSpeed(L,trg,'gzip ') 575 ReportSpeed(L,trg,'gzip ')