| OLD | NEW |
| 1 # Copyright (C) 2012 Google Inc. All rights reserved. | 1 # Copyright (C) 2012 Google Inc. All rights reserved. |
| 2 # | 2 # |
| 3 # Redistribution and use in source and binary forms, with or without | 3 # Redistribution and use in source and binary forms, with or without |
| 4 # modification, are permitted provided that the following conditions are | 4 # modification, are permitted provided that the following conditions are |
| 5 # met: | 5 # met: |
| 6 # | 6 # |
| 7 # * Redistributions of source code must retain the above copyright | 7 # * Redistributions of source code must retain the above copyright |
| 8 # notice, this list of conditions and the following disclaimer. | 8 # notice, this list of conditions and the following disclaimer. |
| 9 # * Redistributions in binary form must reproduce the above | 9 # * Redistributions in binary form must reproduce the above |
| 10 # copyright notice, this list of conditions and the following disclaimer | 10 # copyright notice, this list of conditions and the following disclaimer |
| (...skipping 11 matching lines...) Expand all Loading... |
| 22 # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT | 22 # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
| 23 # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | 23 # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
| 24 # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | 24 # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
| 25 # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | 25 # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
| 26 # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | 26 # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
| 27 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 27 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
| 28 | 28 |
| 29 import logging | 29 import logging |
| 30 import os | 30 import os |
| 31 import re | 31 import re |
| 32 import signal | |
| 33 import sys | 32 import sys |
| 34 import subprocess | |
| 35 import threading | 33 import threading |
| 36 import time | 34 import time |
| 37 | 35 |
| 38 from multiprocessing.pool import ThreadPool | 36 from multiprocessing.pool import ThreadPool |
| 39 | 37 |
| 40 from webkitpy.common.system.executive import ScriptError | 38 from webkitpy.common.system.executive import ScriptError |
| 41 from webkitpy.layout_tests.breakpad.dump_reader_multipart import DumpReaderAndro
id | 39 from webkitpy.layout_tests.breakpad.dump_reader_multipart import DumpReaderAndro
id |
| 42 from webkitpy.layout_tests.models import test_run_results | 40 from webkitpy.layout_tests.models import test_run_results |
| 43 from webkitpy.layout_tests.port import base | 41 from webkitpy.layout_tests.port import base |
| 44 from webkitpy.layout_tests.port import linux | 42 from webkitpy.layout_tests.port import linux |
| (...skipping 1069 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1114 return command | 1112 return command |
| 1115 | 1113 |
| 1116 def _read_prompt(self, deadline): | 1114 def _read_prompt(self, deadline): |
| 1117 last_char = '' | 1115 last_char = '' |
| 1118 while True: | 1116 while True: |
| 1119 current_char = self._server_process.read_stdout(deadline, 1) | 1117 current_char = self._server_process.read_stdout(deadline, 1) |
| 1120 if current_char == ' ': | 1118 if current_char == ' ': |
| 1121 if last_char in ('#', '$'): | 1119 if last_char in ('#', '$'): |
| 1122 return | 1120 return |
| 1123 last_char = current_char | 1121 last_char = current_char |
| OLD | NEW |