summaryrefslogtreecommitdiffstats
path: root/testsuite
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2019-12-19 10:50:12 +0100
committerSebastian Huber <sebastian.huber@embedded-brains.de>2019-12-19 10:50:12 +0100
commitd892051f37c2c4ad7f345f6a817ea3d38e56a431 (patch)
tree3168814b659cc763f2de9bd96d5c23b9d5a9178a /testsuite
parentNVMECONTROL(8): Port to RTEMS (diff)
downloadrtems-libbsd-d892051f37c2c4ad7f345f6a817ea3d38e56a431.tar.bz2
SOCKATMARK(3): Import from FreeBSD
Update #3798.
Diffstat (limited to 'testsuite')
-rw-r--r--testsuite/syscalls01/test_main.c30
1 files changed, 30 insertions, 0 deletions
diff --git a/testsuite/syscalls01/test_main.c b/testsuite/syscalls01/test_main.c
index c1c15d24..78c7dd44 100644
--- a/testsuite/syscalls01/test_main.c
+++ b/testsuite/syscalls01/test_main.c
@@ -566,6 +566,35 @@ test_socket_ioctl(void)
}
static void
+test_socket_sockatmark(void)
+{
+ rtems_resource_snapshot snapshot;
+ int sd;
+ int rv;
+
+ puts("test socket sockatmark");
+
+ rtems_resource_snapshot_take(&snapshot);
+
+ sd = socket(PF_INET, SOCK_DGRAM, 0);
+ assert(sd >= 0);
+
+ rv = sockatmark(sd);
+ assert(rv == 0);
+
+ rv = close(sd);
+ assert(rv == 0);
+
+ errno = 0;
+ rv = sockatmark(sd);
+ assert(rv == -1);
+ assert(errno == EBADF);
+
+ epoch_cleanup();
+ assert(rtems_resource_snapshot_check(&snapshot));
+}
+
+static void
no_mem_socket_bind(int fd)
{
struct sockaddr_in addr;
@@ -1727,6 +1756,7 @@ test_main(void)
test_socket_unsupported_ops();
test_socket_ioctl();
+ test_socket_sockatmark();
test_socket_bind();
test_socket_connect();
test_socket_listen();