| #!/usr/bin/env python |
| # Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| """Mock chrome process used by test code for http server.""" |
| |
| import argparse |
| import sys |
| import time |
| import urllib2 |
| |
| def PrintAndFlush(s): |
| sys.stdout.write(s + '\n') |
| sys.stdout.flush() |
| |
| def main(args): |
| parser = argparse.ArgumentParser(description=__doc__) |
| parser.add_argument('--post', help='POST to URL.', dest='post', |
| action='store_true') |
| parser.add_argument('--get', help='GET to URL.', dest='get', |
| action='store_true') |
| parser.add_argument('--sleep', |
| help='Number of seconds to sleep after reading URL', |
| dest='sleep', default=0) |
| parser.add_argument('--expect-to-be-killed', help='If set, the script will' |
| ' warn if it isn\'t killed before it finishes sleeping.', |
| dest='expect_to_be_killed', action='store_true') |
| parser.add_argument('url') |
| |
| options = parser.parse_args(args) |
| |
| PrintAndFlush('Starting %s.' % sys.argv[0]) |
| |
| if options.post: |
| urllib2.urlopen(options.url, data='').read() |
| elif options.get: |
| urllib2.urlopen(options.url).read() |
| else: |
| # Do nothing but wait to be killed. |
| pass |
| |
| time.sleep(float(options.sleep)) |
| |
| if options.expect_to_be_killed: |
| PrintAndFlush('Done sleeping. Expected to be killed.') |
| return 0 |
| |
| if __name__ == '__main__': |
| sys.exit(main(sys.argv[1:])) |