summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--testsuites/psxtests/Makefile.am6
-rw-r--r--testsuites/psxtests/psxhdrs/setjmp/longjmp.c36
-rw-r--r--testsuites/psxtests/psxhdrs/setjmp/setjmp.c34
-rw-r--r--testsuites/psxtests/psxhdrs/setjmp/siglongjmp.c36
-rw-r--r--testsuites/psxtests/psxhdrs/setjmp/sigsetjmp.c35
5 files changed, 146 insertions, 1 deletions
diff --git a/testsuites/psxtests/Makefile.am b/testsuites/psxtests/Makefile.am
index 5af3824fb5..3dd8fe0139 100644
--- a/testsuites/psxtests/Makefile.am
+++ b/testsuites/psxtests/Makefile.am
@@ -1811,7 +1811,11 @@ lib_a_SOURCES = psxhdrs/devctl/posix_devctl.c \
psxhdrs/stdlib/wcstombs.c \
psxhdrs/stdlib/wctomb.c \
psxhdrs/sys/times/times.c \
- psxhdrs/sys/resource/getrusage.c
+ psxhdrs/sys/resource/getrusage.c \
+ psxhdrs/setjmp/longjmp.c \
+ psxhdrs/setjmp/setjmp.c \
+ psxhdrs/setjmp/siglongjmp.c \
+ psxhdrs/setjmp/sigsetjmp.c
## Not supported by RTEMS, but POSIX API Compliance tests exist.
## lib_a_SOURCES += psxhdrs/ulimit/ulimit.c
diff --git a/testsuites/psxtests/psxhdrs/setjmp/longjmp.c b/testsuites/psxtests/psxhdrs/setjmp/longjmp.c
new file mode 100644
index 0000000000..11ad09e76a
--- /dev/null
+++ b/testsuites/psxtests/psxhdrs/setjmp/longjmp.c
@@ -0,0 +1,36 @@
+/**
+ * @file
+ * @brief longjmp() API Conformance Test
+ */
+
+/*
+ * COPYRIGHT (c) 2018.
+ * Abhimanyu Raghuvanshi
+ *
+ * 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 <setjmp.h>
+
+int test(void);
+
+int test(void)
+{
+ jmp_buf a;
+ int b = 1;
+ longjmp(a, b);
+ return 0;
+} \ No newline at end of file
diff --git a/testsuites/psxtests/psxhdrs/setjmp/setjmp.c b/testsuites/psxtests/psxhdrs/setjmp/setjmp.c
new file mode 100644
index 0000000000..fc53977a03
--- /dev/null
+++ b/testsuites/psxtests/psxhdrs/setjmp/setjmp.c
@@ -0,0 +1,34 @@
+/**
+ * @file
+ * @brief setjmp() API Conformance Test
+ */
+
+/*
+ * COPYRIGHT (c) 2018.
+ * Abhimanyu Raghuvanshi
+ *
+ * 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 <setjmp.h>
+
+int test(void);
+
+int test(void)
+{
+ jmp_buf a;
+ return setjmp(a);
+} \ No newline at end of file
diff --git a/testsuites/psxtests/psxhdrs/setjmp/siglongjmp.c b/testsuites/psxtests/psxhdrs/setjmp/siglongjmp.c
new file mode 100644
index 0000000000..761ec0fc8a
--- /dev/null
+++ b/testsuites/psxtests/psxhdrs/setjmp/siglongjmp.c
@@ -0,0 +1,36 @@
+/**
+ * @file
+ * @brief siglongjmp() API Conformance Test
+ */
+
+/*
+ * COPYRIGHT (c) 2018.
+ * Abhimanyu Raghuvanshi
+ *
+ * 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 <setjmp.h>
+
+int test(void);
+
+int test(void)
+{
+ sigjmp_buf a;
+ int b = 1;
+ siglongjmp(a, b);
+ return 0;
+} \ No newline at end of file
diff --git a/testsuites/psxtests/psxhdrs/setjmp/sigsetjmp.c b/testsuites/psxtests/psxhdrs/setjmp/sigsetjmp.c
new file mode 100644
index 0000000000..fb0500fc3d
--- /dev/null
+++ b/testsuites/psxtests/psxhdrs/setjmp/sigsetjmp.c
@@ -0,0 +1,35 @@
+/**
+ * @file
+ * @brief sigsetjmp() API Conformance Test
+ */
+
+/*
+ * COPYRIGHT (c) 2018.
+ * Abhimanyu Raghuvanshi
+ *
+ * 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 <setjmp.h>
+
+int test(void);
+
+int test(void)
+{
+ sigjmp_buf a;
+ int b = 1;
+ return sigsetjmp(a, b);
+} \ No newline at end of file