summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authormarc <>2002-01-02 23:26:57 +0000
committermarc <>2002-01-02 23:26:57 +0000
commit1d7eeb19d97de8941dc2adcdaf398fc0fa1021f0 (patch)
tree96d15bdf6adba2e953592df970a7dbfabf49584c /src
parent4f30fe57b0192300ebaeb9dd5367a67c78c9625a (diff)
downloadopenbsd-1d7eeb19d97de8941dc2adcdaf398fc0fa1021f0.tar.gz
openbsd-1d7eeb19d97de8941dc2adcdaf398fc0fa1021f0.tar.bz2
openbsd-1d7eeb19d97de8941dc2adcdaf398fc0fa1021f0.zip
convert test prog into real regression test
Diffstat (limited to 'src')
-rw-r--r--src/regress/lib/libc/sigreturn/sigret.c15
1 files changed, 12 insertions, 3 deletions
diff --git a/src/regress/lib/libc/sigreturn/sigret.c b/src/regress/lib/libc/sigreturn/sigret.c
index d7af5bc679..fb8bd9222f 100644
--- a/src/regress/lib/libc/sigreturn/sigret.c
+++ b/src/regress/lib/libc/sigreturn/sigret.c
@@ -1,5 +1,5 @@
1/* 1/*
2 * $OpenBSD: sigret.c,v 1.2 2001/12/17 03:31:11 marc Exp $ 2 * $OpenBSD: sigret.c,v 1.3 2002/01/02 23:26:57 marc Exp $
3 * 3 *
4 * Public Domain 4 * Public Domain
5 * 5 *
@@ -20,7 +20,6 @@
20 * 20 *
21 * -i: call sigreturn from a function called by the signal handler 21 * -i: call sigreturn from a function called by the signal handler
22 * 22 *
23 * Program should not exit until killed.
24 */ 23 */
25 24
26#include <sys/time.h> 25#include <sys/time.h>
@@ -33,6 +32,13 @@
33#include <string.h> 32#include <string.h>
34#include <unistd.h> 33#include <unistd.h>
35 34
35/*
36 * sigalarm occurs 50 times/second. Stop running after 10 seconds
37 * (100 interrupts).
38 */
39#define MAX_INTERRUPTS 500
40
41int failed;
36int altstack; 42int altstack;
37int badcall; 43int badcall;
38int clobbercall; 44int clobbercall;
@@ -102,6 +108,7 @@ test2(char *fmt)
102 case 'p': 108 case 'p':
103 break; 109 break;
104 default: 110 default:
111 failed = 1;
105 fprintf(stderr, 112 fprintf(stderr,
106 "unexpected character 0x%02x `%c' in %s: count %d\n", 113 "unexpected character 0x%02x `%c' in %s: count %d\n",
107 *fmt, *fmt, ofmt, count); 114 *fmt, *fmt, ofmt, count);
@@ -167,6 +174,8 @@ main(int argc, char * argv[])
167 174
168 ualarm(10000, 10000); 175 ualarm(10000, 10000);
169 176
170 while (1) 177 while (count < MAX_INTERRUPTS)
171 test2("iclp"); 178 test2("iclp");
179
180 return failed;
172} 181}