Bug#1121149: pyroute2: autopkgtest regression on s390x

Paul Gevers <[email protected]>
Newsgroups gmane.linux.debian.ports.s390
Message-ID <5cb29bd2-fcfd-48d3-8e91-e80c0c520a6f__36529.6956662618$1763759253$gmane$org@debian.org>
Source: pyroute2
Version: 0.8.1-2
Severity: serious
User: [email protected]
Usertags: regression
X-Debbugs-CC: [email protected]
User: [email protected]
Usertags: s390x
Control: -1 blocks 1119644

Dear maintainer(s),

With a recent upload of pyroute2 the autopkgtest of pyroute2 fails in 
testing when that autopkgtest is run with the binary packages of 
pyroute2 from unstable on s390x. It passes when run with only packages 
from testing. In tabular form:

                        pass            fail
pyroute2               from testing    0.8.1-2
all others             from testing    from testing

I copied some of the output at the bottom of this report.

Currently this regression is blocking the migration to testing [1]. Can 
you please investigate the situation and fix it?

More information about this bug and the reason for filing it can be found on
https://wiki.debian.org/ContinuousIntegration/RegressionEmailInformation

Paul

[1] https://qa.debian.org/excuses.php?package=pyroute2

https://ci.debian.net/data/autopkgtest/testing/s390x/p/pyroute2/66417437/log.gz

al(sample, marshal):
  96s >       return run_using_marshal(sample, marshal)
  96s                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  96s  96s tests/test_unit/test_nlmsg/test_marshal.py:48:  96s _ _ _ _ _ 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
96s  96s sample = 'test_unit/test_nlmsg/iw_info_rsp.dump'
  96s marshal = <pyroute2.netlink.nl80211.MarshalNl80211 object at 
0x3ffa9c10980>
  96s  96s     def run_using_marshal(sample, marshal):
  96s         messages, data = load_sample(sample)
  96s         parsed = tuple(marshal.parse(data))
  96s >       assert len(parsed) == len(messages)
  96s E       AssertionError: assert 0 == 1
  96s E        +  where 0 = len(())
  96s E        +  and   1 = len([{'attrs': [['NL80211_ATTR_IFINDEX', 3], 
['NL80211_ATTR_IFNAME', 'wlo1'], ['NL80211_ATTR_WIPHY', 0], 
['NL80211_ATTR_IFTYPE', 2], ['NL80211_ATTR_WDEV', 1], 
['NL80211_ATTR_MAC', 'a4:4e:31:43:1c:7d'], ...], 'cmd': 7, 'event': 
'NL80211_CMD_NEW_INTERFACE', 'header': {'error': None, 'flags': 0, 
'length': 88, 'pid': 771783666, ...}, ...}])
  96s  96s tests/test_unit/test_nlmsg/test_marshal.py:31: AssertionError
  96s _________ 
test_marshal[test_unit/test_nlmsg/iw_scan_rsp.dump-marshal3] _________
  96s  96s sample = 'test_unit/test_nlmsg/iw_scan_rsp.dump'
  96s marshal = <pyroute2.netlink.nl80211.MarshalNl80211 object at 
0x3ffa9cf4550>
  96s  96s     @pytest.mark.parametrize(
  96s         'sample,marshal',
  96s         (
  96s             ('test_unit/test_nlmsg/addrmsg_ipv4.dump', MarshalRtnl()),
  96s             ('test_unit/test_nlmsg/gre_01.dump', MarshalRtnl()),
  96s             ('test_unit/test_nlmsg/iw_info_rsp.dump', 
MarshalNl80211()),
  96s             ('test_unit/test_nlmsg/iw_scan_rsp.dump', 
MarshalNl80211()),
  96s         ),
  96s     )
  96s     def test_marshal(sample, marshal):
  96s >       return run_using_marshal(sample, marshal)
  96s                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  96s  96s tests/test_unit/test_nlmsg/test_marshal.py:48:  96s _ _ _ _ _ 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
96s  96s sample = 'test_unit/test_nlmsg/iw_scan_rsp.dump'
  96s marshal = <pyroute2.netlink.nl80211.MarshalNl80211 object at 
0x3ffa9cf4550>
  96s  96s     def run_using_marshal(sample, marshal):
  96s         messages, data = load_sample(sample)
  96s         parsed = tuple(marshal.parse(data))
  96s >       assert len(parsed) == len(messages)
  96s E       AssertionError: assert 0 == 4
  96s E        +  where 0 = len(())
  96s E        +  and   4 = len(({'attrs': [('NL80211_ATTR_GENERATION', 
7), ('NL80211_ATTR_IFINDEX', 11), ('NL80211_ATTR_WDEV', 1), 
('NL80211_ATTR_BSS', {'attrs': [(...), (...), (...), (...), (...), 
(...), ...]})], 'cmd': 34, 'event': 'NL80211_CMD_NEW_SCAN_RESULTS', 
'header': {'error': None, 'flags': 2, 'length': 472, 'pid': 608, ...}, 
...}, {'attrs': [('NL80211_ATTR_GENERATION', 7), 
('NL80211_ATTR_IFINDEX', 11), ('NL80211_ATTR_WDEV', 1), 
('NL80211_ATTR_BSS', {'attrs': [(...), (...), (...), (...), (...), 
(...), ...]})], 'cmd': 34, 'event': 'NL80211_CMD_NEW_SCAN_RESULTS', 
'header': {'error': None, 'flags': 2, 'length': 464, 'pid': 608, ...}, 
...}, {'attrs': [('NL80211_ATTR_GENERATION', 7), 
('NL80211_ATTR_IFINDEX', 11), ('NL80211_ATTR_WDEV', 1), 
('NL80211_ATTR_BSS', {'attrs': [(...), (...), (...), (...), (...), 
(...), ...]})], 'cmd': 34, 'event': 'NL80211_CMD_NEW_SCAN_RESULTS', 
'header': {'error': None, 'flags': 2, 'length': 480, 'pid': 608, ...}, 
...}, {'attrs': [('NL80211_ATTR_GENERATION', 7), 
('NL80211_ATTR_IFINDEX', 11), ('NL80211_ATTR_WDEV', 1), 
('NL80211_ATTR_BSS', {'attrs': [(...), (...), (...), (...), (...), 
(...), ...]})], 'cmd': 34, 'event': 'NL80211_CMD_NEW_SCAN_RESULTS', 
'header': {'error': None, 'flags': 2, 'length': 480, 'pid': 608, ...}, 
...}))
  96s  96s tests/test_unit/test_nlmsg/test_marshal.py:31: AssertionError
  96s _______ 
test_custom_key[test_unit/test_nlmsg/addrmsg_ipv4.dump-marshal0] _______
  96s  96s sample = 'test_unit/test_nlmsg/addrmsg_ipv4.dump'
  96s marshal = <pyroute2.netlink.rtnl.marshal.MarshalRtnl object at 
0x3ffa9cf4690>
  96s  96s     @pytest.mark.parametrize(
  96s         'sample,marshal',
  96s         (
  96s             ('test_unit/test_nlmsg/addrmsg_ipv4.dump', MarshalRtnl()),
  96s             ('test_unit/test_nlmsg/gre_01.dump', MarshalRtnl()),
  96s         ),
  96s     )
  96s     def test_custom_key(sample, marshal):
  96s         # the header:
  96s         #
  96s         #  uint32 length
  96s         #  uint16 type
  96s         #  ...
  96s         #
  96s         # e.g.:
  96s         # 4c:00:00:00:14:00:...
  96s         #
  96s         # this test uses:
  96s         marshal.key_format = 'I'  # 4 bytes LE as the key
  96s         marshal.key_offset = 2  # but with offset 2
  96s         marshal.key_mask = 0xFFFF0000  # ignore 2 lower bytes:
  96s         #
  96s         # example 1:
  96s         # offset 2 -> 00:00:14:00
  96s         # format I -> 0x140000
  96s         # & mask -> 0x140000
  96s         #
  96s         # example 2:
  96s         # offset 2 -> 01:02:14:00
  96s         # format I -> 0x140201
  96s         # & mask -> 0x140000
  96s         #
  96s         # fix msg map to use new keys:
  96s         for key, value in tuple(marshal.msg_map.items()):
  96s             marshal.msg_map[key << 16] = value
  96s         #
  96s         # ok, now should run
  96s >       return run_using_marshal(sample, marshal)
  96s                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  96s  96s tests/test_unit/test_nlmsg/test_marshal.py:88:  96s _ _ _ _ _ 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
96s  96s sample = 'test_unit/test_nlmsg/addrmsg_ipv4.dump'
  96s marshal = <pyroute2.netlink.rtnl.marshal.MarshalRtnl object at 
0x3ffa9cf4690>
  96s  96s     def run_using_marshal(sample, marshal):
  96s         messages, data = load_sample(sample)
  96s         parsed = tuple(marshal.parse(data))
  96s >       assert len(parsed) == len(messages)
  96s E       AssertionError: assert 0 == 1
  96s E        +  where 0 = len(())
  96s E        +  and   1 = len([{'attrs': [['IFA_ADDRESS', 
'127.0.0.1'], ['IFA_LOCAL', '127.0.0.1'], ['IFA_LABEL', 'lo'], 
['IFA_FLAGS', 128], ['IFA_CACHEINFO', {'cstamp': 261, 'ifa_preferred': 
4294967295, 'ifa_valid': 4294967295, 'tstamp': 261}]], 'event': 
'RTM_NEWADDR', 'family': 2, 'flags': 128, ...}])
  96s  96s tests/test_unit/test_nlmsg/test_marshal.py:31: AssertionError
  96s __________ 
test_custom_key[test_unit/test_nlmsg/gre_01.dump-marshal1] __________
  96s  96s sample = 'test_unit/test_nlmsg/gre_01.dump'
  96s marshal = <pyroute2.netlink.rtnl.marshal.MarshalRtnl object at 
0x3ffa9c9da70>
  96s  96s     @pytest.mark.parametrize(
  96s         'sample,marshal',
  96s         (
  96s             ('test_unit/test_nlmsg/addrmsg_ipv4.dump', MarshalRtnl()),
  96s             ('test_unit/test_nlmsg/gre_01.dump', MarshalRtnl()),
  96s         ),
  96s     )
  96s     def test_custom_key(sample, marshal):
  96s         # the header:
  96s         #
  96s         #  uint32 length
  96s         #  uint16 type
  96s         #  ...
  96s         #
  96s         # e.g.:
  96s         # 4c:00:00:00:14:00:...
  96s         #
  96s         # this test uses:
  96s         marshal.key_format = 'I'  # 4 bytes LE as the key
  96s         marshal.key_offset = 2  # but with offset 2
  96s         marshal.key_mask = 0xFFFF0000  # ignore 2 lower bytes:
  96s         #
  96s         # example 1:
  96s         # offset 2 -> 00:00:14:00
  96s         # format I -> 0x140000
  96s         # & mask -> 0x140000
  96s         #
  96s         # example 2:
  96s         # offset 2 -> 01:02:14:00
  96s         # format I -> 0x140201
  96s         # & mask -> 0x140000
  96s         #
  96s         # fix msg map to use new keys:
  96s         for key, value in tuple(marshal.msg_map.items()):
  96s             marshal.msg_map[key << 16] = value
  96s         #
  96s         # ok, now should run
  96s >       return run_using_marshal(sample, marshal)
  96s                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  96s  96s tests/test_unit/test_nlmsg/test_marshal.py:88:  96s _ _ _ _ _ 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
96s  96s sample = 'test_unit/test_nlmsg/gre_01.dump'
  96s marshal = <pyroute2.netlink.rtnl.marshal.MarshalRtnl object at 
0x3ffa9c9da70>
  96s  96s     def run_using_marshal(sample, marshal):
  96s         messages, data = load_sample(sample)
  96s         parsed = tuple(marshal.parse(data))
  96s >       assert len(parsed) == len(messages)
  96s E       AssertionError: assert 0 == 2
  96s E        +  where 0 = len(())
  96s E        +  and   2 = len([{'attrs': [['IFLA_IFNAME', 'mgre0'], 
['IFLA_LINKINFO', {'attrs': [[...], [...]]}]], 'change': 0, 'event': 
'RTM_NEWLINK', 'family': 0, ...}, {'event': 'NLMSG_ERROR', 'header': 
{'error': None, 'flags': 0, 'length': 36, 'pid': 12277, ...}}])
  96s  96s tests/test_unit/test_nlmsg/test_marshal.py:31: AssertionError
  96s =========================== short test summary info 
============================
  96s FAILED 
tests/test_unit/test_nlmsg/test_map_adapter.py::test_decode_adapter[default_decode]
  96s FAILED 
tests/test_unit/test_nlmsg/test_map_adapter.py::test_decode_adapter[dict_decode]
  96s FAILED 
tests/test_unit/test_nlmsg/test_marshal.py::test_marshal[test_unit/test_nlmsg/addrmsg_ipv4.dump-marshal0]
  96s FAILED 
tests/test_unit/test_nlmsg/test_marshal.py::test_marshal[test_unit/test_nlmsg/gre_01.dump-marshal1]
  96s FAILED 
tests/test_unit/test_nlmsg/test_marshal.py::test_marshal[test_unit/test_nlmsg/iw_info_rsp.dump-marshal2]
  96s FAILED 
tests/test_unit/test_nlmsg/test_marshal.py::test_marshal[test_unit/test_nlmsg/iw_scan_rsp.dump-marshal3]
  96s FAILED 
tests/test_unit/test_nlmsg/test_marshal.py::test_custom_key[test_unit/test_nlmsg/addrmsg_ipv4.dump-marshal0]
  96s FAILED 
tests/test_unit/test_nlmsg/test_marshal.py::test_custom_key[test_unit/test_nlmsg/gre_01.dump-marshal1]
  96s ========================= 8 failed, 95 passed in 0.51s 
=========================
  96s autopkgtest [09:46:36]: test unittests
OpenPGP_signature.asc (application/pgp-signature, 585 B)
-----BEGIN PGP SIGNATURE-----

wsC7BAABCABvBYJpINQlCRCcXJnrBb11CkcUAAAAAAAeACBzYWx0QG5vdGF0aW9u
cy5zZXF1b2lhLXBncC5vcmerV/aDRxNTdTZOgDtNLLwmbNRH0BTLryfxkw9LsK9/
wRYhBFi2bUhza+k7BS3mcpxcmesFvXUKAADIzwf9FeS04AXbNS/Xuu7z69Tr2o8O
6FzkZJhKmlZKE496rJcooPgOJcveqP2BGYcJcvSKQNsFxHDFrDNKUSOyCcoH3St2
6HgckMHVbMGIFb8Q9hBtLx72znJLm1qo/LgfyEU1smkDJJqGSqDM3As4MIMi/OK0
wbsJby6AEcND9X28LmxiO7WC5j0ZIZjQh6ob6HzyMRIL4ocOZjMwPtUMJ+a9JWL6
4n/LxlGphUq+4dTHp6jS0oDFcI6NQ5LQ485/WNpNbcRmku+64P3xa2ByflOMhC04
KRKFSwH1Sy8PQK5NCLtH7PSCo2sz5TVoE2KecmxZ1xSjTP7qp/oQy9SKuVaVYA==
=KTwJ
-----END PGP SIGNATURE-----
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.