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

Side by Side Diff: tools/binary_size/libsupersize/integration_test.py

Issue 2807343005: //tools/binary_size: Record packed .rel.dyn section size (Closed)
Patch Set: arm64 support and multiprocessing 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 | « tools/binary_size/libsupersize/console.py ('k') | tools/binary_size/libsupersize/models.py » ('j') | 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 2017 The Chromium Authors. All rights reserved. 2 # Copyright 2017 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 import copy 6 import copy
7 import difflib 7 import difflib
8 import itertools 8 import itertools
9 import logging 9 import logging
10 import os 10 import os
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
64 if not IntegrationTest.size_info: 64 if not IntegrationTest.size_info:
65 lazy_paths = paths.LazyPaths(output_directory=_TEST_DATA_DIR) 65 lazy_paths = paths.LazyPaths(output_directory=_TEST_DATA_DIR)
66 IntegrationTest.size_info = ( 66 IntegrationTest.size_info = (
67 archive.CreateSizeInfo(_TEST_MAP_PATH, lazy_paths)) 67 archive.CreateSizeInfo(_TEST_MAP_PATH, lazy_paths))
68 return copy.deepcopy(IntegrationTest.size_info) 68 return copy.deepcopy(IntegrationTest.size_info)
69 69
70 @_CompareWithGolden 70 @_CompareWithGolden
71 def test_Archive(self): 71 def test_Archive(self):
72 with tempfile.NamedTemporaryFile(suffix='.size') as temp_file: 72 with tempfile.NamedTemporaryFile(suffix='.size') as temp_file:
73 _RunApp('archive', temp_file.name, '--output-directory', _TEST_DATA_DIR, 73 _RunApp('archive', temp_file.name, '--output-directory', _TEST_DATA_DIR,
74 '--map-file', _TEST_MAP_PATH, '--elf-file', '') 74 '--map-file', _TEST_MAP_PATH)
75 size_info = archive.LoadAndPostProcessSizeInfo(temp_file.name) 75 size_info = archive.LoadAndPostProcessSizeInfo(temp_file.name)
76 # Check that saving & loading is the same as directly parsing the .map. 76 # Check that saving & loading is the same as directly parsing the .map.
77 expected_size_info = self._CloneSizeInfo() 77 expected_size_info = self._CloneSizeInfo()
78 self.assertEquals(expected_size_info.metadata, size_info.metadata) 78 self.assertEquals(expected_size_info.metadata, size_info.metadata)
79 expected = '\n'.join(describe.GenerateLines( 79 expected = '\n'.join(describe.GenerateLines(
80 expected_size_info, verbose=True, recursive=True)), 80 expected_size_info, verbose=True, recursive=True)),
81 actual = '\n'.join(describe.GenerateLines( 81 actual = '\n'.join(describe.GenerateLines(
82 size_info, verbose=True, recursive=True)), 82 size_info, verbose=True, recursive=True)),
83 self.assertEquals(expected, actual) 83 self.assertEquals(expected, actual)
84 84
85 sym_strs = (repr(sym) for sym in size_info.symbols) 85 sym_strs = (repr(sym) for sym in size_info.symbols)
86 stats = describe.DescribeSizeInfoCoverage(size_info) 86 stats = describe.DescribeSizeInfoCoverage(size_info)
87 return itertools.chain(stats, sym_strs) 87 return itertools.chain(stats, sym_strs)
88 88
89 def test_Archive_NoSourcePaths(self): 89 def test_Archive_NoSourcePaths(self):
90 # Just tests that it doesn't crash. 90 # Just tests that it doesn't crash.
91 with tempfile.NamedTemporaryFile(suffix='.size') as temp_file: 91 with tempfile.NamedTemporaryFile(suffix='.size') as temp_file:
92 _RunApp('archive', temp_file.name, '--no-source-paths', 92 _RunApp('archive', temp_file.name, '--no-source-paths',
93 '--map-file', _TEST_MAP_PATH, '--elf-file', '') 93 '--map-file', _TEST_MAP_PATH)
94 archive.LoadAndPostProcessSizeInfo(temp_file.name) 94 archive.LoadAndPostProcessSizeInfo(temp_file.name)
95 95
96 @_CompareWithGolden 96 @_CompareWithGolden
97 def test_ConsoleNullDiff(self): 97 def test_ConsoleNullDiff(self):
98 with tempfile.NamedTemporaryFile(suffix='.size') as temp_file: 98 with tempfile.NamedTemporaryFile(suffix='.size') as temp_file:
99 file_format.SaveSizeInfo(self._CloneSizeInfo(), temp_file.name) 99 file_format.SaveSizeInfo(self._CloneSizeInfo(), temp_file.name)
100 return _RunApp('console', '--query', 'Diff(size_info1, size_info2)', 100 return _RunApp('console', '--query', 'Diff(size_info1, size_info2)',
101 temp_file.name, temp_file.name) 101 temp_file.name, temp_file.name)
102 102
103 @_CompareWithGolden 103 @_CompareWithGolden
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
145 if len(argv) > 1 and argv[1] == '--update': 145 if len(argv) > 1 and argv[1] == '--update':
146 argv.pop(0) 146 argv.pop(0)
147 global update_goldens 147 global update_goldens
148 update_goldens = True 148 update_goldens = True
149 149
150 unittest.main(argv=argv, verbosity=2) 150 unittest.main(argv=argv, verbosity=2)
151 151
152 152
153 if __name__ == '__main__': 153 if __name__ == '__main__':
154 main() 154 main()
OLDNEW
« no previous file with comments | « tools/binary_size/libsupersize/console.py ('k') | tools/binary_size/libsupersize/models.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698