blob: cd20e88ac1f28e370d3e00aa9518308440178b23 [file] [log] [blame]
#!/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.
import optparse
import sys
import time
import urllib2
def PrintAndFlush(s):
print s
sys.stdout.flush()
def main(args):
parser = optparse.OptionParser(usage='%prog [options] <URL to load>')
parser.add_option('--post', help='POST to URL.', dest='post',
action='store_true')
parser.add_option('--get', help='GET to URL.', dest='get',
action='store_true')
parser.add_option('--sleep',
help='Number of seconds to sleep after reading URL',
dest='sleep', default=0)
parser.add_option('--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')
options, args = parser.parse_args(args)
if len(args) != 1:
parser.error('Expected URL to load.')
PrintAndFlush('Starting %s.' % sys.argv[0])
if options.post:
urllib2.urlopen(args[0], data='').read()
elif options.get:
urllib2.urlopen(args[0]).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.')
sys.exit(0)
if __name__ == '__main__':
sys.exit(main(sys.argv[1:]))