17dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#!/usr/bin/env python 27dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch# Copyright 2013 The Chromium Authors. All rights reserved. 37dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch# Use of this source code is governed by a BSD-style license that can be 47dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch# found in the LICENSE file. 57dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch 67dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch"""Simple script which asks user to manually check result of bisection. 77dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch 87dbb3d5cf0c15f500944d211057644d6a2f37371Ben MurdochTypically used as by the run-bisect-manual-test.py script. 97dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch""" 107dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch 117dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdochimport os 127dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdochimport sys 137dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch 147dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdochsys.path.append(os.path.join(os.path.dirname(__file__), 'telemetry')) 157dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdochfrom telemetry.core import browser_finder 167dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdochfrom telemetry.core import browser_options 177dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch 187dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch 197dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdochdef _StartManualTest(options): 207dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch """Start browser then ask the user whether build is good or bad.""" 217dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch browser_to_create = browser_finder.FindBrowser(options) 227dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch print 'Starting browser: %s.' % options.browser_type 235f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) with browser_to_create.Create() as _: 247dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch # Loop until we get a response that we can parse. 257dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch while True: 267dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch sys.stderr.write('Revision is [(g)ood/(b)ad]: ') 277dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch response = raw_input() 287dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch if response and response in ('g', 'b'): 297dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch if response in ('g'): 305f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) print 'RESULT manual_test: manual_test= 1' 317dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch else: 325f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) print 'RESULT manual_test: manual_test= 0' 337dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch break 347dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch 355f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 367dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdochdef main(): 377dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch usage = ('%prog [options]\n' 387dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch 'Starts browser with an optional url and asks user whether ' 397dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch 'revision is good or bad.\n') 407dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch 41424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles) options = browser_options.BrowserFinderOptions() 427dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch parser = options.CreateParser(usage) 435f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) options, _ = parser.parse_args() 447dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch 457dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch _StartManualTest(options) 467dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch 477dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch 487dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdochif __name__ == '__main__': 497dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch sys.exit(main()) 50