1  /* Test for strsignal.
       2  
       3     Copyright (C) 2020-2023 Free Software Foundation, Inc.
       4     This file is part of the GNU C Library.
       5  
       6     The GNU C Library is free software; you can redistribute it and/or
       7     modify it under the terms of the GNU Lesser General Public
       8     License as published by the Free Software Foundation; either
       9     version 2.1 of the License, or (at your option) any later version.
      10  
      11     The GNU C Library is distributed in the hope that it will be useful,
      12     but WITHOUT ANY WARRANTY; without even the implied warranty of
      13     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
      14     Lesser General Public License for more details.
      15  
      16     You should have received a copy of the GNU Lesser General Public
      17     License along with the GNU C Library; if not, see
      18     <https://www.gnu.org/licenses/>.  */
      19  
      20  #include <string.h>
      21  #include <stdio.h>
      22  #include <signal.h>
      23  #include <stdlib.h>
      24  #include <locale.h>
      25  #include <array_length.h>
      26  
      27  #include <support/support.h>
      28  #include <support/check.h>
      29  
      30  static int
      31  do_test (void)
      32  {
      33    unsetenv ("LANGUAGE");
      34  
      35    xsetlocale (LC_ALL, "C");
      36  
      37    TEST_COMPARE_STRING (strsignal (SIGINT),     "Interrupt");
      38    TEST_COMPARE_STRING (strsignal (-1),         "Unknown signal -1");
      39  #ifdef SIGRTMIN
      40    if (SIGRTMIN < SIGRTMAX)
      41      TEST_COMPARE_STRING (strsignal (SIGRTMIN),   "Real-time signal 0");
      42  #endif
      43  #ifdef SIGRTMAX
      44    if (SIGRTMAX == 64)
      45      TEST_COMPARE_STRING (strsignal (SIGRTMAX+1), "Unknown signal 65");
      46  #endif
      47  
      48    xsetlocale (LC_ALL, "pt_BR.UTF-8");
      49  
      50    TEST_COMPARE_STRING (strsignal (SIGINT),    "Interrup\xc3\xa7\xc3\xa3\x6f");
      51    TEST_COMPARE_STRING (strsignal (-1),        "Sinal desconhecido -1");
      52  #ifdef SIGRTMI
      53    if (SIGRTMIN < SIGRTMAX)
      54      TEST_COMPARE_STRING (strsignal (SIGRTMIN),  "Sinal de tempo-real 0");
      55  #endif
      56  #ifdef SIGRTMAX
      57    if (SIGRTMAX == 64)
      58      TEST_COMPARE_STRING (strsignal (SIGRTMAX+1), "Sinal desconhecido 65");
      59  #endif
      60  
      61    return 0;
      62  }
      63  
      64  #include <support/test-driver.c>