1/*** 2 This file is part of PulseAudio. 3 4 PulseAudio is free software; you can redistribute it and/or modify 5 it under the terms of the GNU Lesser General Public License as published 6 by the Free Software Foundation; either version 2.1 of the License, 7 or (at your option) any later version. 8 9 PulseAudio is distributed in the hope that it will be useful, but 10 WITHOUT ANY WARRANTY; without even the implied warranty of 11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 General Public License for more details. 13 14 You should have received a copy of the GNU Lesser General Public License 15 along with PulseAudio; if not, see <http://www.gnu.org/licenses/>. 16***/ 17 18#ifdef HAVE_CONFIG_H 19#include <config.h> 20#endif 21 22#include <check.h> 23 24#include <signal.h> 25#include <stdio.h> 26 27#include <pulsecore/macro.h> 28#include <pulsecore/core-util.h> 29 30static const char *names[] = { 31 "SIG-1", 32 "SIG0", 33 "SIGHUP", 34 "SIGINT", 35 "SIGQUIT", 36 "SIGULL", 37 "SIGTRAP", 38 "SIGABRT", 39 "SIGBUS", 40 "SIGFPE", 41 "SIGKILL", 42 "SIGUSR1", 43 "SIGSEGV", 44 "SIGUSR2", 45 "SIGPIPE", 46 "SIGALRM", 47 "SIGTERM", 48 "SIGSTKFLT", 49 "SIGCHLD", 50 "SIGCONT", 51 "SIGSTOP", 52 "SIGTSTP", 53 "SIGTTIN", 54 "SIGTTOU", 55 "SIGURG", 56 "SIGXCPU", 57 "SIGXFSZ", 58 "SIGVTALRM", 59 "SIGPROF", 60 "SIGWINCH", 61 "SIGIO", 62 "SIGPWR", 63 "SIGSYS", 64 "SIG32", 65 "SIG33", 66 "SIGRTMIN+0", 67 "SIGRTMIN+1", 68 "SIGRTMIN+2", 69 "SIGRTMIN+3", 70 "SIGRTMIN+4", 71 "SIGRTMIN+5", 72 "SIGRTMIN+6", 73 "SIGRTMIN+7", 74 "SIGRTMIN+8", 75 "SIGRTMIN+9", 76 "SIGRTMIN+10", 77 "SIGRTMIN+11", 78 "SIGRTMIN+12", 79 "SIGRTMIN+13", 80 "SIGRTMIN+14", 81 "SIGRTMIN+15", 82 "SIGRTMIN+16", 83 "SIGRTMIN+17", 84 "SIGRTMIN+18", 85 "SIGRTMIN+19", 86 "SIGRTMIN+20", 87 "SIGRTMIN+21", 88 "SIGRTMIN+22", 89 "SIGRTMIN+23", 90 "SIGRTMIN+24", 91 "SIGRTMIN+25", 92 "SIGRTMIN+26", 93 "SIGRTMIN+27", 94 "SIGRTMIN+28", 95 "SIGRTMIN+29", 96 "SIGRTMIN+30", 97 "SIG65" 98}; 99 100START_TEST (sig2str_test) { 101 int sig; 102 103 for (sig = -1; sig <= NSIG; sig++) { 104 printf("%i = %s\n", sig, pa_sig2str(sig)); 105 fail_unless(pa_streq(pa_sig2str(sig), names[sig+1])); 106 } 107} 108END_TEST 109 110int main(int argc, char *argv[]) { 111 int failed = 0; 112 Suite *s; 113 TCase *tc; 114 SRunner *sr; 115 116 s = suite_create("Signal String"); 117 tc = tcase_create("sig2str"); 118 tcase_add_test(tc, sig2str_test); 119 suite_add_tcase(s, tc); 120 121 sr = srunner_create(s); 122 srunner_run_all(sr, CK_NORMAL); 123 failed = srunner_ntests_failed(sr); 124 srunner_free(sr); 125 126 return (failed == 0) ? EXIT_SUCCESS : EXIT_FAILURE; 127} 128