| 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) 2012 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 |