Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(226)

Side by Side Diff: chrome/test/functional/perf/endure_server.py

Issue 10837114: Automate Chrome Endure setup process. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Address Dennis' Comments Created 8 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | chrome/test/functional/perf/endure_setup.py » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 #!/usr/bin/env python
2 # Copyright (c) 2012 The Chromium Authors. All rights reserved.
3 # Use of this source code is governed by a BSD-style license that can be
4 # found in the LICENSE file.
5
6 """Start an HTTP server which serves Chrome Endure graphs.
7
8 Usage:
9 python endure_server.py [options]
10
11 To view Chrome Endure graphs from a browser,
12 run this script to start a local HTTP server that serves the directory
13 where graph code and test results are located. A port will be automatically
14 picked. You can then view the graphs via http://localhost:<GIVEN_PORT>.
15
16 Examples:
17 >python endure_server.py
18 Start a server which serves the default location
19 <CURRENT_WORKING_DIR>/chrome_graph.
20
21 >python endure_server.py --graph-dir=/home/user/Document/graph_dir
22 Start a server which serves /home/user/Document/graph_dir which
23 is where your graph code and test results are.
24 """
25
26 import BaseHTTPServer
27 import logging
28 import optparse
29 import os
30 import SimpleHTTPServer
31 import sys
32
33
34 class HelpFormatter(optparse.IndentedHelpFormatter):
35 """Format the help message of this script."""
36
37 def format_description(self, description):
38 """Override to keep original format of the description."""
39 return description + '\n' if description else ''
40
41
42 def _ParseArgs(argv):
43 parser = optparse.OptionParser(
44 usage='%prog [options]',
45 formatter=HelpFormatter(),
46 description=__doc__)
47 parser.add_option(
48 '-g', '--graph-dir', type='string',
49 default=os.path.join(os.getcwd(), 'chrome_graph'),
50 help='The directory that contains graph code ' \
51 'and data files of test results. Default value is ' \
52 '<CURRENT_WORKING_DIR>/chrome_graph')
53 return parser.parse_args(argv)
54
55
56 def Run(argv):
57 """Start an HTTP server which serves Chrome Endure graphs."""
58 logging.basicConfig(format='[%(levelname)s] %(message)s', level=logging.DEBUG)
59 options, _ = _ParseArgs(argv)
60 graph_dir = os.path.abspath(options.graph_dir)
61 cur_dir = os.getcwd()
62 os.chdir(graph_dir)
63 httpd = BaseHTTPServer.HTTPServer(
64 ('', 0), SimpleHTTPServer.SimpleHTTPRequestHandler)
65 try:
66 logging.info('Serving %s at port %d', graph_dir, httpd.server_port)
67 logging.info('View graphs at http://localhost:%d', httpd.server_port)
68 logging.info('Press Ctrl-C to stop the server.')
69 httpd.serve_forever()
70 except KeyboardInterrupt:
71 logging.info('Shutting down ...')
72 httpd.shutdown()
73 finally:
74 os.chdir(cur_dir)
75 return 0
76
77
78 if '__main__' == __name__:
79 sys.exit(Run(sys.argv[1:]))
OLDNEW
« no previous file with comments | « no previous file | chrome/test/functional/perf/endure_setup.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698