[TEST] Fixed tests to avoid mistakes in CI #3143
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.
Fixed tests:
This test was incorrectly reusing once created socket to do connection failure tests. This test didn't work correctly in case when connection somehow succeeded, and it breaks the rule that a socket should be used for connection, and then whether it succeeds or not, it should be used for connection possibly, and then closed - not connected multiple times after a failure.
This test was often failing in Travis because it relies too much on timing: connection is expected to return an error code if it is in progress, but for this the peer (running in a thread here) should not accept the connection until this check was done. Therefore there are needed synchronization points in the form of the promise. This prevents from both premature closing and getting things in the state that was not yet the expected one.