Index: tools/binary_size/libsupersize/integration_test.py |
diff --git a/tools/binary_size/libsupersize/integration_test.py b/tools/binary_size/libsupersize/integration_test.py |
index 0ed5e6c326fb02727c3bc5bdd4bfa78752d6c73c..9a02dae53edd7638aa8eb6c0140384c48cfce983 100755 |
--- a/tools/binary_size/libsupersize/integration_test.py |
+++ b/tools/binary_size/libsupersize/integration_test.py |
@@ -126,8 +126,11 @@ class IntegrationTest(unittest.TestCase): |
expected_size_info = self._CloneSizeInfo( |
use_output_directory=use_output_directory, use_elf=use_elf) |
self.assertEquals(expected_size_info.metadata, size_info.metadata) |
- expected = list(describe.GenerateLines(expected_size_info.Clustered())) |
- actual = list(describe.GenerateLines(size_info.Clustered())) |
+ # Don't cluster. |
+ expected_size_info.symbols = expected_size_info.raw_symbols |
+ size_info.symbols = size_info.raw_symbols |
+ expected = list(describe.GenerateLines(expected_size_info)) |
+ actual = list(describe.GenerateLines(size_info)) |
self.assertEquals(expected, actual) |
sym_strs = (repr(sym) for sym in size_info.symbols) |
@@ -188,7 +191,7 @@ class IntegrationTest(unittest.TestCase): |
size_info2.symbols -= size_info2.symbols[-3:] |
size_info1.symbols[1].size -= 10 |
d = diff.Diff(size_info1, size_info2) |
- d.symbols = d.symbols.Clustered().Sorted() |
+ d.symbols = d.symbols.Sorted() |
return describe.GenerateLines(d, verbose=True) |
def test_Diff_Aliases1(self): |
@@ -197,20 +200,20 @@ class IntegrationTest(unittest.TestCase): |
# Removing 1 alias should not change the size. |
a1, _, _ = ( |
- size_info2.symbols.Filter(lambda s: s.num_aliases == 3)[0].aliases) |
- size_info2.symbols -= [a1] |
+ size_info2.raw_symbols.Filter(lambda s: s.num_aliases == 3)[0].aliases) |
+ size_info2.raw_symbols -= [a1] |
a1.aliases.remove(a1) |
d = diff.Diff(size_info1, size_info2) |
- self.assertEquals(d.symbols.size, 0) |
- self.assertEquals((0, 0, 1), _DiffCounts(d.symbols)) |
+ self.assertEquals(d.raw_symbols.size, 0) |
+ self.assertEquals((0, 0, 1), _DiffCounts(d.raw_symbols)) |
# shrinkToFit is in a cluster, so removed turns to a changed when clustered. |
- self.assertEquals((1, 0, 0), _DiffCounts(d.symbols.Clustered())) |
+ self.assertEquals((1, 0, 0), _DiffCounts(d.symbols)) |
# Adding one alias should not change size. |
d = diff.Diff(size_info2, size_info1) |
- self.assertEquals(d.symbols.size, 0) |
- self.assertEquals((0, 1, 0), _DiffCounts(d.symbols)) |
- self.assertEquals((1, 0, 0), _DiffCounts(d.symbols.Clustered())) |
+ self.assertEquals(d.raw_symbols.size, 0) |
+ self.assertEquals((0, 1, 0), _DiffCounts(d.raw_symbols)) |
+ self.assertEquals((1, 0, 0), _DiffCounts(d.symbols)) |
def test_Diff_Aliases2(self): |
size_info1 = self._CloneSizeInfo() |
@@ -218,20 +221,20 @@ class IntegrationTest(unittest.TestCase): |
# Removing 2 aliases should not change the size. |
a1, a2, _ = ( |
- size_info2.symbols.Filter(lambda s: s.num_aliases == 3)[0].aliases) |
- size_info2.symbols -= [a1, a2] |
+ size_info2.raw_symbols.Filter(lambda s: s.num_aliases == 3)[0].aliases) |
+ size_info2.raw_symbols -= [a1, a2] |
a1.aliases.remove(a1) |
a1.aliases.remove(a2) |
d = diff.Diff(size_info1, size_info2) |
- self.assertEquals(d.symbols.size, 0) |
- self.assertEquals((0, 0, 2), _DiffCounts(d.symbols)) |
- self.assertEquals((1, 0, 1), _DiffCounts(d.symbols.Clustered())) |
+ self.assertEquals(d.raw_symbols.size, 0) |
+ self.assertEquals((0, 0, 2), _DiffCounts(d.raw_symbols)) |
+ self.assertEquals((1, 0, 1), _DiffCounts(d.symbols)) |
# Adding 2 aliases should not change size. |
d = diff.Diff(size_info2, size_info1) |
- self.assertEquals(d.symbols.size, 0) |
- self.assertEquals((0, 2, 0), _DiffCounts(d.symbols)) |
- self.assertEquals((1, 1, 0), _DiffCounts(d.symbols.Clustered())) |
+ self.assertEquals(d.raw_symbols.size, 0) |
+ self.assertEquals((0, 2, 0), _DiffCounts(d.raw_symbols)) |
+ self.assertEquals((1, 1, 0), _DiffCounts(d.symbols)) |
def test_Diff_Aliases3(self): |
size_info1 = self._CloneSizeInfo() |
@@ -239,18 +242,17 @@ class IntegrationTest(unittest.TestCase): |
# Removing all 3 aliases should change the size. |
a1, a2, a3 = ( |
- size_info2.symbols.Filter(lambda s: s.num_aliases == 3)[0].aliases) |
- size_info2.symbols -= [a1, a2, a3] |
+ size_info2.raw_symbols.Filter(lambda s: s.num_aliases == 3)[0].aliases) |
+ size_info2.raw_symbols -= [a1, a2, a3] |
d = diff.Diff(size_info1, size_info2) |
- self.assertEquals(d.symbols.size, -a1.size) |
- self.assertEquals((0, 0, 3), _DiffCounts(d.symbols)) |
- self.assertEquals((1, 0, 2), _DiffCounts(d.symbols.Clustered())) |
+ self.assertEquals((0, 0, 3), _DiffCounts(d.raw_symbols)) |
+ self.assertEquals((1, 0, 2), _DiffCounts(d.symbols)) |
# Adding all 3 aliases should change size. |
d = diff.Diff(size_info2, size_info1) |
- self.assertEquals(d.symbols.size, a1.size) |
- self.assertEquals((0, 3, 0), _DiffCounts(d.symbols)) |
- self.assertEquals((1, 2, 0), _DiffCounts(d.symbols.Clustered())) |
+ self.assertEquals(d.raw_symbols.size, a1.size) |
+ self.assertEquals((0, 3, 0), _DiffCounts(d.raw_symbols)) |
+ self.assertEquals((1, 2, 0), _DiffCounts(d.symbols)) |
def test_Diff_Clustering(self): |
size_info1 = self._CloneSizeInfo() |
@@ -271,15 +273,20 @@ class IntegrationTest(unittest.TestCase): |
models.Symbol(S, 55, name='.L__bar_295', object_path='b'), # 5 |
] |
d = diff.Diff(size_info1, size_info2) |
- d.symbols = d.symbols.Clustered().Sorted() |
+ d.symbols = d.symbols.Sorted() |
self.assertEquals(d.symbols.added_count, 0) |
self.assertEquals(d.symbols.size, 0) |
- |
@_CompareWithGolden() |
def test_FullDescription(self): |
- return describe.GenerateLines(self._CloneSizeInfo().Clustered(), |
- recursive=True, verbose=True) |
+ size_info = self._CloneSizeInfo() |
+ # Show both clustered and non-clustered so that they can be compared. |
+ size_info.symbols = size_info.raw_symbols |
+ return itertools.chain( |
+ describe.GenerateLines(size_info, verbose=True), |
+ describe.GenerateLines(size_info.symbols._Clustered(), recursive=True, |
+ verbose=True), |
+ ) |
@_CompareWithGolden() |
def test_SymbolGroupMethods(self): |