bisect-manual-test.py revision 3551c9c881056c480085172ff9840cab31610854
1#!/usr/bin/env python
2# Copyright 2013 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"""Simple script which asks user to manually check result of bisection.
7
8Typically used as by the run-bisect-manual-test.py script.
9"""
10
11import os
12import sys
13
14sys.path.append(os.path.join(os.path.dirname(__file__), 'telemetry'))
15from telemetry.core import browser_finder
16from telemetry.core import browser_options
17
18
19def _StartManualTest(options):
20  """Start browser then ask the user whether build is good or bad."""
21  browser_to_create = browser_finder.FindBrowser(options)
22  print 'Starting browser: %s.' % options.browser_type
23  with browser_to_create.Create() as browser:
24    browser.Start();
25
26    # Loop until we get a response that we can parse.
27    while True:
28      sys.stderr.write('Revision is [(g)ood/(b)ad]: ')
29      response = raw_input()
30      if response and response in ('g', 'b'):
31        if response in ('g'):
32          print "RESULT manual_test: manual_test= 1"
33        else:
34          print "RESULT manual_test: manual_test= 0"
35        break
36
37    browser.Close()
38
39
40def main():
41  usage = ('%prog [options]\n'
42           'Starts browser with an optional url and asks user whether '
43           'revision is good or bad.\n')
44
45  options = browser_options.BrowserOptions()
46  parser = options.CreateParser(usage)
47  options, args = parser.parse_args()
48
49  _StartManualTest(options)
50
51
52if __name__ == '__main__':
53  sys.exit(main())
54