Lines Matching refs:self
19 def verify_module(self, module, verify_path, verify_uuid): argument
25 self.assertEqual(
27 self.assertEqual(
30 self.assertEqual(verify_uuid, module.GetUUIDString())
32 def get_minidump_modules(self, yaml_file, exe = None): argument
33 minidump_path = self.getBuildArtifact(os.path.basename(yaml_file) + ".dmp")
34 self.yaml2obj(yaml_file, minidump_path)
35 self.target = self.dbg.CreateTarget(exe)
36 self.process = self.target.LoadCore(minidump_path)
37 return self.target.modules
39 def test_zero_uuid_modules(self): argument
48 modules = self.get_minidump_modules("linux-arm-zero-uuids.yaml")
49 self.assertEqual(2, len(modules))
50 self.verify_module(modules[0], "/file/does/not/exist/a", None)
51 self.verify_module(modules[1], "/file/does/not/exist/b", None)
53 def test_uuid_modules_no_age(self): argument
59 modules = self.get_minidump_modules("linux-arm-uuids-no-age.yaml")
60 modules = self.target.modules
61 self.assertEqual(2, len(modules))
62 self.verify_module(modules[0], "/tmp/a", "01020304-0506-0708-090A-0B0C0D0E0F10")
63 self.verify_module(modules[1], "/tmp/b", "0A141E28-323C-4650-5A64-6E78828C96A0")
65 def test_uuid_modules_no_age_apple(self): argument
74 modules = self.get_minidump_modules("macos-arm-uuids-no-age.yaml")
75 modules = self.target.modules
76 self.assertEqual(2, len(modules))
77 self.verify_module(modules[0], "/tmp/a", "04030201-0605-0807-090A-0B0C0D0E0F10")
78 self.verify_module(modules[1], "/tmp/b", "281E140A-3C32-5046-5A64-6E78828C96A0")
80 def test_uuid_modules_with_age(self): argument
86 modules = self.get_minidump_modules("linux-arm-uuids-with-age.yaml")
87 self.assertEqual(2, len(modules))
88 self.verify_module(modules[0], "/tmp/a", "01020304-0506-0708-090A-0B0C0D0E0F10-10101010")
89 self.verify_module(modules[1], "/tmp/b", "0A141E28-323C-4650-5A64-6E78828C96A0-20202020")
91 def test_uuid_modules_elf_build_id_16(self): argument
96 modules = self.get_minidump_modules("linux-arm-uuids-elf-build-id-16.yaml")
97 self.assertEqual(2, len(modules))
98 self.verify_module(modules[0], "/tmp/a", "01020304-0506-0708-090A-0B0C0D0E0F10")
99 self.verify_module(modules[1], "/tmp/b", "0A141E28-323C-4650-5A64-6E78828C96A0")
101 def test_uuid_modules_elf_build_id_20(self): argument
106 modules = self.get_minidump_modules("linux-arm-uuids-elf-build-id-20.yaml")
107 self.assertEqual(2, len(modules))
108 self.verify_module(modules[0], "/tmp/a", "01020304-0506-0708-090A-0B0C0D0E0F10-11121314")
109 self.verify_module(modules[1], "/tmp/b", "0A141E28-323C-4650-5A64-6E78828C96A0-AAB4BEC8")
111 def test_uuid_modules_elf_build_id_zero(self): argument
116 modules = self.get_minidump_modules("linux-arm-uuids-elf-build-id-zero.yaml")
117 self.assertEqual(2, len(modules))
118 self.verify_module(modules[0], "/not/exist/a", None)
119 self.verify_module(modules[1], "/not/exist/b", None)
121 def test_uuid_modules_elf_build_id_same(self): argument
132 modules = self.get_minidump_modules("linux-arm-same-uuids.yaml")
133 self.assertEqual(2, len(modules))
134 self.verify_module(modules[0], "/file/does/not/exist/a",
136 self.verify_module(modules[1], "/file/does/not/exist/b",
139 def test_partial_uuid_match(self): argument
152 so_path = self.getBuildArtifact("libuuidmatch.so")
153 self.yaml2obj("libuuidmatch.yaml", so_path)
155 self.dbg.HandleCommand(cmd)
156 modules = self.get_minidump_modules("linux-arm-partial-uuids-match.yaml")
157 self.assertEqual(1, len(modules))
158 self.verify_module(modules[0], so_path,
161 def test_partial_uuid_mismatch(self): argument
173 so_path = self.getBuildArtifact("libuuidmismatch.so")
174 self.yaml2obj("libuuidmismatch.yaml", so_path)
176 self.dbg.HandleCommand(cmd)
177 modules = self.get_minidump_modules("linux-arm-partial-uuids-mismatch.yaml")
178 self.assertEqual(1, len(modules))
179 self.verify_module(modules[0],
183 def test_breakpad_hash_match(self): argument
194 so_path = self.getBuildArtifact("libbreakpad.so")
195 self.yaml2obj("libbreakpad.yaml", so_path)
197 self.dbg.HandleCommand(cmd)
198 modules = self.get_minidump_modules("linux-arm-breakpad-uuid-match.yaml")
199 self.assertEqual(1, len(modules))
202 self.verify_module(modules[0], so_path, "D9C480E8")
204 def test_breakpad_hash_match_sysroot(self): argument
209 sysroot_path = os.path.join(self.getBuildDir(), "mock_sysroot")
215 self.yaml2obj("libbreakpad.yaml", so_path)
216 self.runCmd("platform select remote-linux --sysroot '%s'" % sysroot_path)
217 modules = self.get_minidump_modules("linux-arm-breakpad-uuid-match.yaml")
218 self.assertEqual(1, len(modules))
221 self.verify_module(modules[0], so_path, "D9C480E8")
223 def test_breakpad_hash_match_sysroot_decoy(self): argument
229 sysroot_path = os.path.join(self.getBuildDir(), "mock_sysroot")
235 self.yaml2obj("libbreakpad-decoy.yaml", decoy_path)
236 self.runCmd("platform select remote-linux --sysroot '%s'" % sysroot_path)
237 so_dir = os.path.join(self.getBuildDir(), "searchpath_dir")
240 self.yaml2obj("libbreakpad.yaml", so_path)
241 self.runCmd('settings set target.exec-search-paths "%s"' % so_dir)
242 modules = self.get_minidump_modules("linux-arm-breakpad-uuid-match.yaml")
243 self.assertEqual(1, len(modules))
246 self.verify_module(modules[0], so_path, "D9C480E8")
248 def test_breakpad_overflow_hash_match(self): argument
256 so_path = self.getBuildArtifact("libbreakpad.so")
257 self.yaml2obj("libbreakpad-overflow.yaml", so_path)
259 self.dbg.HandleCommand(cmd)
260 modules = self.get_minidump_modules("linux-arm-breakpad-uuid-match.yaml")
261 self.assertEqual(1, len(modules))
264 self.verify_module(modules[0], so_path, "48EB9FD7")
266 def test_breakpad_hash_match_exe_outside_sysroot(self): argument
272 sysroot_path = os.path.join(self.getBuildDir(), "mock_sysroot")
274 so_dir = os.path.join(self.getBuildDir(), "binary")
277 self.yaml2obj("libbreakpad.yaml", so_path)
278 self.runCmd("platform select remote-linux --sysroot '%s'" % sysroot_path)
279 modules = self.get_minidump_modules("linux-arm-breakpad-uuid-match.yaml", so_path)
280 self.assertEqual(1, len(modules))
283 self.verify_module(modules[0], so_path, "D9C480E8")
285 def test_facebook_hash_match(self): argument
297 so_path = self.getBuildArtifact("libbreakpad.so")
298 self.yaml2obj("libbreakpad.yaml", so_path)
300 self.dbg.HandleCommand(cmd)
301 modules = self.get_minidump_modules("linux-arm-facebook-uuid-match.yaml")
302 self.assertEqual(1, len(modules))
305 self.verify_module(modules[0], so_path, "D9C480E8")
308 def test_relative_module_name(self): argument
310 self.addTearDownHook(lambda: os.chdir(old_cwd))
311 os.chdir(self.getBuildDir())
314 modules = self.get_minidump_modules(
315 self.getSourcePath("relative_module_name.yaml"))
316 self.assertEqual(1, len(modules))
317 self.verify_module(modules[0], name, None)
319 def test_add_module_build_id_16(self): argument
324 modules = self.get_minidump_modules("linux-arm-uuids-elf-build-id-16.yaml")
325 self.assertEqual(2, len(modules))
328 self.assertEqual(modules[0], self.target.AddModule(
330 self.assertEqual(modules[1], self.target.AddModule(
334 self.assertFalse(
335 self.target.AddModule(
337 self.assertFalse(
338 self.target.AddModule(
341 def test_add_module_build_id_20(self): argument
346 modules = self.get_minidump_modules("linux-arm-uuids-elf-build-id-20.yaml")
349 self.assertEqual(modules[0], self.target.AddModule(
351 self.assertEqual(modules[1], self.target.AddModule(
355 self.assertFalse(
356 self.target.AddModule(
358 self.assertFalse(
359 self.target.AddModule(
362 def test_add_module_build_id_4(self): argument
367 modules = self.get_minidump_modules("linux-arm-uuids-elf-build-id-4.yaml")
370 self.assertEqual(modules[0], self.target.AddModule(
372 self.assertEqual(modules[1], self.target.AddModule(
376 self.assertFalse(
377 self.target.AddModule(
379 self.assertFalse(self.target.AddModule("a", "", "01020305").IsValid())
381 def test_remove_placeholder_add_real_module(self): argument
386 so_path = self.getBuildArtifact("libuuidmatch.so")
387 self.yaml2obj("libuuidmatch.yaml", so_path)
388 modules = self.get_minidump_modules("linux-arm-uuids-match.yaml")
391 self.assertEqual(1, len(modules))
392 self.verify_module(modules[0], "/target/path/libuuidmatch.so",uuid)
394 self.target.RemoveModule(modules[0])
395 new_module = self.target.AddModule(so_path, "", uuid)
397 self.verify_module(new_module, so_path, uuid)
398 self.assertEqual(new_module, self.target.modules[0])
399 self.assertEqual(1, len(self.target.modules))