tests fail when run in chroot (during package building)
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 25/100
- Issue type
- Bug
- Clarity
- Needs clarification
- Activity status
- Stale
- Domain
- networking, testing
Research direction
Start with tests/test_ethtool.py and tests/test_scripts.py, then reproduce the package test command as the unprivileged user inside the clean chroot. Compare the permission, interface-address, and offload failures with the test assumptions. Done means the tests have a defined outcome in this packaging environment and no longer fail unexpectedly.
Written by the indexing model from the issue text.
Description
Helloes!
I'm currently pushing python-ethtool to Arch Linux's [community].
On Arch, packages are built in a clean chroot (to ensure package and dependency integrity). There however, the tests fail:
running test
running egg_info
creating ethtool.egg-info
writing ethtool.egg-info/PKG-INFO
writing dependency_links to ethtool.egg-info/dependency_links.txt
writing top-level names to ethtool.egg-info/top_level.txt
writing manifest file 'ethtool.egg-info/SOURCES.txt'
reading manifest file 'ethtool.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
writing manifest file 'ethtool.egg-info/SOURCES.txt'
running build_ext
copying build/lib.linux-x86_64-3.6/ethtool.cpython-36m-x86_64-linux-gnu.so ->
test_driver_eth (tests.test_scripts.ScriptsTests) ... ok
test_driver_lo (tests.test_scripts.ScriptsTests) ... ok
test_flags2str (tests.test_scripts.ScriptsTests) ... ok
test_show_coalesce_eth (tests.test_scripts.ScriptsTests) ... ok
test_show_coalesce_lo (tests.test_scripts.ScriptsTests) ... ok
test_show_offload_eth (tests.test_scripts.ScriptsTests) ... ok
test_show_offload_lo (tests.test_scripts.ScriptsTests) ... FAIL
test_show_ring_eth (tests.test_scripts.ScriptsTests) ... ok
test_show_ring_lo (tests.test_scripts.ScriptsTests) ... ok
test_etherinfo_objects (tests.test_ethtool.EthtoolTests) ... FAIL
test_get_active_devices (tests.test_ethtool.EthtoolTests) ... ERROR
test_get_interface_info_active (tests.test_ethtool.EthtoolTests) ... FAIL
test_get_interface_info_all (tests.test_ethtool.EthtoolTests) ... FAIL
test_get_interface_info_invalid (tests.test_ethtool.EthtoolTests) ... ok
test_invalid_devices (tests.test_ethtool.EthtoolTests) ... ok
test_full (tests.parse_ifconfig.ParserTests) ... ok
test_local (tests.parse_ifconfig.ParserTests) ... ok
test_parse_ip4addr (tests.parse_ifconfig.ParserTests) ... ok
test_parsing_device_line (tests.parse_ifconfig.ParserTests) ... ok
test_parsing_flags_line (tests.parse_ifconfig.ParserTests) ... ok
test_parsing_ip (tests.parse_ifconfig.ParserTests) ... ok
======================================================================
ERROR: test_get_active_devices (tests.test_ethtool.EthtoolTests)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/build/python-ethtool/src/python-ethtool-0.13/tests/test_ethtool.py", line 245, in test_get_active_devices
self._functions_accepting_devnames(devname)
File "/build/python-ethtool/src/python-ethtool-0.13/tests/test_ethtool.py", line 147, in _functions_accepting_devnames
self.assertIsInt(ethtool.get_ufo(devname))
PermissionError: [Errno 1] Operation not permitted
======================================================================
FAIL: test_show_offload_lo (tests.test_scripts.ScriptsTests)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/build/python-ethtool/src/python-ethtool-0.13/tests/test_scripts.py", line 80, in test_show_offload_lo
'''
AssertionError: 'scat[60 chars]ion offload: not supported\ngeneric segmentation offload: on\n' != 'scat[60 chars]ion offload: on\ngeneric segmentation offload: on\n'
scatter-gather: on
tcp segmentation offload: on
- udp fragmentation offload: not supported
? ------------
+ udp fragmentation offload: on
? +
generic segmentation offload: on
======================================================================
FAIL: test_etherinfo_objects (tests.test_ethtool.EthtoolTests)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/build/python-ethtool/src/python-ethtool-0.13/tests/test_ethtool.py", line 251, in test_etherinfo_objects
self._verify_etherinfo_object(ei)
File "/build/python-ethtool/src/python-ethtool-0.13/tests/test_ethtool.py", line 168, in _verify_etherinfo_object
self.assertEqual(ei.ipv4_address, scraped.inet)
AssertionError: '10.10.23.10' != '10.10.23.150'
- 10.10.23.10
+ 10.10.23.150
? +
======================================================================
FAIL: test_get_interface_info_active (tests.test_ethtool.EthtoolTests)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/build/python-ethtool/src/python-ethtool-0.13/tests/test_ethtool.py", line 233, in test_get_interface_info_active
self._verify_etherinfo_object(ei)
File "/build/python-ethtool/src/python-ethtool-0.13/tests/test_ethtool.py", line 168, in _verify_etherinfo_object
self.assertEqual(ei.ipv4_address, scraped.inet)
AssertionError: '10.10.23.10' != '10.10.23.150'
- 10.10.23.10
+ 10.10.23.150
? +
======================================================================
FAIL: test_get_interface_info_all (tests.test_ethtool.EthtoolTests)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/build/python-ethtool/src/python-ethtool-0.13/tests/test_ethtool.py", line 238, in test_get_interface_info_all
self._verify_etherinfo_object(ei)
File "/build/python-ethtool/src/python-ethtool-0.13/tests/test_ethtool.py", line 168, in _verify_etherinfo_object
self.assertEqual(ei.ipv4_address, scraped.inet)
AssertionError: '10.10.23.10' != '10.10.23.150'
- 10.10.23.10
+ 10.10.23.150
? +
----------------------------------------------------------------------
Ran 21 tests in 0.015s
FAILED (failures=4, errors=1)
Test failed: <unittest.runner.TextTestResult run=21 errors=1 failures=4>
Device(name='enp0s25', flagsint=4163, flagsstr='UP,BROADCAST,RUNNING,MULTICAST', mtu=1500)
Device(name='lo', flagsint=73, flagsstr='UP,LOOPBACK,RUNNING', mtu=65536)
Device(name='tap0', flagsint=4163, flagsstr='UP,BROADCAST,RUNNING,MULTICAST', mtu=1500)
Device(name='wlp3s0', flagsint=4099, flagsstr='UP,BROADCAST,MULTICAST', mtu=1500)
error: Test failed: <unittest.runner.TextTestResult run=21 errors=1 failures=4>
Within the chroot, the user, that's building the package is not allowed root privileges. This might lead to the tests failing, but maybe you can provide some more insight?
I'd like to be able to use the tests during packaging for python{2,3}.
- Dominant language
- C
- Stars
- 16
- Forks
- 11
- PR merge metrics
- No merged PRs in 30d
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from fedora-python/python-ethtool
-
Difficulty 4/5 3-5 days Newbie friendliness 25/100
fedora-python/python-ethtool#61 · 1 comment ·
-
help wanted
Difficulty 4/5 3-5 days Newbie friendliness 35/100
-
enhancement
Difficulty 3/5 1-2 days Newbie friendliness 35/100
All issues in fedora-python/python-ethtool
Similar issues
-
Difficulty 1/5 Under an hour Newbie friendliness 90/100
kovidgoyal/kitty#10516 ·
-
libc
Difficulty 2/5 1-2 days Newbie friendliness 76/100
llvm/llvm-project#225506 · 1 comment ·
-
enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
-
Status: Waiting triage Type: Bug
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
nanoframework/Home#1857 ·
-
bug
Difficulty 2/5 Half a day Newbie friendliness 82/100