SHA256
1
0
forked from pool/diffoscope
diffoscope/fix-tests-libmix_differences.patch

48 lines
1.7 KiB
Diff
Raw Normal View History

diff --git a/tests/comparators/test_elf.py b/tests/comparators/test_elf.py
index 5e3658a5afff98f01f23aa0716b49229840890b4..82396313f450676d21bcd774396376435e24f57d 100644
--- a/tests/comparators/test_elf.py
+++ b/tests/comparators/test_elf.py
@@ -182,15 +182,22 @@ def test_libmix_differences(libmix_differences):
x86_o = x86_o.details[0]
assert x86_o.source1.startswith("objdump ")
assert src_c.source1.endswith(".c")
- x_obj = x_obj.details[0]
- assert x_obj.source1.startswith("readelf ")
# Content
assert "return42_or_3" in file_list.unified_diff
assert_diff(mach_o, "elfmix_mach_o_expected_diff")
assert_diff(x86_o, "elfmix_disassembly_expected_diff")
assert_diff(src_c, "elfmix_src_c_expected_diff")
- assert_diff(x_obj, "elfmix_x_obj_expected_diff")
+
+ x_obj = x_obj.details[0]
+ if x_obj.source1.startswith("readelf "):
+ assert_diff(x_obj, "elfmix_x_obj_expected_diff")
+ elif x_obj.source1.startswith("objdump "):
+ assert_diff(x_obj, "elfmix_x_obj_objdump_expected_diff")
+ else:
+ pytest.fail(
+ f"x_obj is neither readelf or objdump: {repr(x_obj.source1)}"
+ )
TEST_DBGSYM_DEB1_PATH = data("dbgsym/add/test-dbgsym_1_amd64.deb")
diff --git a/tests/data/elfmix_x_obj_objdump_expected_diff b/tests/data/elfmix_x_obj_objdump_expected_diff
new file mode 100644
index 0000000000000000000000000000000000000000..1c0aace4c3be236262808f8d87336fcb68c3ec3e
--- /dev/null
+++ b/tests/data/elfmix_x_obj_objdump_expected_diff
@@ -0,0 +1,11 @@
+@@ -3,9 +3,9 @@
+
+ Disassembly of section .text:
+
+ 00000000 <return42_or_3>:
+ return42_or_3():
+ entry a1, 32
+ mov.n a7, a1
+- movi.n a2, 42
++ movi.n a2, 43
+ retw.n