From 164f4ccfc036d1ae7dbd5df2c1325e70f011684e Mon Sep 17 00:00:00 2001 From: Ryan Williams Date: Sun, 23 Jan 2011 21:30:48 -0800 Subject: [PATCH] Skipping repeated selects test on zmq hub because it doesn't appear to support detecting bad filenos at select() time. --- tests/__init__.py | 17 +++++++++++++++++ tests/hub_test.py | 3 ++- tests/zmq_test.py | 9 +-------- 3 files changed, 20 insertions(+), 9 deletions(-) diff --git a/tests/__init__.py b/tests/__init__.py index f7c1d59..789d132 100644 --- a/tests/__init__.py +++ b/tests/__init__.py @@ -88,6 +88,23 @@ def using_pyevent(_f): from eventlet.hubs import get_hub return 'pyevent' in type(get_hub()).__module__ + +def using_zmq(_f): + try: + import zmq + except ImportError: + return False + from eventlet.hubs import get_hub + return zmq and 'zeromq' in type(get_hub()).__module__ + +def skip_unless_zmq(func): + """ Decorator that skips a test if we're not using the zeromq hub.""" + return skip_unless(using_zmq)(func) + +def skip_with_zmq(func): + """ Decorator that skips a test if we're using the zeromq hub.""" + return skip_if(using_zmq)(func) + def skip_with_pyevent(func): """ Decorator that skips a test if we're using the pyevent hub.""" diff --git a/tests/hub_test.py b/tests/hub_test.py index 77df31f..3931430 100644 --- a/tests/hub_test.py +++ b/tests/hub_test.py @@ -1,4 +1,4 @@ -from tests import LimitedTestCase, main, skip_with_pyevent, skip_if_no_itimer +from tests import LimitedTestCase, main, skip_with_pyevent, skip_if_no_itimer, skip_with_zmq import time import eventlet from eventlet import hubs @@ -208,6 +208,7 @@ except eventlet.Timeout: class TestBadFilenos(LimitedTestCase): @skip_with_pyevent + @skip_with_zmq def test_repeated_selects(self): from eventlet.green import select self.assertRaises(ValueError, select.select, [-1], [], []) diff --git a/tests/zmq_test.py b/tests/zmq_test.py index a6ac917..4401ded 100644 --- a/tests/zmq_test.py +++ b/tests/zmq_test.py @@ -1,7 +1,7 @@ from eventlet import event, spawn, sleep, patcher from eventlet.hubs import get_hub, _threadlocal, use_hub from nose.tools import * -from tests import mock, LimitedTestCase, skip_unless +from tests import mock, LimitedTestCase, skip_unless_zmq from unittest import TestCase from threading import Thread @@ -12,13 +12,6 @@ except ImportError: zmq = None Hub = None -def using_zmq(_f): - return zmq and 'zeromq' in type(get_hub()).__module__ - -def skip_unless_zmq(func): - """ Decorator that skips a test if we're using the pyevent hub.""" - return skip_unless(using_zmq)(func) - class TestUpstreamDownStream(LimitedTestCase):