Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(711)

Side by Side Diff: tools/determinism/compare_build_artifacts.py

Issue 2811093002: Print . for 127(DEL) (Closed)
Patch Set: Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 #!/usr/bin/env python 1 #!/usr/bin/env python
2 # Copyright 2014 The Chromium Authors. All rights reserved. 2 # Copyright 2014 The Chromium Authors. All rights reserved.
3 # Use of this source code is governed by a BSD-style license that can be 3 # Use of this source code is governed by a BSD-style license that can be
4 # found in the LICENSE file. 4 # found in the LICENSE file.
5 5
6 """Compare the artifacts from two builds.""" 6 """Compare the artifacts from two builds."""
7 7
8 import ast 8 import ast
9 import difflib 9 import difflib
10 import json 10 import json
(...skipping 113 matching lines...) Expand 10 before | Expand all | Expand 10 after
124 else: 124 else:
125 streams = None 125 streams = None
126 offset += len(lhs_data) 126 offset += len(lhs_data)
127 del lhs_data 127 del lhs_data
128 del rhs_data 128 del rhs_data
129 if not diffs: 129 if not diffs:
130 return None 130 return None
131 result = '%d out of %d bytes are different (%.2f%%)' % ( 131 result = '%d out of %d bytes are different (%.2f%%)' % (
132 diffs, file_len, 100.0 * diffs / file_len) 132 diffs, file_len, 100.0 * diffs / file_len)
133 if streams: 133 if streams:
134 encode = lambda text: ''.join(i if 31 < ord(i) < 128 else '.' for i in text) 134 encode = lambda text: ''.join(i if 31 < ord(i) < 127 else '.' for i in text)
135 for offset, lhs_data, rhs_data in streams: 135 for offset, lhs_data, rhs_data in streams:
136 lhs_line = '%s \'%s\'' % (lhs_data.encode('hex'), encode(lhs_data)) 136 lhs_line = '%s \'%s\'' % (lhs_data.encode('hex'), encode(lhs_data))
137 rhs_line = '%s \'%s\'' % (rhs_data.encode('hex'), encode(rhs_data)) 137 rhs_line = '%s \'%s\'' % (rhs_data.encode('hex'), encode(rhs_data))
138 diff = list(difflib.Differ().compare([lhs_line], [rhs_line]))[-1][2:-1] 138 diff = list(difflib.Differ().compare([lhs_line], [rhs_line]))[-1][2:-1]
139 result += '\n 0x%-8x: %s\n %s\n %s' % ( 139 result += '\n 0x%-8x: %s\n %s\n %s' % (
140 offset, lhs_line, rhs_line, diff) 140 offset, lhs_line, rhs_line, diff)
141 return result 141 return result
142 142
143 143
144 def compare_files(first_filepath, second_filepath): 144 def compare_files(first_filepath, second_filepath):
(...skipping 197 matching lines...) Expand 10 before | Expand all | Expand 10 after
342 342
343 return compare_build_artifacts(os.path.abspath(options.first_build_dir), 343 return compare_build_artifacts(os.path.abspath(options.first_build_dir),
344 os.path.abspath(options.second_build_dir), 344 os.path.abspath(options.second_build_dir),
345 options.target_platform, 345 options.target_platform,
346 options.json_output, 346 options.json_output,
347 options.recursive) 347 options.recursive)
348 348
349 349
350 if __name__ == '__main__': 350 if __name__ == '__main__':
351 sys.exit(main()) 351 sys.exit(main())
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698