diff options
author | Himanshu40 <himanshuwindows8.1@gmail.com> | 2018-11-29 22:33:19 +0530 |
---|---|---|
committer | Joel Sherrill <joel@rtems.org> | 2018-11-29 11:21:40 -0600 |
commit | 7ea4c0260468c33dcca163626838d517f040b5d5 (patch) | |
tree | 35bb54025a94cfa10be36b51eede076cd218ab02 /testsuites/psxtests | |
parent | bfin/shared/dev/clock.c: Include rtems/score/thread.h (diff) | |
download | rtems-7ea4c0260468c33dcca163626838d517f040b5d5.tar.bz2 |
psxtests : Add POSIX API Signature Compliance Tests for semaphore.h (GCI 2018)
Diffstat (limited to '')
-rw-r--r-- | testsuites/psxtests/Makefile.am | 12 | ||||
-rw-r--r-- | testsuites/psxtests/psxhdrs/semaphore/sem_close.c | 45 | ||||
-rw-r--r-- | testsuites/psxtests/psxhdrs/semaphore/sem_destroy.c | 45 | ||||
-rw-r--r-- | testsuites/psxtests/psxhdrs/semaphore/sem_getvalue.c | 46 | ||||
-rw-r--r-- | testsuites/psxtests/psxhdrs/semaphore/sem_init.c | 43 | ||||
-rw-r--r-- | testsuites/psxtests/psxhdrs/semaphore/sem_open.c | 46 | ||||
-rw-r--r-- | testsuites/psxtests/psxhdrs/semaphore/sem_post.c | 44 | ||||
-rw-r--r-- | testsuites/psxtests/psxhdrs/semaphore/sem_timedwait.c | 49 | ||||
-rw-r--r-- | testsuites/psxtests/psxhdrs/semaphore/sem_trywait.c | 44 | ||||
-rw-r--r-- | testsuites/psxtests/psxhdrs/semaphore/sem_unlink.c | 44 | ||||
-rw-r--r-- | testsuites/psxtests/psxhdrs/semaphore/sem_wait.c | 44 |
11 files changed, 461 insertions, 1 deletions
diff --git a/testsuites/psxtests/Makefile.am b/testsuites/psxtests/Makefile.am index 2385ec8c26..553b259245 100644 --- a/testsuites/psxtests/Makefile.am +++ b/testsuites/psxtests/Makefile.am @@ -1103,7 +1103,17 @@ lib_a_SOURCES = psxhdrs/devctl/posix_devctl.c \ psxhdrs/mqueue/mq_send.c \ psxhdrs/mqueue/mq_timedreceive.c \ psxhdrs/mqueue/mq_timedsend.c \ - psxhdrs/mqueue/mq_unlink.c + psxhdrs/mqueue/mq_unlink.c \ + psxhdrs/semaphore/sem_init.c \ + psxhdrs/semaphore/sem_destroy.c \ + psxhdrs/semaphore/sem_open.c \ + psxhdrs/semaphore/sem_close.c \ + psxhdrs/semaphore/sem_getvalue.c \ + psxhdrs/semaphore/sem_unlink.c \ + psxhdrs/semaphore/sem_post.c \ + psxhdrs/semaphore/sem_wait.c \ + psxhdrs/semaphore/sem_trywait.c \ + psxhdrs/semaphore/sem_timedwait.c endif rtems_tests_PROGRAMS = $(psx_tests) diff --git a/testsuites/psxtests/psxhdrs/semaphore/sem_close.c b/testsuites/psxtests/psxhdrs/semaphore/sem_close.c new file mode 100644 index 0000000000..9bac9b9a92 --- /dev/null +++ b/testsuites/psxtests/psxhdrs/semaphore/sem_close.c @@ -0,0 +1,45 @@ +/** + * @file + * @brief sem_close() API Conformance Test + */ + + /* + * COPYRIGHT (c) 2018. + * Himanshu Sekhar Nayak + * + * Permission to use, copy, modify, and/or distribute this software + * for any purpose with or without fee is hereby granted. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL + * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR + * BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES + * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, + * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, + * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + + #ifdef HAVE_CONFIG_H + #include "config.h" + #endif + + #include <fcntl.h> + #include <sys/stat.h> + #include <semaphore.h> + + int test( void ); + + int test( void ) + { + sem_t *sem1; + int oflag = O_CREAT; + int result; + int value; + + value = 1; + + sem1 = sem_open( "sem", oflag, 0777, value ); + result = sem_close( sem1 ); + + return result; + } diff --git a/testsuites/psxtests/psxhdrs/semaphore/sem_destroy.c b/testsuites/psxtests/psxhdrs/semaphore/sem_destroy.c new file mode 100644 index 0000000000..13599ca072 --- /dev/null +++ b/testsuites/psxtests/psxhdrs/semaphore/sem_destroy.c @@ -0,0 +1,45 @@ +/** + * @file + * @brief sem_destroy() API Conformance Test + */ + + /* + * COPYRIGHT (c) 2018. + * Himanshu Sekhar Nayak + * + * Permission to use, copy, modify, and/or distribute this software + * for any purpose with or without fee is hereby granted. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL + * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR + * BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES + * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, + * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, + * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + + #ifdef HAVE_CONFIG_H + #include "config.h" + #endif + + #include <fcntl.h> + #include <sys/stat.h> + #include <semaphore.h> + + int test( void ); + + int test( void ) + { + sem_t *sem1; + int oflag = O_CREAT; + int result; + int value; + + value = 1; + + sem1 = sem_open( "sem", oflag, 0777, value ); + result = sem_destroy( sem1 ); + + return result; + } diff --git a/testsuites/psxtests/psxhdrs/semaphore/sem_getvalue.c b/testsuites/psxtests/psxhdrs/semaphore/sem_getvalue.c new file mode 100644 index 0000000000..1aefeafe19 --- /dev/null +++ b/testsuites/psxtests/psxhdrs/semaphore/sem_getvalue.c @@ -0,0 +1,46 @@ +/** + * @file + * @brief sem_getval() API Conformance Test + */ + + /* + * COPYRIGHT (c) 2018. + * Himanshu Sekhar Nayak + * + * Permission to use, copy, modify, and/or distribute this software + * for any purpose with or without fee is hereby granted. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL + * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR + * BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES + * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, + * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, + * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + + #ifdef HAVE_CONFIG_H + #include "config.h" + #endif + + #include <semaphore.h> + + int test( void ); + + int test( void ) + { + sem_t sem; + int pshared; + unsigned int value; + int sval; + int result; + + pshared = 0; + value = 1; + sval = 1; + + sem_init( &sem, pshared, value ); + result = sem_getvalue( &sem, &sval ); + + return result; + } diff --git a/testsuites/psxtests/psxhdrs/semaphore/sem_init.c b/testsuites/psxtests/psxhdrs/semaphore/sem_init.c new file mode 100644 index 0000000000..0f8c771e65 --- /dev/null +++ b/testsuites/psxtests/psxhdrs/semaphore/sem_init.c @@ -0,0 +1,43 @@ +/** + * @file + * @brief sem_init() API Conformance Test + */ + + /* + * COPYRIGHT (c) 2018. + * Himanshu Sekhar Nayak + * + * Permission to use, copy, modify, and/or distribute this software + * for any purpose with or without fee is hereby granted. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL + * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR + * BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES + * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, + * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, + * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + + #ifdef HAVE_CONFIG_H + #include "config.h" + #endif + + #include <semaphore.h> + + int test( void ); + + int test( void ) + { + sem_t sem; + int pshared; + unsigned int value; + int result; + + pshared = 0; + value = 1; + + result = sem_init( &sem, pshared, value ); + + return result; + } diff --git a/testsuites/psxtests/psxhdrs/semaphore/sem_open.c b/testsuites/psxtests/psxhdrs/semaphore/sem_open.c new file mode 100644 index 0000000000..d3b63d583b --- /dev/null +++ b/testsuites/psxtests/psxhdrs/semaphore/sem_open.c @@ -0,0 +1,46 @@ +/** + * @file + * @brief sem_open() API Conformance Test + */ + + /* + * COPYRIGHT (c) 2018. + * Himanshu Sekhar Nayak + * + * Permission to use, copy, modify, and/or distribute this software + * for any purpose with or without fee is hereby granted. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL + * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR + * BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES + * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, + * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, + * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + + #ifdef HAVE_CONFIG_H + #include "config.h" + #endif + + #include <fcntl.h> + #include <sys/stat.h> + #include <semaphore.h> + + int test( void ); + + int result = 1; + + int test( void ) + { + sem_t *sem1; + int oflag = O_CREAT; + unsigned int value; + + value = 1; + + sem1 = sem_open( "sem", oflag, 0777, value ); + (void) sem1; + + return result; + } diff --git a/testsuites/psxtests/psxhdrs/semaphore/sem_post.c b/testsuites/psxtests/psxhdrs/semaphore/sem_post.c new file mode 100644 index 0000000000..5612c70e68 --- /dev/null +++ b/testsuites/psxtests/psxhdrs/semaphore/sem_post.c @@ -0,0 +1,44 @@ +/** + * @file + * @brief sem_post() API Conformance Test + */ + + /* + * COPYRIGHT (c) 2018. + * Himanshu Sekhar Nayak + * + * Permission to use, copy, modify, and/or distribute this software + * for any purpose with or without fee is hereby granted. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL + * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR + * BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES + * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, + * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, + * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + + #ifdef HAVE_CONFIG_H + #include "config.h" + #endif + + #include <semaphore.h> + + int test( void ); + + int test( void ) + { + sem_t sem; + int pshared; + unsigned int value; + int result; + + pshared = 0; + value = 1; + + sem_init( &sem, pshared, value ); + result = sem_post( &sem ); + + return result; + } diff --git a/testsuites/psxtests/psxhdrs/semaphore/sem_timedwait.c b/testsuites/psxtests/psxhdrs/semaphore/sem_timedwait.c new file mode 100644 index 0000000000..9a1827a397 --- /dev/null +++ b/testsuites/psxtests/psxhdrs/semaphore/sem_timedwait.c @@ -0,0 +1,49 @@ +/** + * @file + * @brief sem_timedwait() API Conformance Test + */ + + /* + * COPYRIGHT (c) 2018. + * Himanshu Sekhar Nayak + * + * Permission to use, copy, modify, and/or distribute this software + * for any purpose with or without fee is hereby granted. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL + * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR + * BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES + * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, + * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, + * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + + #ifdef HAVE_CONFIG_H + #include "config.h" + #endif + + #include <fcntl.h> + #include <time.h> + #include <semaphore.h> + + int test( void ); + + int test( void ) + { + sem_t sem; + struct timespec abs_timeout; + int pshared; + unsigned int value; + int result; + + pshared = 0; + value = 1; + abs_timeout.tv_sec = 0; + abs_timeout.tv_nsec = 0; + + sem_init( &sem, pshared, value ); + result = sem_timedwait( &sem, &abs_timeout ); + + return result; + } diff --git a/testsuites/psxtests/psxhdrs/semaphore/sem_trywait.c b/testsuites/psxtests/psxhdrs/semaphore/sem_trywait.c new file mode 100644 index 0000000000..25486fb679 --- /dev/null +++ b/testsuites/psxtests/psxhdrs/semaphore/sem_trywait.c @@ -0,0 +1,44 @@ +/** + * @file + * @brief sem_trywait() API Conformance Test + */ + + /* + * COPYRIGHT (c) 2018. + * Himanshu Sekhar Nayak + * + * Permission to use, copy, modify, and/or distribute this software + * for any purpose with or without fee is hereby granted. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL + * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR + * BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES + * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, + * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, + * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + + #ifdef HAVE_CONFIG_H + #include "config.h" + #endif + + #include <semaphore.h> + + int test( void ); + + int test( void ) + { + sem_t sem; + int pshared; + unsigned int value; + int result; + + pshared = 0; + value = 1; + + sem_init( &sem, pshared, value ); + result = sem_trywait( &sem ); + + return result; + } diff --git a/testsuites/psxtests/psxhdrs/semaphore/sem_unlink.c b/testsuites/psxtests/psxhdrs/semaphore/sem_unlink.c new file mode 100644 index 0000000000..8f4619a960 --- /dev/null +++ b/testsuites/psxtests/psxhdrs/semaphore/sem_unlink.c @@ -0,0 +1,44 @@ +/** + * @file + * @brief sem_unlink() API Conformance Test + */ + + /* + * COPYRIGHT (c) 2018. + * Himanshu Sekhar Nayak + * + * Permission to use, copy, modify, and/or distribute this software + * for any purpose with or without fee is hereby granted. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL + * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR + * BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES + * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, + * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, + * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + + #ifdef HAVE_CONFIG_H + #include "config.h" + #endif + + #include <semaphore.h> + + int test( void ); + + int test( void ) + { + sem_t sem; + int pshared; + unsigned int value; + int result; + + pshared = 0; + value = 1; + + sem_init( &sem, pshared, value ); + result = sem_unlink( "sem" ); + + return result; + } diff --git a/testsuites/psxtests/psxhdrs/semaphore/sem_wait.c b/testsuites/psxtests/psxhdrs/semaphore/sem_wait.c new file mode 100644 index 0000000000..03d77cfce8 --- /dev/null +++ b/testsuites/psxtests/psxhdrs/semaphore/sem_wait.c @@ -0,0 +1,44 @@ +/** + * @file + * @brief sem_wait() API Conformance Test + */ + + /* + * COPYRIGHT (c) 2018. + * Himanshu Sekhar Nayak + * + * Permission to use, copy, modify, and/or distribute this software + * for any purpose with or without fee is hereby granted. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL + * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR + * BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES + * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, + * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, + * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + + #ifdef HAVE_CONFIG_H + #include "config.h" + #endif + + #include <semaphore.h> + + int test( void ); + + int test( void ) + { + sem_t sem; + int pshared; + unsigned int value; + int result; + + pshared = 0; + value = 1; + + sem_init( &sem, pshared, value ); + result = sem_wait( &sem ); + + return result; + } |