WebKit Bugzilla
Attachment 370635 Details for
Bug 198247
: Limit run-benchmark http server to specific interface.
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch
bug-198247-20190525034023.patch (text/plain), 4.55 KB, created by
dewei_zhu
on 2019-05-25 03:40:24 PDT
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
dewei_zhu
Created:
2019-05-25 03:40:24 PDT
Size:
4.55 KB
patch
obsolete
>Subversion Revision: 245756 >diff --git a/Tools/ChangeLog b/Tools/ChangeLog >index 01011fd55370e4eef3c60ca174919a4dd65d8c06..dc8dc10726189b9cbe8a3ced3ad920e866344327 100644 >--- a/Tools/ChangeLog >+++ b/Tools/ChangeLog >@@ -1,3 +1,21 @@ >+2019-05-25 Dewei Zhu <dewei_zhu@apple.com> >+ >+ Limit run-benchmark http server to specific interface. >+ https://bugs.webkit.org/show_bug.cgi?id=198247 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ Add '--interface' option to 'twisted_http_server.py'. >+ 'SimpleHTTPServerDriver' should specify interface for http server. >+ Update regex that determines http server port from 'lsof' output to support ipv6 address. >+ >+ * Scripts/webkitpy/benchmark_runner/http_server_driver/http_server/twisted_http_server.py: >+ Added '--interface' argument. >+ * Scripts/webkitpy/benchmark_runner/http_server_driver/simple_http_server_driver.py: >+ Limit http server to a specific interfce. >+ (SimpleHTTPServerDriver.serve): Updated regex that determines http server port from 'lsof' output to support ipv6 address. >+ (SimpleHTTPServerDriver.kill_server): Added null check for 'self._server_process'. >+ > 2019-05-24 Yusuke Suzuki <ysuzuki@apple.com> > > Make display-profiler-output work with newer HighLine >diff --git a/Tools/Scripts/webkitpy/benchmark_runner/http_server_driver/http_server/twisted_http_server.py b/Tools/Scripts/webkitpy/benchmark_runner/http_server_driver/http_server/twisted_http_server.py >index ed427633f87be41d20b3e97d263b7c0a15483b4f..af8d642dff90ffd43e3857cebaee8405a9b23622 100644 >--- a/Tools/Scripts/webkitpy/benchmark_runner/http_server_driver/http_server/twisted_http_server.py >+++ b/Tools/Scripts/webkitpy/benchmark_runner/http_server_driver/http_server/twisted_http_server.py >@@ -40,10 +40,11 @@ if __name__ == '__main__': > parser = argparse.ArgumentParser(description='python twisted_http_server.py web_root') > parser.add_argument('web_root') > parser.add_argument('--port', type=int, default=0) >+ parser.add_argument('--interface', default='') > args = parser.parse_args() > web_root = static.File(args.web_root) > serverControl = ServerControl() > web_root.putChild('shutdown', serverControl) > web_root.putChild('report', serverControl) >- reactor.listenTCP(args.port, server.Site(web_root)) >+ reactor.listenTCP(args.port, server.Site(web_root), interface=args.interface) > reactor.run() >diff --git a/Tools/Scripts/webkitpy/benchmark_runner/http_server_driver/simple_http_server_driver.py b/Tools/Scripts/webkitpy/benchmark_runner/http_server_driver/simple_http_server_driver.py >index 937b71dc78ce4ae6baff388ed4f22e54bc4ea03a..d39c4cc305c954f032b5d7ad081660e89bb24595 100644 >--- a/Tools/Scripts/webkitpy/benchmark_runner/http_server_driver/simple_http_server_driver.py >+++ b/Tools/Scripts/webkitpy/benchmark_runner/http_server_driver/simple_http_server_driver.py >@@ -30,7 +30,10 @@ class SimpleHTTPServerDriver(HTTPServerDriver): > def serve(self, web_root): > _log.info('Launching an http server') > http_server_path = os.path.join(os.path.dirname(os.path.abspath(__file__)), "http_server/twisted_http_server.py") >- self._server_process = subprocess.Popen(["python", http_server_path, web_root], stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE) >+ interface_args = [] >+ if self._ip: >+ interface_args.extend(['--interface', self._ip]) >+ self._server_process = subprocess.Popen(["python", http_server_path, web_root] + interface_args, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE) > > max_attempt = 5 > interval = 0.5 >@@ -52,7 +55,7 @@ class SimpleHTTPServerDriver(HTTPServerDriver): > for attempt in xrange(max_attempt): > try: > output = subprocess.check_output(['/usr/sbin/lsof', '-a', '-iTCP', '-sTCP:LISTEN', '-p', str(self._server_process.pid)]) >- self._server_port = int(re.search('TCP \*:(\d+) \(LISTEN\)', output).group(1)) >+ self._server_port = int(re.search('TCP .*:(\d+) \(LISTEN\)', output).group(1)) > if self._server_port: > _log.info('HTTP Server is serving at port: %d', self._server_port) > break >@@ -84,6 +87,8 @@ class SimpleHTTPServerDriver(HTTPServerDriver): > > def kill_server(self): > try: >+ if not self._server_process: >+ return > if self._server_process.poll() is None: > self._server_process.terminate() > except OSError as error:
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 198247
:
370635
|
370711