Bug#877728: test_elf regression with binutils 2.29.0 on x86-64

Levente Polyak levente at leventepolyak.net
Wed Oct 4 21:27:57 UTC 2017


Package: diffoscope

diffoscope git version: 70cb725deb12a2eddc4613b5e3af69ed13434bf7
binutils: 2.29.0
architecture: x86-64

> objdump --info|grep x86
elf64-x86-64
elf32-x86-64
pei-x86-64
         elf64-x86-64 elf32-i386 elf32-iamcu elf32-x86-64 a.out-i386-linux
    i386 elf64-x86-64 elf32-i386 ----------- elf32-x86-64 a.out-i386-linux
         pei-i386 pei-x86-64 elf64-l1om elf64-k1om elf64-little elf64-big
    i386 pei-i386 pei-x86-64 ---------- ---------- elf64-little elf64-big



==> Starting check()...
============================= test session starts
==============================
platform linux -- Python 3.6.2, pytest-3.2.2, py-1.4.34, pluggy-0.4.0 --
/usr/bin/python
cachedir: .cache
rootdir: /build/diffoscope/src/diffoscope-87, inifile:
collecting ... collected 376 items

=================================== FAILURES
===================================
________________________ test_obj_compare_non_existing
_________________________

monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0x7f45874ce9e8>
obj1 = <<class 'abc.ElfFile'>
/build/diffoscope/src/diffoscope-87/tests/data/test1.o>

    @skip_unless_tools_exist('readelf')
    @skip_if_binutils_does_not_support_x86()
    def test_obj_compare_non_existing(monkeypatch, obj1):
        monkeypatch.setattr(Config(), 'new_file', True)
        difference = obj1.compare(MissingFile('/nonexisting', obj1))
        assert difference.source2 == '/nonexisting'
>       assert len(difference.details) > 0
E       assert 0 > 0
E        +  where 0 = len([])
E        +    where [] = <Difference
/build/diffoscope/src/diffoscope-87/tests/data/test1.o -- /nonexisting
[]>.details

tests/comparators/test_elf.py:58: AssertionError
__________________________________ test_diff
___________________________________

obj_differences = []

    @skip_unless_tools_exist('readelf')
    @skip_if_binutils_does_not_support_x86()
    def test_diff(obj_differences):
>       assert len(obj_differences) == 1
E       assert 0 == 1
E        +  where 0 = len([])

tests/comparators/test_elf.py:64: AssertionError
_____________________________ test_lib_differences
_____________________________

lib_differences = []

    @skip_unless_tools_exist('readelf', 'objdump')
    @skip_if_binutils_does_not_support_x86()
    def test_lib_differences(lib_differences):
>       assert len(lib_differences) == 2
E       assert 0 == 2
E        +  where 0 = len([])

tests/comparators/test_elf.py:100: AssertionError
________________________ test_lib_compare_non_existing
_________________________

monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0x7f457da95c88>
lib1 = <<class 'abc.StaticLibFile'>
/build/diffoscope/src/diffoscope-87/tests/data/test1.a>

    @skip_unless_tools_exist('readelf', 'objdump')
    @skip_if_binutils_does_not_support_x86()
    def test_lib_compare_non_existing(monkeypatch, lib1):
        monkeypatch.setattr(Config(), 'new_file', True)
        difference = lib1.compare(MissingFile('/nonexisting', lib1))
        assert difference.source2 == '/nonexisting'
>       assert len(difference.details) > 0
E       assert 0 > 0
E        +  where 0 = len([])
E        +    where [] = <Difference
/build/diffoscope/src/diffoscope-87/tests/data/test1.a -- /nonexisting
[]>.details

tests/comparators/test_elf.py:115: AssertionError
============================= 14 tests deselected
==============================
======= 4 failed, 287 passed, 71 skipped, 14 deselected in 42.99 seconds
=======



More information about the Reproducible-builds mailing list