Mercurial > mozilla > hg > talosnames
diff talosnames/web.py @ 38:ef8590b55605
determine actually correct name extension
author | Jeff Hammel <jhammel@mozilla.com> |
---|---|
date | Tue, 24 Jul 2012 11:12:07 -0700 |
parents | c945731f06d0 |
children | 10945dedde84 |
line wrap: on
line diff
--- a/talosnames/web.py Mon Jul 23 16:09:44 2012 -0700 +++ b/talosnames/web.py Tue Jul 24 11:12:07 2012 -0700 @@ -7,6 +7,7 @@ import optparse import os import pprint +import talos.test import tempita from api import TalosNames from subprocess import list2cmdline @@ -42,6 +43,7 @@ paint = {} chrome = {} graphserver = {} + test_type = {} for suite in suites: for test in tests.get(suite) or []: config = self.api.talos_config(suite) @@ -58,8 +60,20 @@ paint[suite] = _paint chrome[suite] = _chrome + # determine test extension + # TODO: move this to api.py + testname = test + testobj = talos.test.test_dict[testname] + if issubclass(testobj, talos.test.TsBase): + test_type.setdefault(suite, {})[test] = 'Startup Test' + elif issubclass(testobj, talos.test.PageloaderTest): + test_type.setdefault(suite, {})[test] = 'Page Load Test' + testname += extension + else: + raise Exception + # get graphserver data - names = self.api.graphserver_name(test + extension) + names = self.api.graphserver_name(testname) if names: graphserver.setdefault(suite, {})[test] = [names] else: @@ -67,6 +81,7 @@ self.data['graphserver'] = graphserver self.data['paint'] = paint self.data['chrome'] = chrome + self.data['test_type'] = test_type def __call__(self, environ, start_response): request = Request(environ) @@ -82,11 +97,22 @@ if __name__ == '__main__': parser = optparse.OptionParser() + parser.add_option('-o', '--output', dest='output', + help="file to output to") + parser.add_option('-p', '--port', dest='port', + default=8080, type='int', + help="port to serve on") options, args = parser.parse_args() - from wsgiref import simple_server app = Handler() - server = simple_server.make_server(host='0.0.0.0', port=8080, app=app) - server.serve_forever() + + if options.output: + f = file(options.output, 'w') + f.write(app.render()) + f.close() + else: + from wsgiref import simple_server + server = simple_server.make_server(host='0.0.0.0', port=options.port, app=app) + server.serve_forever()