summaryrefslogtreecommitdiffstats
path: root/testsuites/psxtests/psxhdrs
diff options
context:
space:
mode:
authorHimanshu40 <himanshuwindows8.1@gmail.com>2018-11-29 22:33:19 +0530
committerJoel Sherrill <joel@rtems.org>2018-11-29 11:21:40 -0600
commit7ea4c0260468c33dcca163626838d517f040b5d5 (patch)
tree35bb54025a94cfa10be36b51eede076cd218ab02 /testsuites/psxtests/psxhdrs
parentbfin/shared/dev/clock.c: Include rtems/score/thread.h (diff)
downloadrtems-7ea4c0260468c33dcca163626838d517f040b5d5.tar.bz2
psxtests : Add POSIX API Signature Compliance Tests for semaphore.h (GCI 2018)
Diffstat (limited to '')
-rw-r--r--testsuites/psxtests/psxhdrs/semaphore/sem_close.c45
-rw-r--r--testsuites/psxtests/psxhdrs/semaphore/sem_destroy.c45
-rw-r--r--testsuites/psxtests/psxhdrs/semaphore/sem_getvalue.c46
-rw-r--r--testsuites/psxtests/psxhdrs/semaphore/sem_init.c43
-rw-r--r--testsuites/psxtests/psxhdrs/semaphore/sem_open.c46
-rw-r--r--testsuites/psxtests/psxhdrs/semaphore/sem_post.c44
-rw-r--r--testsuites/psxtests/psxhdrs/semaphore/sem_timedwait.c49
-rw-r--r--testsuites/psxtests/psxhdrs/semaphore/sem_trywait.c44
-rw-r--r--testsuites/psxtests/psxhdrs/semaphore/sem_unlink.c44
-rw-r--r--testsuites/psxtests/psxhdrs/semaphore/sem_wait.c44
10 files changed, 450 insertions, 0 deletions
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;
+ }