From 194ea7b405ade47589b30e3e16ef5c3bacdbb893 Mon Sep 17 00:00:00 2001 From: Lars Wirzenius Date: Fri, 19 Feb 2016 20:26:02 +0200 Subject: Add --publish-command --- NEWS | 2 ++ obbench | 11 +++++++++++ 2 files changed, 13 insertions(+) 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() -- cgit v1.2.1