Index: src/trusted/validator_x86/testscripts/test_format.py |
diff --git a/src/trusted/validator_x86/testscripts/test_format.py b/src/trusted/validator_x86/testscripts/test_format.py |
deleted file mode 100644 |
index 527dbcbfc6544d71362c8b6b9e7d7ee4dce4177b..0000000000000000000000000000000000000000 |
--- a/src/trusted/validator_x86/testscripts/test_format.py |
+++ /dev/null |
@@ -1,109 +0,0 @@ |
-# Copyright (c) 2012 The Native Client Authors. All rights reserved. |
-# Use of this source code is governed by a BSD-style license that can be |
-# found in the LICENSE file. |
- |
-import re |
- |
- |
-def ParseTest(lines): |
- r"""Parses section-based test. |
- |
- Args: |
- lines: list of \n-terminated strings. |
- |
- Returns: |
- List of string pairs (field name, field content) in order. Field content is |
- concatenation of \n-terminated lines, so it's either empty or ends with \n. |
- """ |
- fields = [] |
- field_data = {} |
- current_field = None |
- |
- for line in lines: |
- if line.startswith(' '): |
- assert current_field is not None, line |
- field_data[current_field].append(line[2:]) |
- else: |
- match = re.match('@(\S+):$', line) |
- if match is None: |
- raise Exception('Bad line: %r' % line) |
- current_field = match.group(1) |
- assert current_field not in field_data, current_field |
- field_data[current_field] = [] |
- fields.append(current_field) |
- |
- return [(field, ''.join(field_data[field])) for field in fields] |
- |
- |
-def SplitLines(lines, separator_regex): |
- """Split sequence of lines into sequence of list of lines. |
- |
- Args: |
- lines: sequence of strings. |
- separator_regex: separator regex. |
- |
- Yields: |
- Nonempty sequence of (possibly empty) lists of strings. Separator lines |
- are not included. |
- """ |
- part = [] |
- for line in lines: |
- if re.match(separator_regex, line): |
- yield part |
- part = [] |
- else: |
- part.append(line) |
- yield part |
- |
- |
-def LoadTestFile(filename): |
- r"""Loads and parses .test file. |
- |
- Args: |
- filename: filename. |
- |
- Returns: |
- List of tests (see ParseTest). |
- """ |
- with open(filename) as file_in: |
- return map(ParseTest, SplitLines(file_in, r'-{3,}\s*$')) |
- |
- |
-def UnparseTest(items_list): |
- """Convert test to sequence of \n-terminated strings |
- |
- Args: |
- items_list: list of string pairs (see ParseTest). |
- |
- Yields: |
- Sequence of \n-terminated strings. |
- """ |
- for field, content in items_list: |
- yield '@%s:\n' % field |
- if content == '': |
- continue |
- |
- assert content.endswith('\n') |
- content = content[:-1] |
- |
- for line in content.split('\n'): |
- yield ' %s\n' % line |
- |
- |
-def SaveTestFile(tests, filename): |
- r"""Saves .test file |
- |
- Args: |
- tests: list of tests (see ParseTest). |
- filename: filename. |
- Returns: |
- None. |
- """ |
- with open(filename, 'w') as file_out: |
- first = True |
- for test in tests: |
- if not first: |
- file_out.write('-' * 70 + '\n') |
- first = False |
- for line in UnparseTest(test): |
- file_out.write(line) |