| OLD | NEW |
| 1 # Copyright (C) 2013 Google Inc. All rights reserved. | 1 # Copyright (C) 2013 Google Inc. All rights reserved. |
| 2 # | 2 # |
| 3 # Redistribution and use in source and binary forms, with or without | 3 # Redistribution and use in source and binary forms, with or without |
| 4 # modification, are permitted provided that the following conditions are | 4 # modification, are permitted provided that the following conditions are |
| 5 # met: | 5 # met: |
| 6 # | 6 # |
| 7 # * Redistributions of source code must retain the above copyright | 7 # * Redistributions of source code must retain the above copyright |
| 8 # notice, this list of conditions and the following disclaimer. | 8 # notice, this list of conditions and the following disclaimer. |
| 9 # * Redistributions in binary form must reproduce the above | 9 # * Redistributions in binary form must reproduce the above |
| 10 # copyright notice, this list of conditions and the following disclaimer | 10 # copyright notice, this list of conditions and the following disclaimer |
| (...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 115 def _path_to_minidump_stackwalk(self): | 115 def _path_to_minidump_stackwalk(self): |
| 116 return self._host.filesystem.join(self._build_dir, "minidump_stackwalk") | 116 return self._host.filesystem.join(self._build_dir, "minidump_stackwalk") |
| 117 | 117 |
| 118 def _path_to_generate_breakpad_symbols(self): | 118 def _path_to_generate_breakpad_symbols(self): |
| 119 return self._webkit_finder.path_from_chromium_base("components", "breakp
ad", "tools", "generate_breakpad_symbols.py") | 119 return self._webkit_finder.path_from_chromium_base("components", "breakp
ad", "tools", "generate_breakpad_symbols.py") |
| 120 | 120 |
| 121 def _symbols_dir(self): | 121 def _symbols_dir(self): |
| 122 return self._host.filesystem.join(self._build_dir, 'content_shell.syms') | 122 return self._host.filesystem.join(self._build_dir, 'content_shell.syms') |
| 123 | 123 |
| 124 def _generate_breakpad_symbols_if_necessary(self): | 124 def _generate_breakpad_symbols_if_necessary(self): |
| 125 if self._host.filesystem.exists(self._symbols_dir()): | 125 _log.debug("Generating breakpad symbols") |
| 126 needs_update = False | |
| 127 symbols_mtime = self._host.filesystem.mtime(self._symbols_dir()) | |
| 128 for binary in self._binaries_to_symbolize(): | |
| 129 full_path = self._host.filesystem.join(self._build_dir, binary) | |
| 130 if self._host.filesystem.mtime(full_path) >= symbols_mtime: | |
| 131 needs_update = True | |
| 132 if not needs_update: | |
| 133 return | |
| 134 | |
| 135 _log.debug("Regenerating breakpad symbols") | |
| 136 self._host.filesystem.rmtree(self._symbols_dir()) | |
| 137 | |
| 138 for binary in self._binaries_to_symbolize(): | 126 for binary in self._binaries_to_symbolize(): |
| 139 full_path = self._host.filesystem.join(self._build_dir, binary) | 127 full_path = self._host.filesystem.join(self._build_dir, binary) |
| 140 cmd = [ | 128 cmd = [ |
| 141 self._path_to_generate_breakpad_symbols(), | 129 self._path_to_generate_breakpad_symbols(), |
| 142 '--binary=%s' % full_path, | 130 '--binary=%s' % full_path, |
| 143 '--symbols-dir=%s' % self._symbols_dir(), | 131 '--symbols-dir=%s' % self._symbols_dir(), |
| 144 '--build-dir=%s' % self._build_dir, | 132 '--build-dir=%s' % self._build_dir, |
| 145 ] | 133 ] |
| 146 try: | 134 try: |
| 147 self._host.executive.run_command(cmd) | 135 self._host.executive.run_command(cmd) |
| (...skipping 18 matching lines...) Expand all Loading... |
| 166 | 154 |
| 167 | 155 |
| 168 class DumpReaderAndroid(DumpReaderMultipart): | 156 class DumpReaderAndroid(DumpReaderMultipart): |
| 169 """Android breakpad dump reader.""" | 157 """Android breakpad dump reader.""" |
| 170 | 158 |
| 171 def _binaries_to_symbolize(self): | 159 def _binaries_to_symbolize(self): |
| 172 return ['lib/libcontent_shell_content_view.so'] | 160 return ['lib/libcontent_shell_content_view.so'] |
| 173 | 161 |
| 174 def _file_extension(self): | 162 def _file_extension(self): |
| 175 return 'dmp' | 163 return 'dmp' |
| OLD | NEW |