Changeset 245826 in webkit
- Timestamp:
- May 28, 2019, 2:55:50 PM (7 years ago)
- Location:
- trunk/Tools
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Tools/ChangeLog
r245824 r245826 1 2019-05-25 Dewei Zhu <dewei_zhu@apple.com> 2 3 Limit run-benchmark http server to specific interface. 4 https://bugs.webkit.org/show_bug.cgi?id=198247 5 6 Reviewed by Ryosuke Niwa. 7 8 Add '--interface' option to 'twisted_http_server.py'. 9 'SimpleHTTPServerDriver' should specify interface for http server. 10 Update regex that determines http server port from 'lsof' output to support ipv6 address. 11 12 * Scripts/webkitpy/benchmark_runner/http_server_driver/http_server/twisted_http_server.py: 13 Added '--interface' argument. 14 * Scripts/webkitpy/benchmark_runner/http_server_driver/simple_http_server_driver.py: 15 Limited http server to a specific interfce. 16 Added '-P' option to 'lsof' invocation to inhibits the conversion of port numbers to port name so script won't 17 fail if it's listening on a 'well-known' port. 18 Abstracted '_check_http_server_is_running' to allow potential child class to have its own implementation. 19 (SimpleHTTPServerDriver.serve): Updated regex that determines http server port from 'lsof' output to support ipv6 address. 20 (SimpleHTTPServerDriver.kill_server): Added null check for 'self._server_process'. 21 1 22 2019-05-28 David Xiong <w_xiong@apple.com> 2 23 -
trunk/Tools/Scripts/webkitpy/benchmark_runner/http_server_driver/http_server/twisted_http_server.py
r208205 r245826 41 41 parser.add_argument('web_root') 42 42 parser.add_argument('--port', type=int, default=0) 43 parser.add_argument('--interface', default='') 43 44 args = parser.parse_args() 44 45 web_root = static.File(args.web_root) … … 46 47 web_root.putChild('shutdown', serverControl) 47 48 web_root.putChild('report', serverControl) 48 reactor.listenTCP(args.port, server.Site(web_root) )49 reactor.listenTCP(args.port, server.Site(web_root), interface=args.interface) 49 50 reactor.run() -
trunk/Tools/Scripts/webkitpy/benchmark_runner/http_server_driver/simple_http_server_driver.py
r225698 r245826 31 31 _log.info('Launching an http server') 32 32 http_server_path = os.path.join(os.path.dirname(os.path.abspath(__file__)), "http_server/twisted_http_server.py") 33 self._server_process = subprocess.Popen(["python", http_server_path, web_root], stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE) 33 interface_args = [] 34 if self._ip: 35 interface_args.extend(['--interface', self._ip]) 36 self._server_process = subprocess.Popen(["python", http_server_path, web_root] + interface_args, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE) 34 37 35 38 max_attempt = 5 … … 52 55 for attempt in xrange(max_attempt): 53 56 try: 54 output = subprocess.check_output(['/usr/sbin/lsof', '-a', '- iTCP', '-sTCP:LISTEN', '-p', str(self._server_process.pid)])55 self._server_port = int(re.search('TCP \*:(\d+) \(LISTEN\)', output).group(1))57 output = subprocess.check_output(['/usr/sbin/lsof', '-a', '-P', '-iTCP', '-sTCP:LISTEN', '-p', str(self._server_process.pid)]) 58 self._server_port = int(re.search('TCP .*:(\d+) \(LISTEN\)', output).group(1)) 56 59 if self._server_port: 57 60 _log.info('HTTP Server is serving at port: %d', self._server_port) … … 64 67 else: 65 68 raise Exception("Cannot listen to server, max tries exceeded") 69 self._wait_for_http_server() 66 70 71 def _wait_for_http_server(self): 72 max_attempt = 5 67 73 # Wait for server to be up completely before exiting 68 74 for attempt in xrange(max_attempt): … … 72 78 except Exception as error: 73 79 _log.info('Server not running yet: %s' % error) 74 time.sleep( interval)80 time.sleep(1) 75 81 raise Exception('Server not running, max tries exceeded: %s' % error) 76 82 … … 85 91 def kill_server(self): 86 92 try: 93 if not self._server_process: 94 return 87 95 if self._server_process.poll() is None: 88 96 self._server_process.terminate()
Note:
See TracChangeset
for help on using the changeset viewer.