summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakob Kaivo <jkk@ung.org>2019-03-01 20:24:54 -0500
committerJakob Kaivo <jkk@ung.org>2019-03-01 20:24:54 -0500
commit9cc79623cc21c52bbf78afdfdbfd8058c5c55af8 (patch)
tree44cb7b3a8fd33eaca97ddf588ceeb527b30960d4
parentadd94c7ea454202a01c5feb96c7e9131f82d7a46 (diff)
<setjmp.h> tests (still disabled until I begin writing the actual code since longjmp() is a _Noreturn function)
-rw-r--r--Makefile1
-rw-r--r--setjmp.c21
2 files changed, 22 insertions, 0 deletions
diff --git a/Makefile b/Makefile
index 5a87be0..59f0da7 100644
--- a/Makefile
+++ b/Makefile
@@ -14,6 +14,7 @@ TESTOBJS=main.o \
limits.o \
locale.o \
math.o \
+ setjmp.o \
signal.o \
stdbool.o \
stddef.o \
diff --git a/setjmp.c b/setjmp.c
new file mode 100644
index 0000000..73f7efc
--- /dev/null
+++ b/setjmp.c
@@ -0,0 +1,21 @@
+#include <setjmp.h>
+#include "test.h"
+
+void test_setjmp_h(void)
+{
+ jmp_buf jb;
+ int r;
+ int expected = 0;
+
+ testing_header("setjmp.h");
+
+ r = setjmp(jb);
+ test_int_equals(r, expected);
+
+ if (r == 0) {
+ expected = 1;
+ longjmp(jb, 1);
+ }
+
+ testing_end();
+}