diff options
author | Daniel Dunbar <daniel@zuster.org> | 2013-01-31 01:23:39 +0000 |
---|---|---|
committer | Daniel Dunbar <daniel@zuster.org> | 2013-01-31 01:23:39 +0000 |
commit | 47896090f30fe9f37a776b46e285b1d6d8b1ad9b (patch) | |
tree | 1fd5c03bb9a0f441cfe47a050767873024345818 /utils | |
parent | c9fd0a57f7ab21e8d48474f862faf896cd196941 (diff) | |
download | external_llvm-47896090f30fe9f37a776b46e285b1d6d8b1ad9b.zip external_llvm-47896090f30fe9f37a776b46e285b1d6d8b1ad9b.tar.gz external_llvm-47896090f30fe9f37a776b46e285b1d6d8b1ad9b.tar.bz2 |
[lit] Move unittest adaptor code into discovery module.
- Also, add a test for it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174019 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'utils')
-rw-r--r-- | utils/lit/lit/discovery.py | 26 | ||||
-rwxr-xr-x | utils/lit/lit/main.py | 22 | ||||
-rw-r--r-- | utils/lit/tests/Inputs/unittest-adaptor/lit.cfg | 5 | ||||
-rw-r--r-- | utils/lit/tests/Inputs/unittest-adaptor/test-one.txt | 1 | ||||
-rw-r--r-- | utils/lit/tests/Inputs/unittest-adaptor/test-two.txt | 1 | ||||
-rw-r--r-- | utils/lit/tests/unittest-adaptor.py | 18 |
6 files changed, 50 insertions, 23 deletions
diff --git a/utils/lit/lit/discovery.py b/utils/lit/lit/discovery.py index 830c5de..c869a67 100644 --- a/utils/lit/lit/discovery.py +++ b/utils/lit/lit/discovery.py @@ -6,7 +6,7 @@ import os import sys from lit.TestingConfig import TestingConfig -from lit import Test +from lit import LitConfig, Test def dirContainsTestSuite(path, lit_config): cfgpath = os.path.join(path, lit_config.site_config_name) @@ -208,3 +208,27 @@ def find_tests_for_inputs(lit_config, inputs): sys.exit(2) return tests + +def load_test_suite(inputs): + import platform + import unittest + from lit.LitTestCase import LitTestCase + + # Create the global config object. + litConfig = LitConfig.LitConfig(progname = 'lit', + path = [], + quiet = False, + useValgrind = False, + valgrindLeakCheck = False, + valgrindArgs = [], + noExecute = False, + ignoreStdErr = False, + debug = False, + isWindows = (platform.system()=='Windows'), + params = {}) + + tests = find_tests_for_inputs(litConfig, inputs) + + # Return a unittest test suite which just runs the tests in order. + return unittest.TestSuite([LitTestCase(test, litConfig) for test in tests]) + diff --git a/utils/lit/lit/main.py b/utils/lit/lit/main.py index 5a3b11c..da961ee 100755 --- a/utils/lit/lit/main.py +++ b/utils/lit/lit/main.py @@ -148,28 +148,6 @@ def runTests(numThreads, litConfig, provider, display): except KeyboardInterrupt: sys.exit(2) -def load_test_suite(inputs): - import unittest - - # Create the global config object. - litConfig = LitConfig.LitConfig(progname = 'lit', - path = [], - quiet = False, - useValgrind = False, - valgrindLeakCheck = False, - valgrindArgs = [], - noExecute = False, - ignoreStdErr = False, - debug = False, - isWindows = (platform.system()=='Windows'), - params = {}) - - tests = lit.discovery.find_tests_for_inputs(litConfig, inputs) - - # Return a unittest test suite which just runs the tests in order. - from LitTestCase import LitTestCase - return unittest.TestSuite([LitTestCase(test, litConfig) for test in tests]) - def main(builtinParameters = {}): # Bump the GIL check interval, its more important to get any one thread to a # blocking operation (hopefully exec) than to try and unblock other threads. diff --git a/utils/lit/tests/Inputs/unittest-adaptor/lit.cfg b/utils/lit/tests/Inputs/unittest-adaptor/lit.cfg new file mode 100644 index 0000000..52de709 --- /dev/null +++ b/utils/lit/tests/Inputs/unittest-adaptor/lit.cfg @@ -0,0 +1,5 @@ +config.name = 'unittest-adaptor' +config.suffixes = ['.txt'] +config.test_format = lit.formats.ShTest() +config.test_source_root = None +config.test_exec_root = None diff --git a/utils/lit/tests/Inputs/unittest-adaptor/test-one.txt b/utils/lit/tests/Inputs/unittest-adaptor/test-one.txt new file mode 100644 index 0000000..b80b60b --- /dev/null +++ b/utils/lit/tests/Inputs/unittest-adaptor/test-one.txt @@ -0,0 +1 @@ +# RUN: true diff --git a/utils/lit/tests/Inputs/unittest-adaptor/test-two.txt b/utils/lit/tests/Inputs/unittest-adaptor/test-two.txt new file mode 100644 index 0000000..49932c3 --- /dev/null +++ b/utils/lit/tests/Inputs/unittest-adaptor/test-two.txt @@ -0,0 +1 @@ +# RUN: false diff --git a/utils/lit/tests/unittest-adaptor.py b/utils/lit/tests/unittest-adaptor.py new file mode 100644 index 0000000..243dd41 --- /dev/null +++ b/utils/lit/tests/unittest-adaptor.py @@ -0,0 +1,18 @@ +# Check the lit adaption to run under unittest. +# +# RUN: python %s %{inputs}/unittest-adaptor 2> %t.err +# RUN: FileCheck < %t.err %s +# +# CHECK: unittest-adaptor :: test-one.txt ... ok +# CHECK: unittest-adaptor :: test-two.txt ... FAIL + +import unittest +import sys + +import lit +import lit.discovery + +input_path = sys.argv[1] +unittest_suite = lit.discovery.load_test_suite([input_path]) +runner = unittest.TextTestRunner(verbosity=2) +runner.run(unittest_suite) |