--- Begin Message ---
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
Description: OpenPGP digital signature
--- End Message ---