Home | History | Annotate | Download | only in tools
      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 
      8 Typically used as by the run-bisect-manual-test.py script.
      9 """
     10 
     11 import os
     12 import sys
     13 
     14 sys.path.append(os.path.join(os.path.dirname(__file__), 'telemetry'))
     15 from telemetry.core import browser_finder
     16 from telemetry.core import browser_options
     17 
     18 
     19 def _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 
     40 def 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.BrowserFinderOptions()
     46   parser = options.CreateParser(usage)
     47   options, args = parser.parse_args()
     48 
     49   _StartManualTest(options)
     50 
     51 
     52 if __name__ == '__main__':
     53   sys.exit(main())
     54