Chromium Code Reviews| OLD | NEW |
|---|---|
| (Empty) | |
| 1 #!/usr/bin/python | |
| 2 | |
| 3 # Copyright 2016 The Chromium Authors. All rights reserved. | |
| 4 # Use of this source code is governed by a BSD-style license that can be | |
| 5 # found in the LICENSE file. | |
| 6 """Test that the set of gen-* files is the same as the generated files.""" | |
| 7 | |
| 8 import fnmatch | |
| 9 import os | |
| 10 import sys | |
| 11 import generate | |
| 12 | |
| 13 UPDATE_TIP = ('To update the generated tests, run:\n$ python ' | |
|
Jeffrey Yasskin
2016/10/19 01:39:24
Stylistically, put the break in the string just af
ortuno
2016/10/19 04:34:04
Done.
| |
| 14 'third_party/WebKit/LayoutTests/bluetooth/generate.py') | |
| 15 | |
| 16 | |
| 17 def main(): | |
| 18 generated_files = set() | |
| 19 # Tests data in gen-* files is the same as the data generated. | |
| 20 for generated_test in generate.GetGeneratedTests(): | |
| 21 generated_files.add(generated_test.path) | |
| 22 try: | |
| 23 with open(generated_test.path) as f: | |
| 24 data = f.read().decode('utf-8') | |
| 25 if data != generated_test.data: | |
| 26 print generated_test.path + ' does not match template.' | |
| 27 print UPDATE_TIP | |
| 28 return -1 | |
| 29 except IOError, e: | |
| 30 if e.errno == 2: | |
| 31 print 'Missing generated test:\n{}\nFor template:\n{}'.format( | |
| 32 generated_test.path, generated_test.template) | |
| 33 print UPDATE_TIP | |
| 34 return -1 | |
| 35 | |
| 36 # Tests that there are no obsolete generated files. | |
| 37 previous_generated_files = set() | |
| 38 current_path = os.path.dirname(os.path.realpath(__file__)) | |
| 39 for root, _, filenames in os.walk(current_path): | |
| 40 for filename in fnmatch.filter(filenames, 'gen-*.html'): | |
| 41 previous_generated_files.add(os.path.join(root, filename)) | |
| 42 | |
| 43 if previous_generated_files != generated_files: | |
| 44 print 'There are extra generated tests. Please remove them.' | |
| 45 for test_path in previous_generated_files - generated_files: | |
| 46 print test_path | |
| 47 return -1 | |
| 48 | |
| 49 | |
| 50 if __name__ == '__main__': | |
| 51 sys.exit(main()) | |
| OLD | NEW |