summaryrefslogtreecommitdiff
path: root/obbench
diff options
context:
space:
mode:
Diffstat (limited to 'obbench')
-rwxr-xr-xobbench11
1 files changed, 11 insertions, 0 deletions
diff --git a/obbench b/obbench
index 2c66c1a..9172457 100755
--- a/obbench
+++ b/obbench
@@ -34,6 +34,10 @@ class ObnamBenchmarker(cliapp.Application):
'keep state in DIR between runs',
metavar='DIR',
default='.')
+ self.settings.string(
+ ['publish-command'],
+ 'after a successful run, run COMMAND',
+ metavar='COMMAND')
def process_args(self, args):
spec = self.read_benchmark_spec(args[0])
@@ -41,6 +45,7 @@ class ObnamBenchmarker(cliapp.Application):
self.clone_or_update_git(statedir, spec)
self.run_benchmarks(statedir, spec, args[1:])
self.produce_html(statedir, spec)
+ self.publish(statedir)
def read_benchmark_spec(self, filename):
with open(filename) as f:
@@ -85,6 +90,12 @@ class ObnamBenchmarker(cliapp.Application):
gen.spec = spec
gen.generate_html()
+ def publish(self, statedir):
+ command = self.settings['publish-command']
+ if command:
+ print 'Publishing using {}'.format(command)
+ cliapp.runcmd(['sh', '-c', command], cwd=statedir)
+
if __name__ == '__main__':
ObnamBenchmarker(version=obbenchlib.__version__).run()