tests/lwip_sock_tcp: fix -EADDRINUSE test #14668
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Contribution description
When compiled with
LWIP_IPV4=1 LWIP_IPV6=1
this test currently fails in current master. This "regression" was introduced with 035acc2. However, after some debugging I think that commit actually revealed a problem with the test rather than introducing a bug.The test starts the central server, and then checks if opening a listening socket on the same port causes an
-EADDRINUSE
error. The server, on the other hand, starts withSOCK_FLAGS_REUSE_EP
, so of course the listening operation may succeed. Instead, let's just callsock_tcp_listen
twice with two distinct queue objects. Way easier and also more correct.Testing procedure
LWIP_IPV4=1 LWIP_IPV6=1 make -C tests/lwip_sock_tcp -j16 flash test
should succeed (but fails in master)
Issues/PRs references
See #14665 (comment)