diff options
Diffstat (limited to 'test/signal')
-rw-r--r-- | test/signal/.indent.pro | 33 | ||||
-rw-r--r-- | test/signal/Makefile | 8 | ||||
-rw-r--r-- | test/signal/Makefile.in | 6 | ||||
-rw-r--r-- | test/signal/sigchld.c | 68 | ||||
-rw-r--r-- | test/signal/signal.c | 95 | ||||
-rw-r--r-- | test/signal/tst-raise.c | 62 | ||||
-rw-r--r-- | test/signal/tst-signal.c | 44 | ||||
-rw-r--r-- | test/signal/tst-signalfd.c | 63 | ||||
-rw-r--r-- | test/signal/tst-sigset.c | 45 | ||||
-rw-r--r-- | test/signal/tst-sigsimple.c | 56 |
10 files changed, 0 insertions, 480 deletions
diff --git a/test/signal/.indent.pro b/test/signal/.indent.pro deleted file mode 100644 index 492ecf1c7..000000000 --- a/test/signal/.indent.pro +++ /dev/null @@ -1,33 +0,0 @@ ---blank-lines-after-declarations ---blank-lines-after-procedures ---break-before-boolean-operator ---no-blank-lines-after-commas ---braces-on-if-line ---braces-on-struct-decl-line ---comment-indentation25 ---declaration-comment-column25 ---no-comment-delimiters-on-blank-lines ---cuddle-else ---continuation-indentation4 ---case-indentation0 ---else-endif-column33 ---space-after-cast ---line-comments-indentation0 ---declaration-indentation1 ---dont-format-first-column-comments ---dont-format-comments ---honour-newlines ---indent-level4 -/* changed from 0 to 4 */ ---parameter-indentation4 ---line-length78 /* changed from 75 */ ---continue-at-parentheses ---no-space-after-function-call-names ---dont-break-procedure-type ---dont-star-comments ---leave-optional-blank-lines ---dont-space-special-semicolon ---tab-size4 -/* additions by Mark */ ---case-brace-indentation0 ---leave-preprocessor-space diff --git a/test/signal/Makefile b/test/signal/Makefile deleted file mode 100644 index c2afb5f50..000000000 --- a/test/signal/Makefile +++ /dev/null @@ -1,8 +0,0 @@ -# uClibc signal tests -# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball. - -top_builddir=../../ -top_srcdir=../../ -include ../Rules.mak --include Makefile.in -include ../Test.mak diff --git a/test/signal/Makefile.in b/test/signal/Makefile.in deleted file mode 100644 index c8e2545fa..000000000 --- a/test/signal/Makefile.in +++ /dev/null @@ -1,6 +0,0 @@ -# uClibc signal tests -# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball. - -ifeq ($(UCLIBC_HAS_OBSOLETE_BSD_SIGNAL),) -TESTS_DISABLED := tst-sigsimple -endif diff --git a/test/signal/sigchld.c b/test/signal/sigchld.c deleted file mode 100644 index 22febaca7..000000000 --- a/test/signal/sigchld.c +++ /dev/null @@ -1,68 +0,0 @@ -#include <stdlib.h> -#include <string.h> -#include <errno.h> -#include <stdio.h> -#include <sys/signal.h> -#include <sys/wait.h> -#include <unistd.h> - - -#ifdef __ARCH_USE_MMU__ - -static void test_handler(int signo) -{ - write(1, "caught SIGCHLD\n", 15); - return; -} - -int main(void) -{ - pid_t mypid; - struct sigaction siga; - static sigset_t set; - - /* Set up sighandling */ - sigfillset(&set); - siga.sa_handler = test_handler; - siga.sa_mask = set; - siga.sa_flags = 0; - if (sigaction(SIGCHLD, &siga, (struct sigaction *)NULL) != 0) { - fprintf(stderr, "sigaction choked: %s!", strerror(errno)); - exit(EXIT_FAILURE); - } - - /* Setup a child process to exercise the sig handling for us */ - mypid = getpid(); - if (fork() == 0) { - int i; - - for (i=0; i < 3; i++) { - sleep(2); - kill(mypid, SIGCHLD); - } - _exit(EXIT_SUCCESS); - } - - - /* Wait for signals */ - write(1, "waiting for a SIGCHLD\n",22); - for(;;) { - sleep(10); - if (waitpid(-1, NULL, WNOHANG | WUNTRACED) > 0) - break; - write(1, "after sleep\n", 12); - } - - printf("Bye-bye! All done!\n"); - return 0; -} - -#else - -int main(void) -{ - printf("Skipping test on non-mmu host!\n"); - return 0; -} - -#endif diff --git a/test/signal/signal.c b/test/signal/signal.c deleted file mode 100644 index 01d1a785f..000000000 --- a/test/signal/signal.c +++ /dev/null @@ -1,95 +0,0 @@ -/* vi: set sw=4 ts=4: */ -/* - * signal testing function for uClibc - * Copyright (C) 2000-2006 by Erik Andersen <andersen@uclibc.org> - * - * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball. - */ - -#ifndef _GNU_SOURCE -# define _GNU_SOURCE -#endif -#include <errno.h> -#include <stdio.h> -#include <stdlib.h> -#include <string.h> -#include <strings.h> -#include <fcntl.h> -#include <signal.h> - - -/* -------------------------------------------------*/ -/* This stuff is common to all the testing routines */ -/* -------------------------------------------------*/ -const char *it = "<UNSET>"; /* Routine name for message routines. */ -size_t errors = 0; - -static void check(int thing, int number) -{ - if (!thing) { - printf("%s: flunked test %d\n", it, number); - ++errors; - } -} - -#if 0 -static void equal(const char *a, const char *b, int number) -{ - check(a != NULL && b != NULL && (strcmp(a, b) == 0), number); -} -#endif - - -/* -------------------------------------------------*/ -/* Let the tests begin.... */ -/* -------------------------------------------------*/ - -int global_int = 0; - -static void set_global_int_to_one(int signum) -{ - printf ("Received signal %d (%s).\n", signum, strsignal(signum)); - global_int = 1; - return; -} - -static void signal_test_1(void) -{ - global_int = 0; - - it = "global variable set from signal handler"; - if (signal(SIGUSR1, set_global_int_to_one) == SIG_ERR) { - perror("signal(SIGUSR1) failed"); - exit(-1); - } - raise(SIGUSR1); - - /* This should already have jumped to the signal handler */ - check((global_int == 1), 1); - - global_int = 0; - if (signal(SIGUSR1, SIG_IGN) == SIG_ERR) { - perror("signal(SIGUSR1) failed"); - exit(-1); - } - raise(SIGUSR1); - /* This should not go to the signal handler this time since we */ - check((global_int == 0), 1); -} - - -int main(void) -{ - int status; - - signal_test_1(); - - if (errors == 0) { - status = EXIT_SUCCESS; - printf("No errors.\n"); - } else { - status = EXIT_FAILURE; - printf("%lu errors.\n", (unsigned long)errors); - } - exit(status); -} diff --git a/test/signal/tst-raise.c b/test/signal/tst-raise.c deleted file mode 100644 index 534ae7151..000000000 --- a/test/signal/tst-raise.c +++ /dev/null @@ -1,62 +0,0 @@ -/* Copyright (C) 2003 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Jakub Jelinek <jakub@redhat.com>, 2003. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - <http://www.gnu.org/licenses/>. */ - -#include <errno.h> -#include <string.h> -#include <error.h> -#include <signal.h> -#include <stdlib.h> -#include <stdio.h> - -volatile int count; - -static void -sh (int sig) -{ - ++count; -} - -int -main (void) -{ - struct sigaction sa; - sa.sa_handler = sh; - sigemptyset (&sa.sa_mask); - sa.sa_flags = 0; - if (sigaction (SIGUSR1, &sa, NULL) < 0) - { - printf ("sigaction failed: %s\n", strerror(errno)); - exit (1); - } - if (raise (SIGUSR1) < 0) - { - printf ("first raise failed: %s\n", strerror(errno)); - exit (1); - } - if (raise (SIGUSR1) < 0) - { - printf ("second raise failed: %s\n", strerror(errno)); - exit (1); - } - if (count != 2) - { - printf ("signal handler not called 2 times\n"); - exit (1); - } - exit (0); -} diff --git a/test/signal/tst-signal.c b/test/signal/tst-signal.c deleted file mode 100644 index 6d3178792..000000000 --- a/test/signal/tst-signal.c +++ /dev/null @@ -1,44 +0,0 @@ -#include <signal.h> -#include <stdio.h> -#include <stdlib.h> -#include <string.h> - -int win = 0; - -static void -handler (int sig) -{ - printf ("Received signal %d (%s).\n", sig, strsignal(sig)); - win = 1; -} - -int -main (void) -{ - if (signal (SIGTERM, handler) == SIG_ERR) - { - perror ("signal: SIGTERM"); - exit (EXIT_FAILURE); - } - - puts ("Set handler."); - - printf ("Sending myself signal %d.\n", SIGTERM); - fflush (stdout); - - if (raise (SIGTERM) < 0) - { - perror ("raise: SIGTERM"); - exit (EXIT_FAILURE); - } - - if (!win) - { - puts ("Didn't get any signal. Test FAILED!"); - exit (EXIT_FAILURE); - } - - puts ("Got a signal. Test succeeded."); - - return EXIT_SUCCESS; -} diff --git a/test/signal/tst-signalfd.c b/test/signal/tst-signalfd.c deleted file mode 100644 index 1fbb748aa..000000000 --- a/test/signal/tst-signalfd.c +++ /dev/null @@ -1,63 +0,0 @@ -/* vi: set sw=4 ts=4 sts=4: */ -/* - * signalfd test for uClibc - * Copyright (C) 2012 by Kevin Cernekee <cernekee@gmail.com> - * - * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball. - */ - -#include <stdio.h> -#include <stdlib.h> -#include <string.h> -#include <unistd.h> -#include <errno.h> -#include <error.h> -#include <signal.h> -#include <sys/signalfd.h> -#include <sys/fcntl.h> - -static int -do_test(void) -{ - int fd, ret, result = 0; - struct signalfd_siginfo ssi; - sigset_t mask; - - sigemptyset(&mask); - sigaddset(&mask, SIGUSR1); - sigprocmask(SIG_BLOCK, &mask, NULL); - - fd = signalfd(-1, &mask, SFD_NONBLOCK); - if (fd < 0) { - printf("signalfd() failed: %s\n", strerror(errno)); - result = 1; - } - - /* this should return immediately with EAGAIN due to SFD_NONBLOCK */ - memset(&ssi, 0, sizeof(ssi)); - ret = read(fd, &ssi, sizeof(ssi)); - if (ret != -1 || errno != EAGAIN) { - error(0, 0, "first read() returned %d", ret); - result = 1; - } - - kill(getpid(), SIGUSR1); - - /* this should return a struct ssi indicating receipt of SIGUSR1 */ - ret = read(fd, &ssi, sizeof(ssi)); - if (ret != sizeof(ssi)) { - error(0, 0, "second read() returned %d", ret); - result = 1; - } - - if (ssi.ssi_signo != SIGUSR1) { - error(0, 0, "ssi contains bogus signo"); - result = 1; - } - - return result; -} - -#define TIMEOUT 5 -#define TEST_FUNCTION do_test () -#include "../test-skeleton.c" diff --git a/test/signal/tst-sigset.c b/test/signal/tst-sigset.c deleted file mode 100644 index bc1b05764..000000000 --- a/test/signal/tst-sigset.c +++ /dev/null @@ -1,45 +0,0 @@ -/* Test sig*set functions. */ - -#include <signal.h> -#include <string.h> -#include <errno.h> -#include <stdio.h> - -#define TEST_FUNCTION do_test () -static int -do_test (void) -{ - int result = 0; - int sig = -1; - -#define TRY(call) \ - if (call) \ - { \ - printf ("%s (sig = %d): %s\n", #call, sig, strerror(errno)); \ - result = 1; \ - } \ - else - - - sigset_t set; - TRY (sigemptyset (&set) != 0); - -#ifdef SIGRTMAX - int max_sig = SIGRTMAX; -#else - int max_sig = NSIG - 1; -#endif - - for (sig = 1; sig <= max_sig; ++sig) - { - TRY (sigismember (&set, sig) != 0); - TRY (sigaddset (&set, sig) != 0); - TRY (sigismember (&set, sig) == 0); - TRY (sigdelset (&set, sig) != 0); - TRY (sigismember (&set, sig) != 0); - } - - return result; -} - -#include "../test-skeleton.c" diff --git a/test/signal/tst-sigsimple.c b/test/signal/tst-sigsimple.c deleted file mode 100644 index 80220eed0..000000000 --- a/test/signal/tst-sigsimple.c +++ /dev/null @@ -1,56 +0,0 @@ -/* Copyright (C) 2003 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Ulrich Drepper <drepper@redhat.com>, 2003. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - <http://www.gnu.org/licenses/>. */ - -#include <errno.h> -#include <signal.h> -#include <stdio.h> -#include <string.h> - - -static int -do_test (void) -{ - int result = 0; - int e; - -#define RUN(test) \ - errno = 0; \ - e = test; \ - if (e != -1) \ - { \ - printf ("%s returned %d\n", #test, e); \ - result = 1; \ - } \ - else if (errno != EINVAL) \ - { \ - printf ("%s didn't set errno to EINVAL (%s instead)\n", \ - #test, strerror (errno)); \ - result = 1; \ - } - - RUN (sighold (-1)); - RUN (sighold (_NSIG + 100)); - - RUN (sigrelse (-1)); - RUN (sigrelse (_NSIG + 100)); - - return result; -} - -#define TEST_FUNCTION do_test () -#include "../test-skeleton.c" |