From c2723ce317f858f70237fc8866935114e2bb61b2 Mon Sep 17 00:00:00 2001 From: Adhemerval Zanella Date: Mon, 18 May 2020 10:16:48 -0300 Subject: string: Add strsignal test Checked on x86-64-linux-gnu, i686-linux-gnu, powerpc64le-linux-gnu, and s390x-linux-gnu. Tested-by: Carlos O'Donell Reviewed-by: Carlos O'Donell --- string/Makefile | 6 ++++-- string/tst-strsignal.c | 57 ++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 61 insertions(+), 2 deletions(-) create mode 100644 string/tst-strsignal.c (limited to 'string') diff --git a/string/Makefile b/string/Makefile index e1cca55..5b67808 100644 --- a/string/Makefile +++ b/string/Makefile @@ -60,7 +60,8 @@ tests := tester inl-tester noinl-tester testcopy test-ffs \ bug-envz1 tst-strxfrm2 tst-endian tst-svc2 \ tst-strtok_r bug-strcoll2 tst-cmp tst-xbzero-opt \ test-endian-types test-endian-file-scope \ - test-endian-sign-conversion tst-memmove-overflow + test-endian-sign-conversion tst-memmove-overflow \ + tst-strsignal # This test allocates a lot of memory and can run for a long time. xtests = tst-strcoll-overflow @@ -105,7 +106,7 @@ $(objpfx)tst-svc-cmp.out: tst-svc.expect $(objpfx)tst-svc.out LOCALES := de_DE.UTF-8 en_US.ISO-8859-1 en_US.UTF-8 \ tr_TR.ISO-8859-9 tr_TR.UTF-8 cs_CZ.UTF-8 \ - da_DK.ISO-8859-1 en_GB.UTF-8 + da_DK.ISO-8859-1 en_GB.UTF-8 pt_BR.UTF-8 include ../gen-locales.mk $(objpfx)test-strcasecmp.out: $(gen-locales) @@ -115,5 +116,6 @@ $(objpfx)tst-strxfrm2.out: $(gen-locales) # bug-strcoll2 needs cs_CZ.UTF-8 and da_DK.ISO-8859-1. $(objpfx)bug-strcoll2.out: $(gen-locales) $(objpfx)tst-strcoll-overflow.out: $(gen-locales) +$(objpfx)tst-strsignal.out: $(gen-locales) endif diff --git a/string/tst-strsignal.c b/string/tst-strsignal.c new file mode 100644 index 0000000..93a46db --- /dev/null +++ b/string/tst-strsignal.c @@ -0,0 +1,57 @@ +/* Test for strsignal. + + Copyright (C) 2020 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + 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 + . */ + +#include +#include +#include +#include +#include + +#include +#include + +static int +do_test (void) +{ + xsetlocale (LC_ALL, "C"); + + TEST_COMPARE_STRING (strsignal (SIGINT), "Interrupt"); + TEST_COMPARE_STRING (strsignal (-1), "Unknown signal -1"); +#ifdef SIGRTMIN + TEST_COMPARE_STRING (strsignal (SIGRTMIN), "Real-time signal 0"); +#endif +#ifdef SIGRTMAX + TEST_COMPARE_STRING (strsignal (SIGRTMAX+1), "Unknown signal 65"); +#endif + + xsetlocale (LC_ALL, "pt_BR.UTF-8"); + + TEST_COMPARE_STRING (strsignal (SIGINT), "Interrup\xc3\xa7\xc3\xa3\x6f"); + TEST_COMPARE_STRING (strsignal (-1), "Sinal desconhecido -1"); +#ifdef SIGRTMI + TEST_COMPARE_STRING (strsignal (SIGRTMIN), "Sinal de tempo-real 0"); +#endif +#ifdef SIGRTMAX + TEST_COMPARE_STRING (strsignal (SIGRTMAX+1), "Sinal desconhecido 65"); +#endif + + return 0; +} + +#include -- cgit v1.1