diff options
| author | Yuriy Taraday <yorik.sar@gmail.com> | 2013-01-17 01:19:12 +0400 |
|---|---|---|
| committer | Yuriy Taraday <yorik.sar@gmail.com> | 2013-01-18 01:59:26 +0400 |
| commit | 64ef907e79cb00342f35d89746449979bacf58ac (patch) | |
| tree | 8978696c42dda438f5453c1bc373053227497882 | |
| parent | 8748cfa3a6b7573550e7ec8ced87e6fd2096a628 (diff) | |
Skip IPv6 tests if IPv6 is not supported.
Change-Id: I8aac6b0bc675a223213348324ac8305907eb0028
| -rw-r--r-- | keystone/test.py | 14 | ||||
| -rw-r--r-- | tests/test_ipv6.py | 4 | ||||
| -rw-r--r-- | tests/test_ssl.py | 2 |
3 files changed, 20 insertions, 0 deletions
diff --git a/keystone/test.py b/keystone/test.py index cbc646fd..bb89d20b 100644 --- a/keystone/test.py +++ b/keystone/test.py @@ -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() diff --git a/tests/test_ipv6.py b/tests/test_ipv6.py index ec8fb1e5..43dca920 100644 --- a/tests/test_ipv6.py +++ b/tests/test_ipv6.py @@ -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() diff --git a/tests/test_ssl.py b/tests/test_ssl.py index 2096f342..1fd66091 100644 --- a/tests/test_ssl.py +++ b/tests/test_ssl.py @@ -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, |
