Merge "Skip IPv6 tests if IPv6 is not supported."

This commit is contained in:
Jenkins 2013-01-28 18:41:50 +00:00 committed by Gerrit Code Review
commit ac1ed367f6
3 changed files with 20 additions and 0 deletions

View File

@ -16,12 +16,14 @@
import datetime
import os
import socket
import subprocess
import sys
import time
import eventlet
import mox
import nose.exc
from paste import deploy
import stubout
import unittest2 as unittest
@ -302,3 +304,15 @@ class TestCase(NoModule, unittest.TestCase):
:param delta: Maximum allowable time delta, defined in seconds.
"""
self.assertAlmostEqual(a, b, delta=datetime.timedelta(seconds=delta))
@staticmethod
def skip_if_no_ipv6():
try:
s = socket.socket(socket.AF_INET6)
except socket.error as e:
if e.errno == errno.EAFNOSUPPORT:
raise nose.exc.SkipTest("IPv6 is not enabled in the system")
else:
raise
else:
s.close()

View File

@ -27,6 +27,10 @@ CONF = config.CONF
class IPv6TestCase(test.TestCase):
@classmethod
def setUpClass(cls):
cls.skip_if_no_ipv6()
def setUp(self):
super(IPv6TestCase, self).setUp()
self.load_backends()

View File

@ -85,6 +85,7 @@ class SSLTestCase(test.TestCase):
"""
Make sure both public and admin API work with 1-way ipv6 & SSL.
"""
self.skip_if_no_ipv6()
self.public_server = self.serveapp('keystone', name='main',
cert=CERT, key=KEY, ca=CA,
host="::1", port=0)
@ -107,6 +108,7 @@ class SSLTestCase(test.TestCase):
Make sure both public and admin API work with 2-way ipv6 & SSL.
Requires client certificate.
"""
self.skip_if_no_ipv6()
self.public_server = self.serveapp(
'keystone', name='main', cert=CERT,
key=KEY, ca=CA, cert_required=True,