| Index: net/data/parse_certificate_unittest/rebase-errors.py
|
| diff --git a/net/data/verify_certificate_chain_unittest/rebase-errors.py b/net/data/parse_certificate_unittest/rebase-errors.py
|
| similarity index 64%
|
| copy from net/data/verify_certificate_chain_unittest/rebase-errors.py
|
| copy to net/data/parse_certificate_unittest/rebase-errors.py
|
| index a99d7db365c93920404005e8143255e084d12ff5..ebb8722e1d0cc4d5013bf1bf42c239996a421d4d 100755
|
| --- a/net/data/verify_certificate_chain_unittest/rebase-errors.py
|
| +++ b/net/data/parse_certificate_unittest/rebase-errors.py
|
| @@ -11,18 +11,21 @@ error format.
|
| To use this run the affected tests, and then pass the input to this script
|
| (either via stdin, or as the first argument). For instance:
|
|
|
| - $ ./out/Release/net_unittests --gtest_filter="*VerifyCertificateChain*" | \
|
| - net/data/verify_certificate_chain_unittest/rebase-errors.py
|
| + $ ./out/Release/net_unittests --gtest_filter="*ParseCertificate*" | \
|
| + net/data/parse_certificate_unittest/rebase-errors.py
|
|
|
| The script works by scanning the stdout looking for gtest failures when
|
| -comparing "errors.ToDebugString(chain)". The C++ test side should have been
|
| +comparing "errors.ToDebugString()". The C++ test side should have been
|
| instrumented to dump out the test file's path on mismatch.
|
|
|
| -This script will then update the corresponding file(s) -- a .pem file, and
|
| -possibly an accompanying .py file.
|
| +This script will then update the corresponding .pem file
|
| """
|
|
|
| +import sys
|
| +sys.path += ['../verify_certificate_chain_unittest']
|
| +
|
| import common
|
| +
|
| import os
|
| import sys
|
| import re
|
| @@ -33,10 +36,10 @@ import re
|
| # * Group 2 of the match is file path (relative to //src) where the expected
|
| # errors were read from.
|
| failed_test_regex = re.compile(r"""
|
| -Value of: errors.ToDebugString\((?:test.chain)?\)
|
| +Value of: errors.ToDebugString\(\)
|
| Actual: "(.*)"
|
| (?:.|\n)+?
|
| -Test file: (.*)
|
| +Test file: (.*[.]pem)
|
| """, re.MULTILINE)
|
|
|
|
|
| @@ -68,19 +71,6 @@ def write_string_to_file(data, path):
|
| f.write(data)
|
|
|
|
|
| -def get_py_path(pem_path):
|
| - """Returns the .py filepath used to generate the given .pem path, which may
|
| - or may not exist.
|
| -
|
| - Some test files (notably those in verify_certificate_chain_unittest/ have a
|
| - "generate-XXX.py" script that builds the "XXX.pem" file. Build the path to
|
| - the corresponding "generate-XXX.py" (which may or may not exist)."""
|
| - file_name = os.path.basename(pem_path)
|
| - file_name_no_extension = os.path.splitext(file_name)[0]
|
| - py_file_name = 'generate-' + file_name_no_extension + '.py'
|
| - return os.path.join(os.path.dirname(pem_path), py_file_name)
|
| -
|
| -
|
| def replace_string(original, start, end, replacement):
|
| """Replaces the specified range of |original| with |replacement|"""
|
| return original[0:start] + replacement + original[end:]
|
| @@ -102,22 +92,6 @@ def fixup_pem_file(path, actual_errors):
|
| write_string_to_file(contents, path)
|
|
|
|
|
| -def fixup_py_file(path, actual_errors):
|
| - """Replaces the 'errors = XXX' section of the test's python script"""
|
| - contents = read_file_to_string(path)
|
| -
|
| - # This assumes that the errors variable uses triple quotes.
|
| - prog = re.compile(r'^errors = (""".*?"""|None)', re.MULTILINE | re.DOTALL)
|
| - result = prog.search(contents)
|
| -
|
| - # Replace the stuff in between the triple quotes with the actual errors.
|
| - contents = replace_string(contents, result.start(1), result.end(1),
|
| - '"""' + actual_errors + '"""')
|
| -
|
| - # Update the file.
|
| - write_string_to_file(contents, path)
|
| -
|
| -
|
| def get_src_root():
|
| """Returns the path to the enclosing //src directory. This assumes the
|
| current script is inside the source tree."""
|
| @@ -141,18 +115,6 @@ def get_abs_path(rel_path):
|
| return os.path.join(get_src_root(), rel_path)
|
|
|
|
|
| -def fixup_errors_for_file(actual_errors, pem_path):
|
| - """Updates the errors in |test_file_path| (.pem file) to match
|
| - |actual_errors|"""
|
| -
|
| - fixup_pem_file(pem_path, actual_errors)
|
| -
|
| - # If the test has a generator script update it too.
|
| - py_path = get_py_path(pem_path)
|
| - if os.path.isfile(py_path):
|
| - fixup_py_file(py_path, actual_errors)
|
| -
|
| -
|
| def main():
|
| if len(sys.argv) > 2:
|
| print 'Usage: %s [path-to-unittest-stdout]' % (sys.argv[0])
|
| @@ -170,7 +132,7 @@ def main():
|
| actual_errors = m.group(1)
|
| actual_errors = actual_errors.decode('string-escape')
|
| relative_test_path = m.group(2)
|
| - fixup_errors_for_file(actual_errors, get_abs_path(relative_test_path))
|
| + fixup_pem_file(get_abs_path(relative_test_path), actual_errors)
|
|
|
|
|
| if __name__ == "__main__":
|
|
|