summaryrefslogtreecommitdiffstats
path: root/llvm/utils/lit/Test.py
diff options
context:
space:
mode:
authorDaniel Dunbar <daniel@zuster.org>2009-09-08 05:31:18 +0000
committerDaniel Dunbar <daniel@zuster.org>2009-09-08 05:31:18 +0000
commita213a427aa19260bb8145ea59f485ea01653c0bb (patch)
tree723a0ecb29b8da189bd16362f99bdadf3809a8f0 /llvm/utils/lit/Test.py
parentba7cdde020fc6e83d982d6f1743bcd1adf1a0f00 (diff)
downloadbcm5719-llvm-a213a427aa19260bb8145ea59f485ea01653c0bb.tar.gz
bcm5719-llvm-a213a427aa19260bb8145ea59f485ea01653c0bb.zip
Add 'lit' testing tool.
- make install && man $(llvm-config --prefix)/share/man/man1/lit.1 for more information. llvm-svn: 81190
Diffstat (limited to 'llvm/utils/lit/Test.py')
-rw-r--r--llvm/utils/lit/Test.py71
1 files changed, 71 insertions, 0 deletions
diff --git a/llvm/utils/lit/Test.py b/llvm/utils/lit/Test.py
new file mode 100644
index 00000000000..d3f627456f8
--- /dev/null
+++ b/llvm/utils/lit/Test.py
@@ -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)
OpenPOWER on IntegriCloud