Roll WebRTC 8467:8506, Libjingle 8468:8501
[chromium-blink-merge.git] / testing / legion / common_lib.py
blobc752e0f0afc12d7c1d8da2244ed3a5325acb53bc
1 # Copyright 2015 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file.
5 """Common library methods used by both coordinator and task machines."""
7 import argparse
8 import logging
9 import os
10 import socket
11 import xmlrpclib
13 LOGGING_LEVELS = ['DEBUG', 'INFO', 'WARNING', 'WARN', 'ERROR']
14 MY_IP = socket.gethostbyname(socket.gethostname())
15 SERVER_ADDRESS = ''
16 SERVER_PORT = 31710
17 DEFAULT_TIMEOUT_SECS = 20 * 60 # 30 minutes
18 THIS_DIR = os.path.dirname(os.path.abspath(__file__))
19 SWARMING_DIR = os.path.join(THIS_DIR, '..', '..', 'tools', 'swarming_client')
22 def InitLogging():
23 """Initialize the logging module.
25 Raises:
26 argparse.ArgumentError if the --verbosity arg is incorrect.
27 """
28 parser = argparse.ArgumentParser()
29 logging_action = parser.add_argument('--verbosity', default='ERROR')
30 args, _ = parser.parse_known_args()
31 if args.verbosity not in LOGGING_LEVELS:
32 raise argparse.ArgumentError(
33 logging_action, 'Only levels %s supported' % str(LOGGING_LEVELS))
34 logging.basicConfig(
35 format='%(asctime)s %(filename)s:%(lineno)s %(levelname)s] %(message)s',
36 datefmt='%H:%M:%S', level=args.verbosity)
39 def ConnectToServer(server):
40 """Connect to an RPC server."""
41 addr = 'http://%s:%d' % (server, SERVER_PORT)
42 logging.debug('Connecting to RPC server at %s', addr)
43 return xmlrpclib.Server(addr)