diff options
author | Joel Sherrill <joel@rtems.org> | 2019-10-07 10:48:23 -0500 |
---|---|---|
committer | Joel Sherrill <joel@rtems.org> | 2020-01-17 16:13:35 -0600 |
commit | 5e7b3c6533aae1bedce65c1b2dfc28a34cfe8161 (patch) | |
tree | 995a5d0b5a81e43a9759b3f75c89aa9744694a4d /testsuites/psxtests/psxdevctl01/test.c | |
parent | bsp/raspberrypi: Updated the console API. (diff) | |
download | rtems-5e7b3c6533aae1bedce65c1b2dfc28a34cfe8161.tar.bz2 |
posix_devctl - Add support for SOCKCLOSE
The FACE Technical Standard, Edition 3.0 and later require the definition
of the subcommand SOCKCLOSE in <devctl.h>.
Reference: ​https://www.opengroup.org/face
closes #3856.
Diffstat (limited to 'testsuites/psxtests/psxdevctl01/test.c')
-rw-r--r-- | testsuites/psxtests/psxdevctl01/test.c | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/testsuites/psxtests/psxdevctl01/test.c b/testsuites/psxtests/psxdevctl01/test.c index ed22ba8410..b45725cb58 100644 --- a/testsuites/psxtests/psxdevctl01/test.c +++ b/testsuites/psxtests/psxdevctl01/test.c @@ -76,6 +76,32 @@ int main( rtems_test_assert( status == -1 ); rtems_test_assert( errno == EBADF ); + puts( "posix_devctl() SOCKCLOSE on invalid file descriptor -- EBADF" ); + fd = 21; + dcmd = SOCKCLOSE; + dev_data_ptr = NULL; + nbyte = 0; + status = posix_devctl( fd, dcmd, dev_data_ptr, nbyte, NULL ); + rtems_test_assert( status == -1 ); + rtems_test_assert( errno == EBADF ); + + /* + * Create a file, open it, and close it via posix_devctl(). + * Then verify it is really closed. + */ + puts( "posix_devctl() SOCKCLOSE on valid file descriptor -- OK" ); + fd = open("tmp_for_close", O_CREAT | O_RDWR, S_IRWXU ); + rtems_test_assert( fd != -1 ); + + dcmd = SOCKCLOSE; + dev_data_ptr = NULL; + nbyte = 0; + status = posix_devctl( fd, dcmd, dev_data_ptr, nbyte, NULL ); + rtems_test_assert( status == 0 ); + + status = close( fd ); + rtems_test_assert( status == -1 ); + rtems_test_assert( errno == EBADF ); TEST_END(); exit(0); } |