diff options
author | Bhasker Hariharan <bhaskerh@google.com> | 2020-06-05 13:41:19 -0700 |
---|---|---|
committer | gVisor bot <gvisor-bot@google.com> | 2020-06-05 13:43:01 -0700 |
commit | 526df4f52a07a02687dd43ceb752621a41883f95 (patch) | |
tree | 0dfa217caec7860f52ba1097b4db18c93a2ba421 /test/syscalls/BUILD | |
parent | 45bf7492ef40d01faaf86787162243310175348a (diff) |
Fix error code returned due to Port exhaustion.
For TCP sockets gVisor incorrectly returns EAGAIN when no ephemeral ports are
available to bind during a connect. Linux returns EADDRNOTAVAIL. This change
fixes gVisor to return the correct code and adds a test for the same.
This change also fixes a minor bug for ping sockets where connect() would fail
with EINVAL unless the socket was bound first.
Also added tests for testing UDP Port exhaustion and Ping socket port
exhaustion.
PiperOrigin-RevId: 314988525
Diffstat (limited to 'test/syscalls/BUILD')
-rw-r--r-- | test/syscalls/BUILD | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/test/syscalls/BUILD b/test/syscalls/BUILD index 3406a2de8..d68afbe44 100644 --- a/test/syscalls/BUILD +++ b/test/syscalls/BUILD @@ -401,6 +401,14 @@ syscall_test( ) syscall_test( + size = "medium", + # Takes too long under gotsan to run. + tags = ["nogotsan"], + test = "//test/syscalls/linux:ping_socket_test", + vfs2 = "True", +) + +syscall_test( size = "large", add_overlay = True, shard_count = 5, @@ -700,6 +708,14 @@ syscall_test( syscall_test( size = "large", shard_count = 50, + # Takes too long for TSAN. Creates a lot of TCP sockets. + tags = ["nogotsan"], + test = "//test/syscalls/linux:socket_inet_loopback_nogotsan_test", +) + +syscall_test( + size = "large", + shard_count = 50, test = "//test/syscalls/linux:socket_ip_tcp_generic_loopback_test", vfs2 = "True", ) |