| 52 | |
| 53 | |
| 54 | def parse_disabled_manifest(manifest_content): |
| 55 | comments_re = re.compile('#.*$') |
| 56 | disabled_tests = [] |
| 57 | disabled_method_types = [] |
| 58 | for l in manifest_content.splitlines(): |
| 59 | stripped = comments_re.sub('', l).strip() |
| 60 | if not stripped: |
| 61 | continue |
| 62 | entry = stripped.split(' ') |
| 63 | if len(entry) == 1: |
| 64 | disabled_tests.append(entry[0]) |
| 65 | elif len(entry) == 2: |
| 66 | disabled_method_types.append((entry[0], entry[1].strip().split(','))) |
| 67 | else: |
| 68 | raise ValueError('Bad entry in manifest file.') |
| 69 | |
| 70 | disabled_regex = '|'.join(disabled_tests) |
| 71 | method_types_filter = {} |
| 72 | for method, types in disabled_method_types: |
| 73 | method_types_filter[method] = set([ |
| 74 | dtypes.as_dtype(types_pb2.DataType.Value(name)).as_numpy_dtype |
| 75 | for name in types |
| 76 | ]) |
| 77 | return disabled_regex, method_types_filter |
| 78 | |
| 79 | |
| 80 | class XLATestCase(test.TestCase): |