summaryrefslogtreecommitdiffstats
path: root/third_party/python/gyp/test/small/gyptest-small.py
blob: e6cb25f3a720522f54b9fc935065c73a28be149c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
#!/usr/bin/env python

# Copyright (c) 2012 Google Inc. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

"""
Runs small tests.
"""

import imp
import os
import platform
import sys
import unittest

import TestGyp


test = TestGyp.TestGyp()

# Add pylib to the import path (so tests can import their dependencies).
# This is consistant with the path.append done in the top file "gyp".
sys.path.insert(0, os.path.join(test._cwd, 'pylib'))

# Add new test suites here.
files_to_test = [
    'pylib/gyp/MSVSSettings_test.py',
    'pylib/gyp/easy_xml_test.py',
    'pylib/gyp/generator/msvs_test.py',
    'pylib/gyp/generator/ninja_test.py',
    'pylib/gyp/generator/xcode_test.py',
    'pylib/gyp/common_test.py',
    'pylib/gyp/input_test.py',
]

# Collect all the suites from the above files.
suites = []
for filename in files_to_test:
  # Carve the module name out of the path.
  name = os.path.splitext(os.path.split(filename)[1])[0]
  # Find the complete module path.
  full_filename = os.path.join(test._cwd, filename)
  # Load the module.
  module = imp.load_source(name, full_filename)
  # Add it to the list of test suites.
  suites.append(unittest.defaultTestLoader.loadTestsFromModule(module))
# Create combined suite.
all_tests = unittest.TestSuite(suites)

# Run all the tests.
result = unittest.TextTestRunner(verbosity=2).run(all_tests)
if result.failures or result.errors:
  test.fail_test()

test.pass_test()