| OLD | NEW |
| 1 #!/usr/bin/env python | 1 #!/usr/bin/env python |
| 2 # | 2 # |
| 3 # Copyright (c) 2012 The Chromium Authors. All rights reserved. | 3 # Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 4 # Use of this source code is governed by a BSD-style license that can be | 4 # Use of this source code is governed by a BSD-style license that can be |
| 5 # found in the LICENSE file. | 5 # found in the LICENSE file. |
| 6 | 6 |
| 7 """Provides a convenient wrapper for spawning a test lighttpd instance. | 7 """Provides a convenient wrapper for spawning a test lighttpd instance. |
| 8 | 8 |
| 9 Usage: | 9 Usage: |
| 10 lighttpd_server PATH_TO_DOC_ROOT | 10 lighttpd_server PATH_TO_DOC_ROOT |
| 11 """ | 11 """ |
| 12 | 12 |
| 13 import codecs | 13 import codecs |
| 14 import contextlib | 14 import contextlib |
| 15 import httplib | 15 import httplib |
| 16 import os | 16 import os |
| 17 import pexpect | |
| 18 import random | 17 import random |
| 19 import shutil | 18 import shutil |
| 20 import socket | 19 import socket |
| 21 import subprocess | 20 import subprocess |
| 22 import sys | 21 import sys |
| 23 import tempfile | 22 import tempfile |
| 24 import time | 23 import time |
| 25 | 24 |
| 26 from pylib import constants | 25 from pylib import constants |
| 27 | 26 from pylib import pexpect |
| 28 | 27 |
| 29 class LighttpdServer(object): | 28 class LighttpdServer(object): |
| 30 """Wraps lighttpd server, providing robust startup. | 29 """Wraps lighttpd server, providing robust startup. |
| 31 | 30 |
| 32 Args: | 31 Args: |
| 33 document_root: Path to root of this server's hosted files. | 32 document_root: Path to root of this server's hosted files. |
| 34 port: TCP port on the _host_ machine that the server will listen on. If | 33 port: TCP port on the _host_ machine that the server will listen on. If |
| 35 ommitted it will attempt to use 9000, or if unavailable it will find | 34 ommitted it will attempt to use 9000, or if unavailable it will find |
| 36 a free port from 8001 - 8999. | 35 a free port from 8001 - 8999. |
| 37 lighttpd_path, lighttpd_module_path: Optional paths to lighttpd binaries. | 36 lighttpd_path, lighttpd_module_path: Optional paths to lighttpd binaries. |
| (...skipping 207 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 245 raw_input('Server running at http://127.0.0.1:%s -' | 244 raw_input('Server running at http://127.0.0.1:%s -' |
| 246 ' press Enter to exit it.' % server.port) | 245 ' press Enter to exit it.' % server.port) |
| 247 else: | 246 else: |
| 248 print 'Server exit code:', server.process.exitstatus | 247 print 'Server exit code:', server.process.exitstatus |
| 249 finally: | 248 finally: |
| 250 server.ShutdownHttpServer() | 249 server.ShutdownHttpServer() |
| 251 | 250 |
| 252 | 251 |
| 253 if __name__ == '__main__': | 252 if __name__ == '__main__': |
| 254 sys.exit(main(sys.argv)) | 253 sys.exit(main(sys.argv)) |
| OLD | NEW |