From def5bb8e8f318f55a08a7f516b2198e73bcd5beb Mon Sep 17 00:00:00 2001 From: Ryan Williams Date: Sat, 5 Dec 2009 13:27:55 -0800 Subject: [PATCH] Renamed GreenFile to Green_fileobject, better reflecting its purpose. This is kind of a documentation fix for #6. --- eventlet/greenio.py | 11 ++++++----- eventlet/tpool.py | 2 +- tests/greenio_test.py | 8 +++++++- 3 files changed, 14 insertions(+), 7 deletions(-) diff --git a/eventlet/greenio.py b/eventlet/greenio.py index 2aa6d67..7585fef 100644 --- a/eventlet/greenio.py +++ b/eventlet/greenio.py @@ -14,7 +14,7 @@ import warnings from errno import EWOULDBLOCK, EAGAIN -__all__ = ['GreenSocket', 'GreenFile', 'GreenPipe'] +__all__ = ['GreenSocket', 'GreenPipe'] def higher_order_recv(recv_func): def recv(self, buflen, flags=0): @@ -302,7 +302,7 @@ class GreenSocket(object): return socket._fileobject(self.dup(), mode, bufsize) def makeGreenFile(self, mode='r', bufsize=-1): - return GreenFile(self.dup()) + return Green_fileobject(self.dup()) recv = higher_order_recv(socket_recv) @@ -370,8 +370,9 @@ class GreenSocket(object): return self.timeout - -class GreenFile(object): +class Green_fileobject(object): + """Green version of socket._fileobject, for use only with regular + sockets.""" newlines = '\r\n' mode = 'wb+' @@ -494,7 +495,7 @@ class GreenPipeSocket(GreenSocket): send = higher_order_send(file_send) -class GreenPipe(GreenFile): +class GreenPipe(Green_fileobject): def __init__(self, fd): set_nonblocking(fd) self.fd = GreenPipeSocket(fd) diff --git a/eventlet/tpool.py b/eventlet/tpool.py index 83bffc8..9c55774 100644 --- a/eventlet/tpool.py +++ b/eventlet/tpool.py @@ -200,7 +200,7 @@ def setup(): csock.setsockopt(socket.IPPROTO_TCP, socket.TCP_NODELAY, 1) nsock, addr = sock.accept() nsock.setsockopt(socket.IPPROTO_TCP, socket.TCP_NODELAY, 1) - _rfile = greenio.GreenFile(greenio.GreenSocket(csock)) + _rfile = greenio.Green_fileobject(greenio.GreenSocket(csock)) _wfile = nsock.makefile() for i in range(0,_nthreads): diff --git a/tests/greenio_test.py b/tests/greenio_test.py index cbe6b4c..bbe3563 100644 --- a/tests/greenio_test.py +++ b/tests/greenio_test.py @@ -2,6 +2,7 @@ from tests import skipped, LimitedTestCase, skip_with_libevent, TestIsTakingTooL from unittest import main from eventlet import api, util, coros, proc, greenio from eventlet.green.socket import GreenSSLObject +import errno import os import socket import sys @@ -33,7 +34,12 @@ class TestGreenIo(LimitedTestCase): s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.settimeout(0.1) gs = greenio.GreenSocket(s) - self.assertRaises(socket.timeout, gs.connect, ('192.0.2.1', 80)) + try: + self.assertRaises(socket.timeout, gs.connect, ('192.0.2.1', 80)) + except socket.error, e: + # unreachable is also a valid outcome + if e[0] != errno.EHOSTUNREACH: + raise def test_close_with_makefile(self): def accept_close_early(listener):