aboutsummaryrefslogtreecommitdiffstats
path: root/testing/frr/make-check-bypass-isisd-tlv.patch
blob: b7a73b353f40519601b8e0fb1449ce5f72b0192b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
commit f404be7c728ca3433bb4aeaeac5e3c450941de35
Author: Arthur Jones <arthur.jones@riverbed.com>
Date:   Wed Jun 6 07:47:17 2018 -0700

    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 <arthur.jones@riverbed.com>

diff --git a/tests/isisd/test_fuzz_isis_tlv.py b/tests/isisd/test_fuzz_isis_tlv.py
index bf700bfee..d96e3c4fe 100644
--- a/tests/isisd/test_fuzz_isis_tlv.py
+++ b/tests/isisd/test_fuzz_isis_tlv.py
@@ -2,10 +2,21 @@ import frrtest
 
 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: