Skip to content

Commit

Permalink
tests: Fix test that tests if the system doesn't support IPv6
Browse files Browse the repository at this point in the history
Currently if IPv6 is globally disabled (net.ipv6.conf.all.disable_ipv6=1) or
if IPv6 is disabled on loopback interface (net.ipv6.conf.lo.disable_ipv6=1)
the check doesn't work since no interface have ::1 and EADDRNOTAVAIL is
returned.

This causes a Python exception to be printed, like this:

Traceback (most recent call last):
  File "<string>", line 6, in <module>
  File "/usr/lib64/python2.7/socket.py", line 228, in meth
    return getattr(self._sock,name)(*args)
socket.error: [Errno 99] Cannot assign requested address

In this case HAVE_IPV6 is not set and all IPv6 tests fails.
This commit fixes the problem by check also for EADDRNOTAVAIL.

CC: Ben Pfaff <[email protected]>
Fixes: 5c1d812 ("tests: Avoid printing Python exception for hosts without IPv6 support.")
Signed-off-by: Timothy Redaelli <[email protected]>
Signed-off-by: Ben Pfaff <[email protected]>
  • Loading branch information
drizzt authored and blp committed Jun 14, 2018
1 parent d3770db commit f7979b1
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion tests/atlocal.in
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,7 @@ import sys
try:
socket.socket(family=socket.AF_INET6).bind(("::1", 0, 0, 0))
except socket.error as e:
if e.errno == errno.EAFNOSUPPORT:
if e.errno == errno.EAFNOSUPPORT or errno.EADDRNOTAVAIL:
sys.exit(2)
raise
'
Expand Down

0 comments on commit f7979b1

Please sign in to comment.