OLD | NEW |
(Empty) | |
| 1 import os |
| 2 try: |
| 3 import ConfigParser |
| 4 except ImportError: |
| 5 import configparser as ConfigParser |
| 6 |
| 7 import lit.formats |
| 8 import lit.Test |
| 9 |
| 10 class DummyFormat(lit.formats.FileBasedTest): |
| 11 def execute(self, test, lit_config): |
| 12 # In this dummy format, expect that each test file is actually just a |
| 13 # .ini format dump of the results to report. |
| 14 |
| 15 source_path = test.getSourcePath() |
| 16 |
| 17 cfg = ConfigParser.ConfigParser() |
| 18 cfg.read(source_path) |
| 19 |
| 20 # Create the basic test result. |
| 21 result_code = cfg.get('global', 'result_code') |
| 22 result_output = cfg.get('global', 'result_output') |
| 23 result = lit.Test.Result(getattr(lit.Test, result_code), |
| 24 result_output) |
| 25 |
| 26 # Load additional metrics. |
| 27 for key,value_str in cfg.items('results'): |
| 28 value = eval(value_str) |
| 29 if isinstance(value, int): |
| 30 metric = lit.Test.IntMetricValue(value) |
| 31 elif isinstance(value, float): |
| 32 metric = lit.Test.RealMetricValue(value) |
| 33 else: |
| 34 raise RuntimeError("unsupported result type") |
| 35 result.addMetric(key, metric) |
| 36 |
| 37 return result |
| 38 |
| 39 config.name = 'test-data' |
| 40 config.suffixes = ['.ini'] |
| 41 config.test_format = DummyFormat() |
| 42 config.test_source_root = None |
| 43 config.test_exec_root = None |
| 44 config.target_triple = None |
OLD | NEW |