Skip to content

Commit e4d708c

Browse files
committed
Attempt to bind free port in word count test
1 parent 860ec25 commit e4d708c

File tree

2 files changed

+10
-2
lines changed

2 files changed

+10
-2
lines changed

streamz/tests/test_sources.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
from flaky import flaky
55
import pytest
66
from streamz import Source
7-
from streamz.utils_test import wait_for, await_for, gen_test
7+
from streamz.utils_test import free_port, wait_for, await_for, gen_test
88
import socket
99

1010

@@ -49,7 +49,7 @@ def test_tcp():
4949

5050
@flaky(max_runs=3, min_passes=1)
5151
def test_tcp_word_count_example():
52-
port = 9999
52+
port = free_port()
5353
s = Source.from_tcp(port)
5454
out = s.map(bytes.split).flatten().frequencies().sink_to_list()
5555
s.start()

streamz/utils_test.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import logging
55
import os
66
import shutil
7+
import socket
78
import tempfile
89
from time import time, sleep
910

@@ -14,6 +15,13 @@
1415
from .core import _io_loops, Stream
1516

1617

18+
def free_port():
19+
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
20+
s.bind(('localhost', 0))
21+
s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
22+
return s.getsockname()[1]
23+
24+
1725
@contextmanager
1826
def tmpfile(extension=''):
1927
extension = '.' + extension.lstrip('.')

0 commit comments

Comments
 (0)