On Fri, Aug 22, 2025 at 02:08:42PM +0200, Alessandro Ratti wrote:
Some rtnetlink selftests assume the presence of ifconfig and iproute2 support for the `proto` keyword in `ip address` commands. These assumptions can cause test failures on modern systems (e.g. Debian Bookworm) where:
- ifconfig is not installed by default
- The iproute2 version lacks support for address protocol
This patch improves test robustness by:
- Skipping kci_test_promote_secondaries if ifconfig is missing
- Skipping do_test_address_proto if ip address help does not mention proto
These changes ensure the tests degrade gracefully by reporting SKIP instead of FAIL when prerequisites are not met, improving portability across systems.
The Reviewed-by tag should be here
Reviewed-by: Hangbin Liu liuhangbin@gmail.com
Signed-off-by: Alessandro Ratti alessandro@0x65c.net
v2:
- Updated the patch based on review from Hangbin Liu
- Changed subject and commit message to better reflect updated behavior
- Added Reviewed-by tag
Reviewed-by: Hangbin Liu liuhangbin@gmail.com
tools/testing/selftests/net/rtnetlink.sh | 11 +++++++++++ 1 file changed, 11 insertions(+)
diff --git a/tools/testing/selftests/net/rtnetlink.sh b/tools/testing/selftests/net/rtnetlink.sh index d6c00efeb664..c2a0e7f37391 100755 --- a/tools/testing/selftests/net/rtnetlink.sh +++ b/tools/testing/selftests/net/rtnetlink.sh @@ -323,6 +323,11 @@ kci_test_addrlft() kci_test_promote_secondaries() {
- run_cmd ifconfig "$devdummy"
- if [ $ret -ne 0 ]; then
end_test "SKIP: ifconfig not installed"
return $ksft_skip
- fi promote=$(sysctl -n net.ipv4.conf.$devdummy.promote_secondaries)
sysctl -q net.ipv4.conf.$devdummy.promote_secondaries=1 @@ -1201,6 +1206,12 @@ do_test_address_proto() local ret=0 local err
- run_cmd_grep 'proto' ip address help
- if [ $? -ne 0 ];then
end_test "SKIP: addr proto ${what}: iproute2 too old"
return $ksft_skip
- fi
- ip address add dev "$devdummy" "$addr3" check_err $? proto=$(address_get_proto "$addr3")
-- 2.39.5