Skip ping tests instead of failing if the VM has no connectivity.
Change-Id: I8cf39e2409fd9521e89e73c5080b79159718965e
diff --git a/net/test/net_test.py b/net/test/net_test.py
index 23b7868..ef0fc0a 100755
--- a/net/test/net_test.py
+++ b/net/test/net_test.py
@@ -243,7 +243,13 @@
# Caller also needs to do s.setsockopt(SOL_IPV6, IPV6_FLOWINFO_SEND, 1).
-# Determine IPv6 configuration.
+# Determine network configuration.
+try:
+ GetDefaultRoute(version=4)
+ HAVE_IPV4 = True
+except ValueError:
+ HAVE_IPV4 = False
+
try:
GetDefaultRoute(version=6)
HAVE_IPV6 = True
diff --git a/net/test/ping6_test.py b/net/test/ping6_test.py
index c5da444..7b51ac4 100755
--- a/net/test/ping6_test.py
+++ b/net/test/ping6_test.py
@@ -6,6 +6,7 @@
import os
import posix
import re
+from scapy import all as scapy
from socket import * # pylint: disable=wildcard-import
import unittest
@@ -128,13 +129,13 @@
s.send(data)
self.assertValidPingResponse(s, data)
- @unittest.skipUnless(net_test.HAVE_IPV6, "skipping: no IPv6")
def testIPv6LoopbackPingWithConnect(self):
s = net_test.IPv6PingSocket()
s.connect(("::1", 55))
s.send(net_test.IPV6_PING)
self.assertValidPingResponse(s, net_test.IPV6_PING)
+ @unittest.skipUnless(net_test.HAVE_IPV4, "skipping: no IPv4")
def testIPv4PingUsingSendto(self):
s = net_test.IPv4PingSocket()
written = s.sendto(net_test.IPV4_PING, (net_test.IPV4_ADDR, 55))
@@ -166,6 +167,8 @@
reply = posix.read(fd, 4096)
self.assertEquals(written, len(reply))
+
+ @unittest.skipUnless(net_test.HAVE_IPV4, "skipping: no IPv4")
def testIPv4Bind(self):
# Bind to unspecified address.
s = net_test.IPv4PingSocket()
@@ -359,6 +362,7 @@
_, _, flowlabel, _ = src
self.assertEqual(0xdead, flowlabel & 0xfffff)
+ @unittest.skipUnless(net_test.HAVE_IPV4, "skipping: no IPv4")
def testIPv4Error(self):
s = net_test.IPv4PingSocket()
s.setsockopt(SOL_IP, IP_TTL, 2)
@@ -392,7 +396,6 @@
s.sendto(data, ("127.0.0.1", 987))
self.assertValidPingResponse(s, data)
- @unittest.skipUnless(net_test.HAVE_IPV6, "skipping: no IPv6")
def testIPv6LargePacket(self):
s = net_test.IPv6PingSocket()
s.bind(("::", 0xace))