xref: /openbsd-src/regress/sys/kern/kqueue/main.c (revision c90a81c56dcebd6a1b73fe4aff9b03385b8e63b3)
1 /*	$OpenBSD: main.c,v 1.13 2018/08/13 06:36:29 anton Exp $	*/
2 /*
3  *	Written by Artur Grabowski <art@openbsd.org> 2002 Public Domain
4  */
5 
6 #include <limits.h>
7 #include <stdio.h>
8 #include <stdlib.h>
9 #include <unistd.h>
10 
11 #include "main.h"
12 
13 int
14 main(int argc, char **argv)
15 {
16 	extern char *__progname;
17 	int r, ret, c;
18 
19 	ret = 0;
20 	while ((c = getopt(argc, argv, "fFiIlpPrR:stT")) != -1) {
21 		switch (c) {
22 		case 'f':
23 			ret |= check_inheritance();
24 			break;
25 		case 'F':
26 			ret |= do_fdpass();
27 			break;
28 		case 'i':
29 			ret |= do_timer();
30 			break;
31 		case 'I':
32 			ret |= do_invalid_timer();
33 			break;
34 		case 'l':
35 			ret |= do_flock();
36 			break;
37 		case 'p':
38 			ret |= do_pipe();
39 			break;
40 		case 'P':
41 			ret |= do_process();
42 			break;
43 		case 'r':
44 			ret |= do_random();
45 			break;
46 		case 'R':
47 			r = strtonum(optarg, 1, INT_MAX, NULL);
48 			ret |= do_regress(r);
49 			break;
50 		case 's':
51 			ret |= do_signal();
52 			break;
53 		case 't':
54 			ret |= do_tun();
55 			break;
56 		case 'T':
57 			ret |= do_pty();
58 			break;
59 		default:
60 			fprintf(stderr, "usage: %s -[fFiIlpPrstT] [-R n]\n",
61 			    __progname);
62 			exit(1);
63 		}
64 	}
65 
66 	return (ret);
67 }
68