summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergey Shepelev <temotor@gmail.com>2017-12-04 23:25:32 +0300
committerSergey Shepelev <temotor@gmail.com>2017-12-05 02:15:31 +0300
commit73d23bd1b86b24a97f9947f2db077ee431b8d85f (patch)
treedc76aea6a5de6cdf0388c64086da7f3f4a233205
parentd5008744da40942e1726e1fa5dda5180179f1a4f (diff)
downloadeventlet-73d23bd1b86b24a97f9947f2db077ee431b8d85f.tar.gz
Travis broke ipv6, allow failure; test against Python 2.7
-rw-r--r--.travis.yml17
-rw-r--r--tests/__init__.py6
-rw-r--r--tests/backdoor_test.py11
-rw-r--r--tests/wsgi_test.py1
-rw-r--r--tox.ini18
5 files changed, 40 insertions, 13 deletions
diff --git a/.travis.yml b/.travis.yml
index 3b3417f..bf52468 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,10 +1,10 @@
-sudo: false
+sudo: required
language: python
matrix:
fast_finish: true
include:
- - {python: 3.5, env: TOXENV=pep8}
+ - {python: 3.6, env: TOXENV=pep8}
- {python: 2.6, env: TOXENV=py26-epolls}
- {python: 2.6, env: TOXENV=py26-poll}
@@ -26,14 +26,21 @@ matrix:
- {python: 3.5, env: TOXENV=py35-poll}
- {python: 3.5, env: TOXENV=py35-selects}
- - {python: 3.6-dev, env: TOXENV=py36-epolls}
- - {python: 3.6-dev, env: TOXENV=py36-poll}
- - {python: 3.6-dev, env: TOXENV=py36-selects}
+ - {python: 3.6, env: TOXENV=py36-epolls}
+ - {python: 3.6, env: TOXENV=py36-poll}
+ - {python: 3.6, env: TOXENV=py36-selects}
+
+ - {python: 3.7-dev, env: TOXENV=py37-epolls}
+ - {python: 3.7-dev, env: TOXENV=py37-poll}
+ - {python: 3.7-dev, env: TOXENV=py37-selects}
- {python: pypy, env: TOXENV=pypy-epolls}
- {python: pypy, env: TOXENV=pypy-poll}
- {python: pypy, env: TOXENV=pypy-selects}
+
+ - {python: 3.6, env: TOXENV=ipv6}
allow_failures:
+ - env: TOXENV=ipv6
- env: TOXENV=py26-epolls
- env: TOXENV=py26-poll
- env: TOXENV=py26-selects
diff --git a/tests/__init__.py b/tests/__init__.py
index 7ebb811..d2a2c7f 100644
--- a/tests/__init__.py
+++ b/tests/__init__.py
@@ -145,6 +145,12 @@ def skip_if_no_ssl(func):
return skipped(func)
+def skip_if_no_ipv6(func):
+ if os.environ.get('eventlet_test_ipv6') != '1':
+ return skipped(func)
+ return func
+
+
class TestIsTakingTooLong(Exception):
""" Custom exception class to be raised when a test's runtime exceeds a limit. """
pass
diff --git a/tests/backdoor_test.py b/tests/backdoor_test.py
index f932eb0..d99a4be 100644
--- a/tests/backdoor_test.py
+++ b/tests/backdoor_test.py
@@ -6,10 +6,10 @@ import eventlet
from eventlet import backdoor
from eventlet.green import socket
-from tests import LimitedTestCase, main
+import tests
-class BackdoorTest(LimitedTestCase):
+class BackdoorTest(tests.LimitedTestCase):
def test_server(self):
listener = socket.socket()
listener.bind(('localhost', 0))
@@ -36,9 +36,10 @@ class BackdoorTest(LimitedTestCase):
# wait for the console to discover that it's dead
eventlet.sleep(0.1)
+ @tests.skip_if_no_ipv6
def test_server_on_ipv6_socket(self):
listener = socket.socket(socket.AF_INET6)
- listener.bind(('::1', 0))
+ listener.bind(('::', 0))
listener.listen(5)
serv = eventlet.spawn(backdoor.backdoor_server, listener)
client = socket.socket(socket.AF_INET6)
@@ -56,7 +57,3 @@ class BackdoorTest(LimitedTestCase):
client = socket.socket(socket.AF_UNIX)
client.connect(SOCKET_PATH)
self._run_test_on_client_and_server(client, serv)
-
-
-if __name__ == '__main__':
- main()
diff --git a/tests/wsgi_test.py b/tests/wsgi_test.py
index 809335e..d9bc793 100644
--- a/tests/wsgi_test.py
+++ b/tests/wsgi_test.py
@@ -1402,6 +1402,7 @@ class TestHttpd(_TestBase):
assert b'decoded: /a*b@@#3' in result.body
assert b'raw: /a*b@%40%233' in result.body
+ @tests.skip_if_no_ipv6
def test_ipv6(self):
try:
sock = eventlet.listen(('::1', 0), family=socket.AF_INET6)
diff --git a/tox.ini b/tox.ini
index ee6158d..6b8ef3e 100644
--- a/tox.ini
+++ b/tox.ini
@@ -16,7 +16,22 @@ statistics = 1
[tox]
minversion=2.5
envlist =
- pep8, py{26,27,33,34,35,36,py}-{selects,poll,epolls}
+ ipv6, pep8, py{26,27,33,34,35,36,37,py}-{selects,poll,epolls}
+
+[testenv:ipv6]
+basepython = python
+setenv =
+ {[testenv]setenv}
+ eventlet_test_ipv6 = 1
+deps =
+ coverage==4.3.1
+ nose==1.3.7
+ setuptools==32.3.1
+commands =
+ nosetests --verbose {env:tox_cover_args} \
+ tests.backdoor_test:BackdoorTest.test_server_on_ipv6_socket \
+ tests.wsgi_test:TestHttpd.test_ipv6
+ coverage xml -i
[testenv:pep8]
basepython = python2.7
@@ -42,6 +57,7 @@ basepython =
py34: python3.4
py35: python3.5
py36: python3.6
+ py37: python3.7
pypy: pypy
deps =
coverage==4.3.1