mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-09-30 22:18:46 +00:00
Add 'lit' testing tool.
- make install && man $(llvm-config --prefix)/share/man/man1/lit.1 for more information. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81190 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
71
utils/lit/Test.py
Normal file
71
utils/lit/Test.py
Normal file
@@ -0,0 +1,71 @@
|
||||
import os
|
||||
|
||||
# Test results.
|
||||
|
||||
class TestResult:
|
||||
def __init__(self, name, isFailure):
|
||||
self.name = name
|
||||
self.isFailure = isFailure
|
||||
|
||||
PASS = TestResult('PASS', False)
|
||||
XFAIL = TestResult('XFAIL', False)
|
||||
FAIL = TestResult('FAIL', True)
|
||||
XPASS = TestResult('XPASS', True)
|
||||
UNRESOLVED = TestResult('UNRESOLVED', True)
|
||||
UNSUPPORTED = TestResult('UNSUPPORTED', False)
|
||||
|
||||
# Test classes.
|
||||
|
||||
class TestFormat:
|
||||
"""TestFormat - Test information provider."""
|
||||
|
||||
def __init__(self, name):
|
||||
self.name = name
|
||||
|
||||
class TestSuite:
|
||||
"""TestSuite - Information on a group of tests.
|
||||
|
||||
A test suite groups together a set of logically related tests.
|
||||
"""
|
||||
|
||||
def __init__(self, name, source_root, exec_root, config):
|
||||
self.name = name
|
||||
self.source_root = source_root
|
||||
self.exec_root = exec_root
|
||||
# The test suite configuration.
|
||||
self.config = config
|
||||
|
||||
def getSourcePath(self, components):
|
||||
return os.path.join(self.source_root, *components)
|
||||
|
||||
def getExecPath(self, components):
|
||||
return os.path.join(self.exec_root, *components)
|
||||
|
||||
class Test:
|
||||
"""Test - Information on a single test instance."""
|
||||
|
||||
def __init__(self, suite, path_in_suite, config):
|
||||
self.suite = suite
|
||||
self.path_in_suite = path_in_suite
|
||||
self.config = config
|
||||
# The test result code, once complete.
|
||||
self.result = None
|
||||
# Any additional output from the test, once complete.
|
||||
self.output = None
|
||||
# The wall time to execute this test, if timing and once complete.
|
||||
self.elapsed = None
|
||||
|
||||
def setResult(self, result, output, elapsed):
|
||||
assert self.result is None, "Test result already set!"
|
||||
self.result = result
|
||||
self.output = output
|
||||
self.elapsed = elapsed
|
||||
|
||||
def getFullName(self):
|
||||
return self.suite.config.name + '::' + '/'.join(self.path_in_suite)
|
||||
|
||||
def getSourcePath(self):
|
||||
return self.suite.getSourcePath(self.path_in_suite)
|
||||
|
||||
def getExecPath(self):
|
||||
return self.suite.getExecPath(self.path_in_suite)
|
Reference in New Issue
Block a user