@@ -158,21 +158,30 @@ async def test_broadcast_display(uhs500_msg_bytes, uhs500_msg_parsed, udp_endpoi
158
158
159
159
160
160
@pytest .mark .asyncio
161
- async def test_rebind (uhs500_msg_bytes , uhs500_msg_parsed , udp_endpoint , udp_port , unused_tcp_port_factory ):
161
+ async def test_rebind (
162
+ uhs500_msg_bytes ,
163
+ uhs500_msg_parsed ,
164
+ udp_endpoint ,
165
+ udp_port ,
166
+ unused_tcp_port_factory ,
167
+ non_loopback_hostaddr
168
+ ):
162
169
transport , protocol , endpoint_port = udp_endpoint
163
170
assert udp_port != endpoint_port
164
171
172
+ host_addrs = ['127.0.0.1' , non_loopback_hostaddr ]
173
+
165
174
loop = asyncio .get_event_loop ()
166
175
167
- receiver = UmdReceiver (hostaddr = '127.0.0.1' , hostport = udp_port )
176
+ receiver = UmdReceiver (hostaddr = host_addrs [ 0 ] , hostport = udp_port )
168
177
169
178
evt_listener = EventListener ()
170
179
receiver .bind_async (loop , on_tally_added = evt_listener .callback )
171
180
172
181
async with receiver :
173
182
174
183
# Send message bytes to receiver and wait for ``on_tally_added`` events
175
- transport .sendto (uhs500_msg_bytes , ('127.0.0.1' , udp_port ))
184
+ transport .sendto (uhs500_msg_bytes , (host_addrs [ 0 ] , udp_port ))
176
185
_ = await evt_listener .get ()
177
186
while not evt_listener .empty ():
178
187
_ = await evt_listener .get ()
@@ -185,13 +194,13 @@ async def test_rebind(uhs500_msg_bytes, uhs500_msg_parsed, udp_endpoint, udp_por
185
194
186
195
187
196
# Change bind address and trigger a change
188
- await receiver .set_hostaddr ('0.0.0.0' )
189
- assert receiver .hostaddr == '0.0.0.0'
197
+ await receiver .set_hostaddr (host_addrs [ 1 ] )
198
+ assert receiver .hostaddr == host_addrs [ 1 ]
190
199
191
200
disp = uhs500_msg_parsed .displays [0 ]
192
201
disp .brightness = 1
193
202
194
- transport .sendto (uhs500_msg_parsed .build_message (), ('0.0.0.0' , udp_port ))
203
+ transport .sendto (uhs500_msg_parsed .build_message (), (host_addrs [ 1 ] , udp_port ))
195
204
196
205
evt_args , evt_kwargs = await evt_listener .get ()
197
206
evt_tally = evt_args [0 ]
@@ -205,7 +214,7 @@ async def test_rebind(uhs500_msg_bytes, uhs500_msg_parsed, udp_endpoint, udp_por
205
214
assert receiver .hostport == new_port
206
215
207
216
disp .brightness = 2
208
- transport .sendto (uhs500_msg_parsed .build_message (), ('0.0.0.0' , new_port ))
217
+ transport .sendto (uhs500_msg_parsed .build_message (), (host_addrs [ 1 ] , new_port ))
209
218
210
219
evt_args , evt_kwargs = await evt_listener .get ()
211
220
evt_tally = evt_args [0 ]
0 commit comments