1 /* vi: set sw=4 ts=4: */
3 * signal testing function for uClibc
5 * Copyright (C) 2000 by Lineo, inc. and Erik Andersen
6 * Copyright (C) 2000,2001 by Erik Andersen <andersen@uclibc.org>
7 * Written by Erik Andersen <andersen@uclibc.org>
9 * This program is free software; you can redistribute it and/or modify it
10 * under the terms of the GNU Library General Public License as published by
11 * the Free Software Foundation; either version 2 of the License, or (at your
12 * option) any later version.
14 * This program is distributed in the hope that it will be useful, but WITHOUT
15 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
16 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License
19 * You should have received a copy of the GNU Library General Public License
20 * along with this program; if not, write to the Free Software Foundation,
21 * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
38 /* -------------------------------------------------*/
39 /* This stuff is common to all the testing routines */
40 /* -------------------------------------------------*/
41 const char *it = "<UNSET>"; /* Routine name for message routines. */
44 void check(int thing, int number)
47 printf("%s: flunked test %d\n", it, number);
52 void equal(const char *a, const char *b, int number)
54 check(a != NULL && b != NULL && (strcmp(a, b) == 0), number);
58 /* -------------------------------------------------*/
59 /* Let the tests begin.... */
60 /* -------------------------------------------------*/
64 void set_global_int_to_one(int signum)
66 printf ("Received signal %d (%s).\n", signum, strsignal(signum));
71 void signal_test_1(void)
75 it = "global variable set from signal handler";
76 if (signal(SIGUSR1, set_global_int_to_one) == SIG_ERR) {
77 perror("signal(SIGUSR1) failed");
82 /* This should already have jumped to the signal handler */
83 check((global_int == 1), 1);
86 if (signal(SIGUSR1, SIG_IGN) == SIG_ERR) {
87 perror("signal(SIGUSR1) failed");
91 /* This should not go to the signal handler this time since we */
92 check((global_int == 0), 1);
103 status = EXIT_SUCCESS;
104 printf("No errors.\n");
106 status = EXIT_FAILURE;
107 printf("%lu errors.\n", (unsigned long)errors);