OLD | NEW |
1 #!/usr/bin/env python | 1 #!/usr/bin/env python |
2 # | 2 # |
3 # Copyright 2012 the V8 project authors. All rights reserved. | 3 # Copyright 2012 the V8 project authors. All rights reserved. |
4 # Redistribution and use in source and binary forms, with or without | 4 # Redistribution and use in source and binary forms, with or without |
5 # modification, are permitted provided that the following conditions are | 5 # modification, are permitted provided that the following conditions are |
6 # met: | 6 # met: |
7 # | 7 # |
8 # * Redistributions of source code must retain the above copyright | 8 # * Redistributions of source code must retain the above copyright |
9 # notice, this list of conditions and the following disclaimer. | 9 # notice, this list of conditions and the following disclaimer. |
10 # * Redistributions in binary form must reproduce the above | 10 # * Redistributions in binary form must reproduce the above |
(...skipping 378 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
389 handle = open(file) | 389 handle = open(file) |
390 contents = handle.read() | 390 contents = handle.read() |
391 if not self.ProcessContents(file, contents): | 391 if not self.ProcessContents(file, contents): |
392 success = False | 392 success = False |
393 violations += 1 | 393 violations += 1 |
394 finally: | 394 finally: |
395 handle.close() | 395 handle.close() |
396 print "Total violating files: %s" % violations | 396 print "Total violating files: %s" % violations |
397 return success | 397 return success |
398 | 398 |
399 | |
400 def CheckExternalReferenceRegistration(workspace): | |
401 code = subprocess.call( | |
402 [sys.executable, join(workspace, "tools", "external-reference-check.py")]) | |
403 return code == 0 | |
404 | |
405 | |
406 def _CheckStatusFileForDuplicateKeys(filepath): | 399 def _CheckStatusFileForDuplicateKeys(filepath): |
407 comma_space_bracket = re.compile(", *]") | 400 comma_space_bracket = re.compile(", *]") |
408 lines = [] | 401 lines = [] |
409 with open(filepath) as f: | 402 with open(filepath) as f: |
410 for line in f.readlines(): | 403 for line in f.readlines(): |
411 # Skip all-comment lines. | 404 # Skip all-comment lines. |
412 if line.lstrip().startswith("#"): continue | 405 if line.lstrip().startswith("#"): continue |
413 # Strip away comments at the end of the line. | 406 # Strip away comments at the end of the line. |
414 comment_start = line.find("#") | 407 comment_start = line.find("#") |
415 if comment_start != -1: | 408 if comment_start != -1: |
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
496 workspace = abspath(join(dirname(sys.argv[0]), '..')) | 489 workspace = abspath(join(dirname(sys.argv[0]), '..')) |
497 parser = GetOptions() | 490 parser = GetOptions() |
498 (options, args) = parser.parse_args() | 491 (options, args) = parser.parse_args() |
499 success = True | 492 success = True |
500 print "Running C++ lint check..." | 493 print "Running C++ lint check..." |
501 if not options.no_lint: | 494 if not options.no_lint: |
502 success &= CppLintProcessor().Run(workspace) | 495 success &= CppLintProcessor().Run(workspace) |
503 print "Running copyright header, trailing whitespaces and " \ | 496 print "Running copyright header, trailing whitespaces and " \ |
504 "two empty lines between declarations check..." | 497 "two empty lines between declarations check..." |
505 success &= SourceProcessor().Run(workspace) | 498 success &= SourceProcessor().Run(workspace) |
506 success &= CheckExternalReferenceRegistration(workspace) | |
507 success &= CheckStatusFiles(workspace) | 499 success &= CheckStatusFiles(workspace) |
508 if success: | 500 if success: |
509 return 0 | 501 return 0 |
510 else: | 502 else: |
511 return 1 | 503 return 1 |
512 | 504 |
513 | 505 |
514 if __name__ == '__main__': | 506 if __name__ == '__main__': |
515 sys.exit(Main()) | 507 sys.exit(Main()) |
OLD | NEW |