You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

45 lines
1.1 KiB
Python

5 years ago
import gevent.testing as greentest
from gevent import socket
import errno
import sys
class TestClosedSocket(greentest.TestCase):
switch_expected = False
def test(self):
sock = socket.socket()
sock.close()
try:
sock.send(b'a', timeout=1)
self.fail("Should raise socket error")
except (socket.error, OSError) as ex:
if ex.args[0] != errno.EBADF:
if sys.platform.startswith('win'):
# Windows/Py3 raises "OSError: [WinError 10038] "
# which is not standard and not what it does
# on Py2.
pass
else:
raise
class TestRef(greentest.TestCase):
switch_expected = False
def test(self):
# pylint:disable=no-member
sock = socket.socket()
self.assertTrue(sock.ref)
sock.ref = False
self.assertFalse(sock.ref)
self.assertFalse(sock._read_event.ref)
self.assertFalse(sock._write_event.ref)
sock.close()
if __name__ == '__main__':
greentest.main()