10000 Merge pull request #54 from methane/travis-timeout · T0MASD/fluent-logger-python@3776cc6 · GitHub
[go: up one dir, main page]

Skip to content

Commit 3776cc6

Browse files
committed
Merge pull request fluent#54 from methane/travis-timeout
Show traceback on timeout (Python>=3.3)
2 parents ef91824 + d843fa0 commit 3776cc6

File tree

4 files changed

+9
-17
lines changed

4 files changed

+9
-17
lines changed

.travis.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,6 @@ install:
1212
- "pip install -e ."
1313
- "pip install 'coverage>=3.7,<3.8' coveralls"
1414
script:
15-
- "python ./setup.py nosetests"
15+
- "PYTHONFAULTHANDLER=x timeout -sABRT 30s nosetests -vsd"
1616
after_success:
1717
- coveralls

tests/mockserver.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,21 +16,22 @@ class MockRecvServer(threading.Thread):
1616
"""
1717
Single threaded server accepts one connection and recv until EOF.
1818
"""
19-
def __init__(self, host='localhost', port=24224):
19+
def __init__(self, host='localhost', port=0):
2020
if host.startswith('unix://'):
2121
self._sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
2222
self._sock.bind(host[len('unix://'):])
2323
else:
2424
self._sock = socket.socket()
2525
self._sock.bind((host, port))
26+
self.port = self._sock.getsockname()[1]
27+
self._sock.listen(1)
2628
self._buf = BytesIO()
2729

2830
threading.Thread.__init__(self)
2931
self.start()
3032

3133
def run(self):
3234
sock = self._sock
33-
sock.listen(1)
3435
con, _ = sock.accept()
3536
while True:
3637
data = con.recv(4096)

tests/test_handler.py

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,8 @@
1111
class TestHandler(unittest.TestCase):
1212
def setUp(self):
1313
super(TestHandler, self).setUp()
14-
for port in range(10000, 20000):
15-
try:
16-
self._server = mockserver.MockRecvServer('localhost', port)
17-
self._port = port
18-
break
19-
except IOError:
20-
pass
14+
self._server = mockserver.MockRecvServer('localhost')
15+
self._port = self._server.port
2116

2217
def get_data(self):
2318
return self._server.get_recieved()

tests/test_sender.py

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -41,13 +41,9 @@ def test_tolerant(self):
4141
class TestSender(unittest.TestCase):
4242
def setUp(self):
4343
super(TestSender, self).setUp()
44-
for port in range(10000, 20000):
45-
try:
46-
self._server = mockserver.MockRecvServer('localhost', port)
47-
break
48-
except IOError as exc:
49-
print(exc)
50-
self._sender = fluent.sender.FluentSender(tag='test', port=port)
44+
self._server = mockserver.MockRecvServer('localhost')
45+
self._sender = fluent.sender.FluentSender(tag='test',
46+
port=self._server.port)
5147

5248
def get_data(self):
5349
return self._server.get_recieved()

0 commit comments

Comments
 (0)
0