summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLars Wirzenius <liw@liw.fi>2013-08-15 18:47:27 +0100
committerLars Wirzenius <liw@liw.fi>2013-08-15 18:47:27 +0100
commitddd5d8c11f0732ff65af60d0a409ed1df0a6c949 (patch)
tree21a73f0c51fa3ec3fe58c791dadc0b2bc9a4d7a5
parent3bfb2124dd3c1be25074caa37fc7dc02e91c4516 (diff)
downloadobnam-ddd5d8c11f0732ff65af60d0a409ed1df0a6c949.tar.gz
Make obnam-benchmark able to use installed larch
Patch by Lars Kruse.
-rw-r--r--NEWS3
-rwxr-xr-xobnam-benchmark36
2 files changed, 21 insertions, 18 deletions
diff --git a/NEWS b/NEWS
index 90322b1a..dcc3f4f2 100644
--- a/NEWS
+++ b/NEWS
@@ -9,6 +9,9 @@ Version 1.6, released UNRELEASED
* Stop logging paramiko exceptions that get converted into another
type of exception by the SFTP plugin in Obnam.
+* `obnam-benchmark` can now use an installed version of larch.
+ Patch by Lars Kruse.
+
Bug fixes:
* Fix "obnam list-toplevels" so it doesn't give an error when it's
diff --git a/obnam-benchmark b/obnam-benchmark
index 5da34797..c522662f 100755
--- a/obnam-benchmark
+++ b/obnam-benchmark
@@ -44,7 +44,7 @@ class ObnamBenchmark(cliapp.Application):
self.settings.string(['larch-branch'],
'use DIR as the larch branch (default: %default)',
metavar='DIR',
- default=os.path.expanduser('~/larch/trunk'))
+ )
self.settings.string(['seivot-branch'],
'use DIR as the seivot branch '
'(default: installed seivot)',
@@ -84,12 +84,14 @@ class ObnamBenchmark(cliapp.Application):
self.require_tmpdir()
obnam_revno = self.bzr_revno(self.settings['obnam-branch'])
- larch_revno = self.bzr_revno(self.settings['larch-branch'])
+ if self.settings['larch-branch']:
+ larch_revno = self.bzr_revno(self.settings['larch-branch'])
+ else:
+ larch_revno = None
results = self.results_dir(obnam_revno, larch_revno)
obnam_branch = self.settings['obnam-branch']
- larch_branch = self.settings['larch-branch']
if self.settings['seivot-branch']:
seivot = os.path.join(self.settings['seivot-branch'], 'seivot')
else:
@@ -124,7 +126,6 @@ class ObnamBenchmark(cliapp.Application):
else:
argv = [seivot,
'--obnam-branch', obnam_branch,
- '--larch-branch', larch_branch,
'--incremental-data', inc,
'--file-size', str(file_size),
'--obnam-profile', obnam_profile,
@@ -133,6 +134,8 @@ class ObnamBenchmark(cliapp.Application):
'--sftp-delay', str(self.settings['sftp-delay']),
'--initial-data', initial,
'--output', output]
+ if self.settings['larch-branch']:
+ argv.extend(['--larch-branch', self.settings['larch-branch']])
if self.settings['seivot-log']:
argv.extend(['--log', self.settings['seivot-log']])
if self.settings['drop-caches']:
@@ -173,23 +176,20 @@ class ObnamBenchmark(cliapp.Application):
def results_dir(self, obnam_revno, larch_revno):
parent = self.settings['results']
+ parts = [self.hostname, self.obnam_branch_name, str(obnam_revno)]
+ if larch_revno:
+ parts.append(str(larch_revno))
+ prefix = os.path.join(parent, "-".join(parts))
+
+ get_path = lambda counter: "%s-%d" % (prefix, counter)
counter = 0
- while True:
+ dirname = get_path(counter)
+ while os.path.exists(dirname):
counter += 1
- parts = [
- self.hostname,
- self.obnam_branch_name,
- str(obnam_revno),
- str(larch_revno),
- str(counter),
- ]
- basename = '-'.join(parts)
-
- dirname = os.path.join(parent, basename)
- if not os.path.exists(dirname):
- os.mkdir(dirname)
- return dirname
+ dirname = get_path(counter)
+ os.makedirs(dirname)
+ return dirname
def setup_gnupghome(self, tempdir):
gnupghome = os.path.join(tempdir, 'gnupghome')