1 /* Test of sigdescr_np() function.
3 Copyright (C) 2020 Free Software Foundation, Inc.
5 This program is free software; you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation; either version 3, or (at your option)
10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details.
15 You should have received a copy of the GNU General Public License
16 along with this program; if not, see <https://www.gnu.org/licenses/>. */
23 #include "signature.h"
24 SIGNATURE_CHECK (sigdescr_np
, const char *, (int));
33 /* Signals specified by ISO C. */
34 ASSERT (strcmp (sigdescr_np (SIGABRT
), "Aborted") == 0);
35 ASSERT (strcmp (sigdescr_np (SIGFPE
), "Floating point exception") == 0
36 || strcmp (sigdescr_np (SIGFPE
), "Arithmetic exception") == 0);
37 ASSERT (strcmp (sigdescr_np (SIGILL
), "Illegal instruction") == 0);
38 ASSERT (strcmp (sigdescr_np (SIGINT
), "Interrupt") == 0);
39 ASSERT (strcmp (sigdescr_np (SIGSEGV
), "Segmentation fault") == 0);
40 ASSERT (strcmp (sigdescr_np (SIGTERM
), "Terminated") == 0);
42 /* Signals specified by POSIX.
43 <https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/signal.h.html> */
45 ASSERT (strcmp (sigdescr_np (SIGALRM
), "Alarm clock") == 0);
48 ASSERT (strcmp (sigdescr_np (SIGBUS
), "Bus error") == 0);
51 ASSERT (strcmp (sigdescr_np (SIGCHLD
), "Child exited") == 0 /* glibc */
52 || strcmp (sigdescr_np (SIGCHLD
), "Child stopped or exited") == 0);
55 ASSERT (strcmp (sigdescr_np (SIGCONT
), "Continued") == 0);
58 ASSERT (strcmp (sigdescr_np (SIGHUP
), "Hangup") == 0);
61 ASSERT (strcmp (sigdescr_np (SIGKILL
), "Killed") == 0);
64 ASSERT (strcmp (sigdescr_np (SIGPIPE
), "Broken pipe") == 0);
67 ASSERT (strcmp (sigdescr_np (SIGQUIT
), "Quit") == 0);
70 ASSERT (strcmp (sigdescr_np (SIGSTOP
), "Stopped (signal)") == 0);
73 ASSERT (strcmp (sigdescr_np (SIGTSTP
), "Stopped") == 0);
76 ASSERT (strcmp (sigdescr_np (SIGTTIN
), "Stopped (tty input)") == 0);
79 ASSERT (strcmp (sigdescr_np (SIGTTOU
), "Stopped (tty output)") == 0);
82 ASSERT (strcmp (sigdescr_np (SIGUSR1
), "User defined signal 1") == 0);
85 ASSERT (strcmp (sigdescr_np (SIGUSR2
), "User defined signal 2") == 0);
88 ASSERT (strcmp (sigdescr_np (SIGPOLL
), "I/O possible") == 0);
91 ASSERT (strcmp (sigdescr_np (SIGPROF
), "Profiling timer expired") == 0);
94 ASSERT (strcmp (sigdescr_np (SIGSYS
), "Bad system call") == 0);
97 ASSERT (strcmp (sigdescr_np (SIGTRAP
), "Trace/breakpoint trap") == 0);
100 ASSERT (strcmp (sigdescr_np (SIGURG
), "Urgent I/O condition") == 0);
103 ASSERT (strcmp (sigdescr_np (SIGVTALRM
), "Virtual timer expired") == 0);
106 ASSERT (strcmp (sigdescr_np (SIGXCPU
), "CPU time limit exceeded") == 0);
109 ASSERT (strcmp (sigdescr_np (SIGXFSZ
), "File size limit exceeded") == 0);
112 /* Other signals on other systems. */
115 ASSERT (strcmp (sigdescr_np (SIGBREAK
), "Ctrl-Break") == 0);
119 ASSERT (strcmp (sigdescr_np (SIGCKPT
), "Checkpoint") == 0);
123 ASSERT (strcmp (sigdescr_np (SIGCPUFAIL
), "CPU going down") == 0);
127 ASSERT (strcmp (sigdescr_np (SIGDANGER
), "Swap space nearly exhausted") == 0);
129 /* Mac OS X, FreeBSD, NetBSD, OpenBSD, Minix, AIX, IRIX, Cygwin, mingw */
131 ASSERT (strcmp (sigdescr_np (SIGEMT
), "Instruction emulation needed") == 0);
133 /* Mac OS X, FreeBSD, NetBSD, OpenBSD, Minix */
135 ASSERT (strcmp (sigdescr_np (SIGINFO
), "Information request") == 0);
139 ASSERT (strcmp (sigdescr_np (SIGKAP
), "Keep Alive Poll") == 0);
143 ASSERT (strcmp (sigdescr_np (SIGKILLTHR
), "Kill thread") == 0);
147 ASSERT (strcmp (sigdescr_np (SIGKMEM
), "Kernel memory request") == 0);
151 ASSERT (strcmp (sigdescr_np (SIGKMESS
), "Kernel message") == 0);
155 ASSERT (strcmp (sigdescr_np (SIGKSIG
), "Kernel signal") == 0);
159 ASSERT (strcmp (sigdescr_np (SIGKSIGSM
), "Kernel signal for signal manager") == 0);
163 ASSERT (strcmp (sigdescr_np (SIGLIBRT
), "Real-time library interrupt") == 0);
167 ASSERT (strcmp (sigdescr_np (SIGMIGRATE
), "Process migration") == 0);
171 ASSERT (strcmp (sigdescr_np (SIGMSG
), "Message in the ring") == 0);
175 ASSERT (strcmp (sigdescr_np (SIGPRE
), "Programmed exception") == 0);
179 ASSERT (strcmp (sigdescr_np (SIGPTINTR
), "Pthread interrupt") == 0);
183 ASSERT (strcmp (sigdescr_np (SIGPTRESCHED
), "Pthread rescheduling") == 0);
185 /* Linux, NetBSD, Minix, AIX, IRIX, Cygwin */
187 ASSERT (strcmp (sigdescr_np (SIGPWR
), "Power failure") == 0);
191 ASSERT (strcmp (sigdescr_np (SIGRECONFIG
), "Dynamic logical partitioning changed") == 0);
195 ASSERT (strcmp (sigdescr_np (SIGRECOVERY
), "Kernel recovery") == 0);
199 ASSERT (strcmp (sigdescr_np (SIGRESTART
), "Checkpoint restart") == 0);
203 ASSERT (strcmp (sigdescr_np (SIGRETRACT
), "Retracting Keep Alive Poll") == 0);
207 ASSERT (strcmp (sigdescr_np (SIGSAK
), "Secure Attention Key") == 0);
211 ASSERT (strcmp (sigdescr_np (SIGSNDELAY
), "Done sending message") == 0);
215 ASSERT (strcmp (sigdescr_np (SIGSOUND
), "Sound configuration changed") == 0);
219 ASSERT (strcmp (sigdescr_np (SIGSTKFLT
), "Stack fault") == 0);
223 ASSERT (strcmp (sigdescr_np (SIGSYSERROR
), "Kernel error") == 0);
227 ASSERT (strcmp (sigdescr_np (SIGTALRM
), "Thread alarm clock") == 0);
229 /* FreeBSD, OpenBSD */
231 ASSERT (strcmp (sigdescr_np (SIGTHR
), "Thread library interrupt") == 0);
235 ASSERT (strcmp (sigdescr_np (SIGUME
), "Uncorrectable memory error") == 0);
239 ASSERT (strcmp (sigdescr_np (SIGVIRT
), "Virtual time alarm clock") == 0);
243 ASSERT (strcmp (sigdescr_np (SIGWAITING
), "Thread waiting") == 0);
245 /* Linux, Mac OS X, FreeBSD, NetBSD, OpenBSD, Minix, AIX, IRIX, Cygwin, Haiku */
247 ASSERT (strcmp (sigdescr_np (SIGWINCH
), "Window changed") == 0 /* glibc */
248 || strcmp (sigdescr_np (SIGWINCH
), "Window size changed") == 0);
251 ASSERT (sigdescr_np (-714) == NULL
);