OLD | NEW |
1 #!/bin/env python | 1 #!/bin/env python |
2 # Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. | 2 # Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. |
3 # Use of this source code is governed by a BSD-style license that can be | 3 # Use of this source code is governed by a BSD-style license that can be |
4 # found in the LICENSE file. | 4 # found in the LICENSE file. |
5 | 5 |
6 # common.py | 6 # common.py |
7 | 7 |
8 """ Common code used by purify_test.py and quantify_test.py in order to automate | 8 """ Common code used by purify_test.py and quantify_test.py in order to automate |
9 running of Rational Purify and Quantify in a consistent manner. | 9 running of Rational Purify and Quantify in a consistent manner. |
10 """ | 10 """ |
(...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
121 subprocess.call(["taskkill", "/T", "/F", "/PID", str(p.pid)]) | 121 subprocess.call(["taskkill", "/T", "/F", "/PID", str(p.pid)]) |
122 logging.error("KILLED %d" % p.pid) | 122 logging.error("KILLED %d" % p.pid) |
123 # Give the process a chance to actually die before continuing | 123 # Give the process a chance to actually die before continuing |
124 # so that cleanup can happen safely. | 124 # so that cleanup can happen safely. |
125 time.sleep(1.0) | 125 time.sleep(1.0) |
126 logging.error("TIMEOUT waiting for %s" % proc[0]) | 126 logging.error("TIMEOUT waiting for %s" % proc[0]) |
127 raise TimeoutError(proc[0]) | 127 raise TimeoutError(proc[0]) |
128 elif not detach: | 128 elif not detach: |
129 for line in p.stdout.readlines(): | 129 for line in p.stdout.readlines(): |
130 _print_line(line, False) | 130 _print_line(line, False) |
131 logging.info("flushing stdout") | 131 if sys.platform != 'darwin': # stdout flush fails on Mac |
132 p.stdout.flush() | 132 logging.info("flushing stdout") |
| 133 p.stdout.flush() |
133 | 134 |
134 logging.info("collecting result code") | 135 logging.info("collecting result code") |
135 result = p.poll() | 136 result = p.poll() |
136 if result: | 137 if result: |
137 logging.error("%s exited with non-zero result code %d" % (proc[0], result)) | 138 logging.error("%s exited with non-zero result code %d" % (proc[0], result)) |
138 return result | 139 return result |
139 | 140 |
140 | 141 |
141 def FixPath(path): | 142 def FixPath(path): |
142 """We pass computed paths to Rational as arguments, so these paths must be | 143 """We pass computed paths to Rational as arguments, so these paths must be |
(...skipping 181 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
324 logging.info("clearing instrumentation cache %s" % self._cache_dir) | 325 logging.info("clearing instrumentation cache %s" % self._cache_dir) |
325 if os.path.isdir(self._cache_dir): | 326 if os.path.isdir(self._cache_dir): |
326 for cfile in os.listdir(self._cache_dir): | 327 for cfile in os.listdir(self._cache_dir): |
327 file = os.path.join(self._cache_dir, cfile); | 328 file = os.path.join(self._cache_dir, cfile); |
328 if os.path.isfile(file): | 329 if os.path.isfile(file): |
329 try: | 330 try: |
330 os.remove(file) | 331 os.remove(file) |
331 except: | 332 except: |
332 logging.warning("unable to delete file %s: %s" % (file, | 333 logging.warning("unable to delete file %s: %s" % (file, |
333 sys.exc_info()[0])) | 334 sys.exc_info()[0])) |
334 | |
335 | |
336 | |
OLD | NEW |