Commit 4c1e90f6 authored by Mohamed Heikal's avatar Mohamed Heikal Committed by Commit Bot

Add dex classes to dex methods diff by android-binary-size trybot

This cl adds a new diff of class symbols in dex to the current diff of
method symbols.

Bug: 1012371
Change-Id: Ief062e055ad2eb96d22a4534fa4cfdfd8cbf8b3f
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1869835
Commit-Queue: Mohamed Heikal <mheikal@chromium.org>
Reviewed-by: default avatarAndrew Grieve <agrieve@chromium.org>
Auto-Submit: Mohamed Heikal <mheikal@chromium.org>
Cr-Commit-Position: refs/heads/master@{#709640}
parent 809938a2
......@@ -114,12 +114,25 @@ Refer to Mutable Constants Diff for list of symbols.
def _CreateMethodCountDelta(symbols):
symbols = symbols.WhereInSection(models.SECTION_DEX_METHOD)
lines, net_added = _SymbolDiffHelper(symbols)
details = 'Refer to Dex Method Diff for list of added/removed methods.'
method_symbols = symbols.WhereInSection(models.SECTION_DEX_METHOD)
method_lines, net_method_added = _SymbolDiffHelper(method_symbols)
class_symbols = symbols.WhereInSection(
models.SECTION_DEX).WhereNameMatches('#').Inverted()
class_lines, _ = _SymbolDiffHelper(class_symbols)
details = (
'Refer to Dex Class and Method Diff for list of added/removed methods.')
lines = []
if class_lines:
lines.append('===== Classes Added & Removed =====')
lines.extend(class_lines)
lines.extend(['', '']) # empty lines added for clarity
if method_lines:
lines.append('===== Methods Added & Removed =====')
lines.extend(method_lines)
return lines, _SizeDelta('Dex Methods Count', 'methods',
_MAX_DEX_METHOD_COUNT_INCREASE, net_added, details)
_MAX_DEX_METHOD_COUNT_INCREASE, net_method_added,
details)
def _CreateResourceSizesDelta(apk_name, before_dir, after_dir):
......@@ -291,7 +304,7 @@ PASSING:
'lines': testing_symbols_lines,
},
{
'name': '>>> Dex Method Diff <<<',
'name': '>>> Dex Class and Method Diff <<<',
'lines': dex_delta_lines,
},
{
......@@ -303,7 +316,7 @@ PASSING:
'url': _HTML_REPORT_BASE_URL + '{{' + _NDJSON_FILENAME + '}}',
},
]
# Remove empty diffs (Mutable Constants or Dex Method).
# Remove empty diffs (Mutable Constants, Dex Method, ...).
links_json = [o for o in links_json if o.get('lines') or o.get('url')]
binary_size_listings = []
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment