OLD | NEW |
1 #!/usr/bin/env python | 1 #!/usr/bin/env python |
2 | 2 |
3 # Copyright (c) 2011 Google Inc. All rights reserved. | 3 # Copyright (c) 2011 Google Inc. All rights reserved. |
4 # Use of this source code is governed by a BSD-style license that can be | 4 # Use of this source code is governed by a BSD-style license that can be |
5 # found in the LICENSE file. | 5 # found in the LICENSE file. |
6 | 6 |
7 """ | 7 """ |
8 Runs small tests. | 8 Runs small tests. |
9 """ | 9 """ |
10 | 10 |
11 import imp | 11 import imp |
12 import os | 12 import os |
13 import sys | 13 import sys |
14 import unittest | 14 import unittest |
15 | 15 |
16 import TestGyp | 16 import TestGyp |
17 | 17 |
18 | 18 |
19 test = TestGyp.TestGyp() | 19 test = TestGyp.TestGyp() |
20 | 20 |
21 # Add pylib to the import path (so tests can import their dependencies). | 21 # Add pylib to the import path (so tests can import their dependencies). |
22 # This is consistant with the path.append done in the top file "gyp". | 22 # This is consistant with the path.append done in the top file "gyp". |
23 sys.path.append(os.path.join(test._cwd, 'pylib')) | 23 sys.path.append(os.path.join(test._cwd, 'pylib')) |
24 | 24 |
25 # Add new test suites here. | 25 # Add new test suites here. |
26 files_to_test = [ | 26 files_to_test = [ |
27 'pylib/gyp/MSVSSettings_test.py', | 27 'pylib/gyp/MSVSSettings_test.py', |
28 'pylib/gyp/easy_xml_test.py', | 28 'pylib/gyp/easy_xml_test.py', |
29 'pylib/gyp/generator/msvs_test.py', | 29 'pylib/gyp/generator/msvs_test.py', |
| 30 'pylib/gyp/generator/ninja_test.py', |
30 ] | 31 ] |
31 | 32 |
32 # Collect all the suites from the above files. | 33 # Collect all the suites from the above files. |
33 suites = [] | 34 suites = [] |
34 for filename in files_to_test: | 35 for filename in files_to_test: |
35 # Carve the module name out of the path. | 36 # Carve the module name out of the path. |
36 name = os.path.splitext(os.path.split(filename)[1])[0] | 37 name = os.path.splitext(os.path.split(filename)[1])[0] |
37 # Find the complete module path. | 38 # Find the complete module path. |
38 full_filename = os.path.join(test._cwd, filename) | 39 full_filename = os.path.join(test._cwd, filename) |
39 # Load the module. | 40 # Load the module. |
40 module = imp.load_source(name, full_filename) | 41 module = imp.load_source(name, full_filename) |
41 # Add it to the list of test suites. | 42 # Add it to the list of test suites. |
42 suites.append(unittest.defaultTestLoader.loadTestsFromModule(module)) | 43 suites.append(unittest.defaultTestLoader.loadTestsFromModule(module)) |
43 # Create combined suite. | 44 # Create combined suite. |
44 all_tests = unittest.TestSuite(suites) | 45 all_tests = unittest.TestSuite(suites) |
45 | 46 |
46 # Run all the tests. | 47 # Run all the tests. |
47 result = unittest.TextTestRunner(verbosity=2).run(all_tests) | 48 result = unittest.TextTestRunner(verbosity=2).run(all_tests) |
48 if result.failures or result.errors: | 49 if result.failures or result.errors: |
49 test.fail_test() | 50 test.fail_test() |
50 | 51 |
51 test.pass_test() | 52 test.pass_test() |
OLD | NEW |