cros_generate_breakpad_symbols: Upload kernel module symbols
We'd like to get breakpad symbols for the kernel modules so we
can match up files and line numbers to kernel crashes. Upload the
kernel module symbols to support this.
BUG=b:186639923
TEST=./run_tests
Change-Id: I9b6a18d4863d7c2797361accc72c5f6bb2017b74
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/chromite/+/3194166
Tested-by: Stephen Boyd <swboyd@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>
Commit-Queue: Stephen Boyd <swboyd@chromium.org>
diff --git a/scripts/cros_generate_breakpad_symbols_unittest.py b/scripts/cros_generate_breakpad_symbols_unittest.py
index 2d4eaf6..a51ff2d 100644
--- a/scripts/cros_generate_breakpad_symbols_unittest.py
+++ b/scripts/cros_generate_breakpad_symbols_unittest.py
@@ -88,7 +88,7 @@
ret = cros_generate_breakpad_symbols.GenerateBreakpadSymbols(
self.board, sysroot=self.board_dir)
self.assertEqual(ret, 0)
- self.assertEqual(gen_mock.call_count, 3)
+ self.assertEqual(gen_mock.call_count, 4)
# The largest ELF should be processed first.
call1 = (os.path.join(self.board_dir, 'iii/large-elf'),
@@ -100,9 +100,12 @@
os.path.join(self.debug_dir, 'bin/elf.debug'))
call3 = (os.path.join(self.board_dir, 'usr/sbin/elf'),
os.path.join(self.debug_dir, 'usr/sbin/elf.debug'))
- exp_calls = set((call2, call3))
+ call4 = (os.path.join(self.board_dir, 'lib/modules/3.10/module.ko'),
+ os.path.join(self.debug_dir, 'lib/modules/3.10/module.ko.debug'))
+ exp_calls = set((call2, call3, call4))
actual_calls = set((gen_mock.call_args_list[1][0],
- gen_mock.call_args_list[2][0]))
+ gen_mock.call_args_list[2][0],
+ gen_mock.call_args_list[3][0]))
self.assertEqual(exp_calls, actual_calls)
def testFileList(self, gen_mock):
@@ -160,8 +163,8 @@
with parallel_unittest.ParallelMock():
ret = cros_generate_breakpad_symbols.GenerateBreakpadSymbols(
self.board, sysroot=self.board_dir)
- self.assertEqual(ret, 3)
- self.assertEqual(gen_mock.call_count, 3)
+ self.assertEqual(ret, 4)
+ self.assertEqual(gen_mock.call_count, 4)
def testCleaningTrue(self, gen_mock):
"""Verify behavior of clean_breakpad=True"""
@@ -216,7 +219,7 @@
ret = cros_generate_breakpad_symbols.GenerateBreakpadSymbols(
self.board, sysroot=self.board_dir, exclude_dirs=exclude_dirs)
self.assertEqual(ret, 0)
- self.assertEqual(gen_mock.call_count, 1)
+ self.assertEqual(gen_mock.call_count, 2)
class GenerateSymbolTest(cros_test_lib.RunCommandTempDirTestCase):
"""Test GenerateBreakpadSymbol."""