Bug#940645: diffoscope: testsuite failure due to new binutils?

Gianfranco Costamagna locutusofborg at debian.org
Wed Sep 18 10:27:07 BST 2019


Source: diffoscope
Version: 124
Severity: serious

Hello, thanks for fixing the previous bug! it worked!

However, due to another change, there is now a new failure:

=================================== FAILURES ===================================
___________________________ test_libmix_differences ____________________________

libmix_differences = [<Difference file list -- file list []>, <Difference Mach-O.o -- Mach-O.o []>, <Difference return42_or_3_long_name.o -... [<Difference readelf --wide --decompress --hex-dump=.text {} -- readelf --wide --decompress --hex-dump=.text {} []>]>]

    @skip_unless_tools_exist('readelf', 'objdump')
    @skip_if_tool_version_is('readelf', readelf_version, '2.29')
    @skip_if_binutils_does_not_support_x86()
    def test_libmix_differences(libmix_differences):
        assert len(libmix_differences) == 5
        file_list, mach_o, x86_o, src_c, x_obj = libmix_differences
    
        # Check order and basic identification
        assert file_list.source1 == 'file list'
>       assert "Falling back to binary" in mach_o.comments[0]
E       AssertionError: assert 'Falling back to binary' in 'xxd not available in path. Falling back to Python hexlify.\n'

file_list  = <Difference file list -- file list []>
libmix_differences = [<Difference file list -- file list []>,
 <Difference Mach-O.o -- Mach-O.o []>,
 <Difference return42_or_3_long_name.o -- return42_or_3_long_name.o [<Difference objdump --line-numbers --disassemble --demangle --reloc --section=.text {} -- objdump --line-numbers --disassemble --demangle --reloc --section=.text {} []>]>,
 <Difference return42_or_3_long_name.c -- return42_or_3_long_name.c []>,
 <Difference return42_or_3_long_name.obj -- return42_or_3_long_name.obj [<Difference readelf --wide --decompress --hex-dump=.text {} -- readelf --wide --decompress --hex-dump=.text {} []>]>]
mach_o     = <Difference Mach-O.o -- Mach-O.o []>
src_c      = <Difference return42_or_3_long_name.c -- return42_or_3_long_name.c []>
x86_o      = <Difference return42_or_3_long_name.o -- return42_or_3_long_name.o [<Difference objdump --line-numbers --disassemble --demangle --reloc --section=.text {} -- objdump --line-numbers --disassemble --demangle --reloc --section=.text {} []>]>
x_obj      = <Difference return42_or_3_long_name.obj -- return42_or_3_long_name.obj [<Difference readelf --wide --decompress --hex-dump=.text {} -- readelf --wide --decompress --hex-dump=.text {} []>]>

tests/comparators/test_elf.py:176: AssertionError
------------------------------ Captured log setup ------------------------------
elf.py                     348 ERROR    Command '['objdump', '--line-numbers', '--disassemble', '--demangle', '--reloc', '--section=.text', '/tmp/diffoscope_869gtrpp/tmpnb7vz781/0/8.obj']' returned non-zero exit status 1.
elf.py                     361 ERROR    Command '['objdump', '--disassemble', '--demangle', '--section=.text', '/tmp/diffoscope_869gtrpp/tmpnb7vz781/0/8.obj']' returned non-zero exit status 1.
=========================== short test summary info ============================
FAIL tests/comparators/test_elf.py::test_libmix_differences


Also, there seems to be a similar regression in Ubuntu i386

=================================== FAILURES ===================================
___________________________ test_libmix_differences ____________________________

libmix_differences = [<Difference nm -s {} -- nm -s {} []>, <Difference file list -- file list []>, <Difference Mach-O.o -- Mach-O.o []>, <... [<Difference readelf --wide --decompress --hex-dump=.text {} -- readelf --wide --decompress --hex-dump=.text {} []>]>]

    @skip_unless_tools_exist('readelf', 'objdump')
    @skip_if_tool_version_is('readelf', readelf_version, '2.29')
    @skip_if_binutils_does_not_support_x86()
    def test_libmix_differences(libmix_differences):
>       assert len(libmix_differences) == 5
E       assert 6 == 5
E        +  where 6 = len([<Difference nm -s {} -- nm -s {} []>, <Difference file list -- file list []>, <Difference Mach-O.o -- Mach-O.o []>, <... [<Difference readelf --wide --decompress --hex-dump=.text {} -- readelf --wide --decompress --hex-dump=.text {} []>]>])

libmix_differences = [<Difference nm -s {} -- nm -s {} []>,
 <Difference file list -- file list []>,
 <Difference Mach-O.o -- Mach-O.o []>,
 <Difference return42_or_3_long_name.o -- return42_or_3_long_name.o [<Difference objdump --line-numbers --disassemble --demangle --reloc --section=.text {} -- objdump --line-numbers --disassemble --demangle --reloc --section=.text {} []>]>,
 <Difference return42_or_3_long_name.c -- return42_or_3_long_name.c []>,
 <Difference return42_or_3_long_name.obj -- return42_or_3_long_name.obj [<Difference readelf --wide --decompress --hex-dump=.text {} -- readelf --wide --decompress --hex-dump=.text {} []>]>]

tests/comparators/test_elf.py:171: AssertionError
------------------------------ Captured log setup ------------------------------
elf.py                     348 ERROR    Command '['objdump', '--line-numbers', '--disassemble', '--demangle', '--reloc', '--section=.text', '/tmp/diffoscope_hdw4ojmp/tmphb9j11m6/0/8.obj']' returned non-zero exit status 1.
elf.py                     361 ERROR    Command '['objdump', '--disassemble', '--demangle', '--section=.text', '/tmp/diffoscope_hdw4ojmp/tmphb9j11m6/0/8.obj']' returned non-zero exit status 1.
=========================== short test summary info ============================
FAIL tests/comparators/test_elf.py::test_libmix_differences
SKIP [1] tests/test_presenters.py:154: requires compare (try installing imagemagick) and convert (try installing imagemagick) and sng (try installing sng)


G.



More information about the Reproducible-builds mailing list