From 1808d46db25c6e911e7d4352cc44b510356bfdf6 Mon Sep 17 00:00:00 2001 From: Arthur Jones Date: Wed, 6 Jun 2018 07:47:17 -0700 Subject: [PATCH] tests/isisd: bypass test_fuzz_isis_tlv when inet_ntop is broken On Alpine Linux edge, musl does not seem to be RFC 5952 4.2.2 compliant (how to print a single :0: in the IPv6 address). Let's skip that test, as we get false negatives when running against that version of musl. Credit for the idea for the fix and how to fix it is due to chris@opensourcerouting.org. Testing done: make check on alpine linux passes now Issue: https://github.com/FRRouting/frr/issues/2375 Signed-off-by: Arthur Jones --- tests/isisd/test_fuzz_isis_tlv.py | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/tests/isisd/test_fuzz_isis_tlv.py b/tests/isisd/test_fuzz_isis_tlv.py index bf700bfee235..d96e3c4feee4 100644 --- a/tests/isisd/test_fuzz_isis_tlv.py +++ b/tests/isisd/test_fuzz_isis_tlv.py @@ -2,10 +2,21 @@ import pytest import platform +import socket -if platform.uname()[0] == 'SunOS': + +## +# on musl, ntop compresses a single :0: -> :: which is against RFC +## +def inet_ntop_broken(): + addr = '1:2:3:4:0:6:7:8' + return socket.inet_ntop(socket.AF_INET6, + socket.inet_pton(socket.AF_INET6, addr)) != addr + + +if platform.uname()[0] == 'SunOS' or inet_ntop_broken(): class TestFuzzIsisTLV: - @pytest.mark.skipif(True, reason='Test unsupported on SunOS') + @pytest.mark.skipif(True, reason='Test unsupported') def test_exit_cleanly(self): pass else: