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 _:
24    # Loop until we get a response that we can parse.
25    while True:
26      sys.stderr.write('Revision is [(g)ood/(b)ad]: ')
27      response = raw_input()
28      if response and response in ('g', 'b'):
29        if response in ('g'):
30          print 'RESULT manual_test: manual_test= 1'
31        else:
32          print 'RESULT manual_test: manual_test= 0'
33        break
34
35
36def main():
37  usage = ('%prog [options]\n'
38           'Starts browser with an optional url and asks user whether '
39           'revision is good or bad.\n')
40
41  options = browser_options.BrowserFinderOptions()
42  parser = options.CreateParser(usage)
43  options, _ = parser.parse_args()
44
45  _StartManualTest(options)
46
47
48if __name__ == '__main__':
49  sys.exit(main())
50