summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--NEWS2
-rwxr-xr-xobbench11
2 files changed, 13 insertions, 0 deletions
diff --git a/NEWS b/NEWS
index 17316b4..bd33d79 100644
--- a/NEWS
+++ b/NEWS
@@ -4,6 +4,8 @@ NEWS file for obbench
Version 0.11+git, not yet released
----------------------------------
+* Added the `--publish-command` setting, to allow a command to be run
+ to publish results after a successful run.
Version 0.11, released 2016-02-14
----------------------------------
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()