OLD | NEW |
1 #!/usr/bin/env python | 1 #!/usr/bin/env python |
2 # | 2 # |
3 # Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 3 # Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
4 # for details. All rights reserved. Use of this source code is governed by a | 4 # for details. All rights reserved. Use of this source code is governed by a |
5 # BSD-style license that can be found in the LICENSE file. | 5 # BSD-style license that can be found in the LICENSE file. |
6 # | 6 # |
7 | 7 |
8 import optparse | 8 import optparse |
9 import os | 9 import os |
10 import re | 10 import re |
(...skipping 250 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
261 section = None | 261 section = None |
262 chunk = [] | 262 chunk = [] |
263 # Is stdout a terminal which supports colors? | 263 # Is stdout a terminal which supports colors? |
264 is_fancy_tty = False | 264 is_fancy_tty = False |
265 clr_eol = None | 265 clr_eol = None |
266 if sys.stdout.isatty(): | 266 if sys.stdout.isatty(): |
267 term = os.getenv('TERM', 'dumb') | 267 term = os.getenv('TERM', 'dumb') |
268 # The capability "clr_eol" means clear the line from cursor to end | 268 # The capability "clr_eol" means clear the line from cursor to end |
269 # of line. See man pages for tput and terminfo. | 269 # of line. See man pages for tput and terminfo. |
270 try: | 270 try: |
271 clr_eol = subprocess.check_output(['tput', '-T' + term, 'el'], | 271 with open('/dev/null', 'a') as dev_null: |
272 stderr=subprocess.STDOUT) | 272 clr_eol = subprocess.check_output(['tput', '-T' + term, 'el'], |
| 273 stderr=dev_null) |
273 if clr_eol: | 274 if clr_eol: |
274 is_fancy_tty = True | 275 is_fancy_tty = True |
275 except subprocess.CalledProcessError: | 276 except subprocess.CalledProcessError: |
276 is_fancy_tty = False | 277 is_fancy_tty = False |
277 pattern = re.compile(r'=== BUILD .* TARGET (.*) OF PROJECT (.*) WITH ' + | 278 pattern = re.compile(r'=== BUILD .* TARGET (.*) OF PROJECT (.*) WITH ' + |
278 r'CONFIGURATION (.*) ===') | 279 r'CONFIGURATION (.*) ===') |
279 has_interesting_info = False | 280 has_interesting_info = False |
280 for line in unbuffered(process.stdout.readline): | 281 for line in unbuffered(process.stdout.readline): |
281 line = line.rstrip() | 282 line = line.rstrip() |
282 if line.startswith('=== BUILD ') or line.startswith('** BUILD '): | 283 if line.startswith('=== BUILD ') or line.startswith('** BUILD '): |
(...skipping 141 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
424 process.wait() | 425 process.wait() |
425 if process.returncode != 0: | 426 if process.returncode != 0: |
426 print "BUILD FAILED" | 427 print "BUILD FAILED" |
427 return 1 | 428 return 1 |
428 | 429 |
429 return 0 | 430 return 0 |
430 | 431 |
431 | 432 |
432 if __name__ == '__main__': | 433 if __name__ == '__main__': |
433 sys.exit(Main()) | 434 sys.exit(Main()) |
OLD | NEW |