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.
Ciao,
we've been relying on SBTUITestTunnel to UI tests a fairly large codebase with 2k+ UI tests.
When running tests in parallel on multiple simulators (4+) with IPC disabled, we've been encountering failures due to UITestTunnelServer being unable to bind to the HTTP server address:
Through debugging I've identified a potential race in
[SBTUITestTunnelClient findOpenPort]
which can lead to the system allocating the same port in parallel processes, leading to the aforementioned error.In this PR I've refactored
findOpenPort
to temporarily "reserve" the port which should prevent the system from allocating it to other processes for a certain time frame (hopefully long enough to start the server and bind the address)