mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-12-20 18:48:13 +00:00
[lit] Move unittest adaptor code into discovery module.
- Also, add a test for it. llvm-svn: 174019
This commit is contained in:
parent
29c19beaa9
commit
6acef346f3
@ -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])
|
||||
|
||||
|
@ -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.
|
||||
|
5
utils/lit/tests/Inputs/unittest-adaptor/lit.cfg
Normal file
5
utils/lit/tests/Inputs/unittest-adaptor/lit.cfg
Normal file
@ -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
|
1
utils/lit/tests/Inputs/unittest-adaptor/test-one.txt
Normal file
1
utils/lit/tests/Inputs/unittest-adaptor/test-one.txt
Normal file
@ -0,0 +1 @@
|
||||
# RUN: true
|
1
utils/lit/tests/Inputs/unittest-adaptor/test-two.txt
Normal file
1
utils/lit/tests/Inputs/unittest-adaptor/test-two.txt
Normal file
@ -0,0 +1 @@
|
||||
# RUN: false
|
18
utils/lit/tests/unittest-adaptor.py
Normal file
18
utils/lit/tests/unittest-adaptor.py
Normal file
@ -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)
|
Loading…
Reference in New Issue
Block a user