1#!/bin/sh 2# Test nl_langinfo. 3# Copyright (C) 2000-2022 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 20set -e 21 22common_objpfx=$1 23tst_langinfo_before_env=$2 24run_program_env=$3 25tst_langinfo_after_env=$4 26 27# Run the test program. 28cat <<"EOF" | 29# Only decimal numerical escape sequences allowed in strings. 30C ABDAY_1 Sun 31C ABDAY_2 Mon 32C ABDAY_3 Tue 33C ABDAY_4 Wed 34C ABDAY_5 Thu 35C ABDAY_6 Fri 36C ABDAY_7 Sat 37C DAY_1 Sunday 38C DAY_2 Monday 39C DAY_3 Tuesday 40C DAY_4 Wednesday 41C DAY_5 Thursday 42C DAY_6 Friday 43C DAY_7 Saturday 44C ABMON_1 Jan 45C ABMON_2 Feb 46C ABMON_3 Mar 47C ABMON_4 Apr 48C ABMON_5 May 49C ABMON_6 Jun 50C ABMON_7 Jul 51C ABMON_8 Aug 52C ABMON_9 Sep 53C ABMON_10 Oct 54C ABMON_11 Nov 55C ABMON_12 Dec 56C MON_1 January 57C MON_2 February 58C MON_3 March 59C MON_4 April 60C MON_5 May 61C MON_6 June 62C MON_7 July 63C MON_8 August 64C MON_9 September 65C MON_10 October 66C MON_11 November 67C MON_12 December 68C AM_STR AM 69C PM_STR PM 70C D_T_FMT "%a %b %e %H:%M:%S %Y" 71C D_FMT "%m/%d/%y" 72C T_FMT "%H:%M:%S" 73C T_FMT_AMPM "%I:%M:%S %p" 74C ABDAY_1 Sun 75C ABDAY_2 Mon 76C ABDAY_3 Tue 77C ABDAY_4 Wed 78C ABDAY_5 Thu 79C ABDAY_6 Fri 80C ABDAY_7 Sat 81C DAY_1 Sunday 82C DAY_2 Monday 83C DAY_3 Tuesday 84C DAY_4 Wednesday 85C DAY_5 Thursday 86C DAY_6 Friday 87C DAY_7 Saturday 88C RADIXCHAR . 89C THOUSEP "" 90C YESEXPR ^[yY] 91C NOEXPR ^[nN] 92en_US.ANSI_X3.4-1968 ABMON_1 Jan 93en_US.ANSI_X3.4-1968 ABMON_2 Feb 94en_US.ANSI_X3.4-1968 ABMON_3 Mar 95en_US.ANSI_X3.4-1968 ABMON_4 Apr 96en_US.ANSI_X3.4-1968 ABMON_5 May 97en_US.ANSI_X3.4-1968 ABMON_6 Jun 98en_US.ANSI_X3.4-1968 ABMON_7 Jul 99en_US.ANSI_X3.4-1968 ABMON_8 Aug 100en_US.ANSI_X3.4-1968 ABMON_9 Sep 101en_US.ANSI_X3.4-1968 ABMON_10 Oct 102en_US.ANSI_X3.4-1968 ABMON_11 Nov 103en_US.ANSI_X3.4-1968 ABMON_12 Dec 104en_US.ANSI_X3.4-1968 MON_1 January 105en_US.ANSI_X3.4-1968 MON_2 February 106en_US.ANSI_X3.4-1968 MON_3 March 107en_US.ANSI_X3.4-1968 MON_4 April 108en_US.ANSI_X3.4-1968 MON_5 May 109en_US.ANSI_X3.4-1968 MON_6 June 110en_US.ANSI_X3.4-1968 MON_7 July 111en_US.ANSI_X3.4-1968 MON_8 August 112en_US.ANSI_X3.4-1968 MON_9 September 113en_US.ANSI_X3.4-1968 MON_10 October 114en_US.ANSI_X3.4-1968 MON_11 November 115en_US.ANSI_X3.4-1968 MON_12 December 116en_US.ANSI_X3.4-1968 AM_STR AM 117en_US.ANSI_X3.4-1968 PM_STR PM 118en_US.ANSI_X3.4-1968 D_T_FMT "%a %d %b %Y %r %Z" 119en_US.ANSI_X3.4-1968 D_FMT "%m/%d/%Y" 120en_US.ANSI_X3.4-1968 T_FMT "%r" 121en_US.ANSI_X3.4-1968 T_FMT_AMPM "%I:%M:%S %p" 122en_US.ANSI_X3.4-1968 RADIXCHAR . 123en_US.ANSI_X3.4-1968 THOUSEP , 124en_US.ANSI_X3.4-1968 YESEXPR ^[+1yY] 125en_US.ANSI_X3.4-1968 NOEXPR ^[-0nN] 126en_US.ISO-8859-1 ABMON_1 Jan 127en_US.ISO-8859-1 ABMON_2 Feb 128en_US.ISO-8859-1 ABMON_3 Mar 129en_US.ISO-8859-1 ABMON_4 Apr 130en_US.ISO-8859-1 ABMON_5 May 131en_US.ISO-8859-1 ABMON_6 Jun 132en_US.ISO-8859-1 ABMON_7 Jul 133en_US.ISO-8859-1 ABMON_8 Aug 134en_US.ISO-8859-1 ABMON_9 Sep 135en_US.ISO-8859-1 ABMON_10 Oct 136en_US.ISO-8859-1 ABMON_11 Nov 137en_US.ISO-8859-1 ABMON_12 Dec 138en_US.ISO-8859-1 MON_1 January 139en_US.ISO-8859-1 MON_2 February 140en_US.ISO-8859-1 MON_3 March 141en_US.ISO-8859-1 MON_4 April 142en_US.ISO-8859-1 MON_5 May 143en_US.ISO-8859-1 MON_6 June 144en_US.ISO-8859-1 MON_7 July 145en_US.ISO-8859-1 MON_8 August 146en_US.ISO-8859-1 MON_9 September 147en_US.ISO-8859-1 MON_10 October 148en_US.ISO-8859-1 MON_11 November 149en_US.ISO-8859-1 MON_12 December 150en_US.ISO-8859-1 AM_STR AM 151en_US.ISO-8859-1 PM_STR PM 152en_US.ISO-8859-1 D_T_FMT "%a %d %b %Y %r %Z" 153en_US.ISO-8859-1 D_FMT "%m/%d/%Y" 154en_US.ISO-8859-1 T_FMT "%r" 155en_US.ISO-8859-1 T_FMT_AMPM "%I:%M:%S %p" 156en_US.ISO-8859-1 RADIXCHAR . 157en_US.ISO-8859-1 THOUSEP , 158en_US.ISO-8859-1 YESEXPR ^[+1yY] 159en_US.ISO-8859-1 NOEXPR ^[-0nN] 160en_US.UTF-8 CURRENCY_SYMBOL $ 161de_DE.ISO-8859-1 ABDAY_1 So 162de_DE.ISO-8859-1 ABDAY_2 Mo 163de_DE.ISO-8859-1 ABDAY_3 Di 164de_DE.ISO-8859-1 ABDAY_4 Mi 165de_DE.ISO-8859-1 ABDAY_5 Do 166de_DE.ISO-8859-1 ABDAY_6 Fr 167de_DE.ISO-8859-1 ABDAY_7 Sa 168de_DE.ISO-8859-1 DAY_1 Sonntag 169de_DE.ISO-8859-1 DAY_2 Montag 170de_DE.ISO-8859-1 DAY_3 Dienstag 171de_DE.ISO-8859-1 DAY_4 Mittwoch 172de_DE.ISO-8859-1 DAY_5 Donnerstag 173de_DE.ISO-8859-1 DAY_6 Freitag 174de_DE.ISO-8859-1 DAY_7 Samstag 175de_DE.ISO-8859-1 ABMON_1 Jan 176de_DE.ISO-8859-1 ABMON_2 Feb 177de_DE.ISO-8859-1 ABMON_3 M�r 178de_DE.ISO-8859-1 ABMON_4 Apr 179de_DE.ISO-8859-1 ABMON_5 Mai 180de_DE.ISO-8859-1 ABMON_6 Jun 181de_DE.ISO-8859-1 ABMON_7 Jul 182de_DE.ISO-8859-1 ABMON_8 Aug 183de_DE.ISO-8859-1 ABMON_9 Sep 184de_DE.ISO-8859-1 ABMON_10 Okt 185de_DE.ISO-8859-1 ABMON_11 Nov 186de_DE.ISO-8859-1 ABMON_12 Dez 187de_DE.ISO-8859-1 MON_1 Januar 188de_DE.ISO-8859-1 MON_2 Februar 189de_DE.ISO-8859-1 MON_3 M�rz 190de_DE.ISO-8859-1 MON_4 April 191de_DE.ISO-8859-1 MON_5 Mai 192de_DE.ISO-8859-1 MON_6 Juni 193de_DE.ISO-8859-1 MON_7 Juli 194de_DE.ISO-8859-1 MON_8 August 195de_DE.ISO-8859-1 MON_9 September 196de_DE.ISO-8859-1 MON_10 Oktober 197de_DE.ISO-8859-1 MON_11 November 198de_DE.ISO-8859-1 MON_12 Dezember 199de_DE.ISO-8859-1 D_T_FMT "%a %d %b %Y %T %Z" 200de_DE.ISO-8859-1 D_FMT "%d.%m.%Y" 201de_DE.ISO-8859-1 T_FMT "%T" 202de_DE.ISO-8859-1 RADIXCHAR , 203de_DE.ISO-8859-1 THOUSEP . 204de_DE.ISO-8859-1 YESEXPR ^[+1jJyY] 205de_DE.ISO-8859-1 NOEXPR ^[-0nN] 206de_DE.UTF-8 ABDAY_1 So 207de_DE.UTF-8 ABDAY_2 Mo 208de_DE.UTF-8 ABDAY_3 Di 209de_DE.UTF-8 ABDAY_4 Mi 210de_DE.UTF-8 ABDAY_5 Do 211de_DE.UTF-8 ABDAY_6 Fr 212de_DE.UTF-8 ABDAY_7 Sa 213de_DE.UTF-8 DAY_1 Sonntag 214de_DE.UTF-8 DAY_2 Montag 215de_DE.UTF-8 DAY_3 Dienstag 216de_DE.UTF-8 DAY_4 Mittwoch 217de_DE.UTF-8 DAY_5 Donnerstag 218de_DE.UTF-8 DAY_6 Freitag 219de_DE.UTF-8 DAY_7 Samstag 220de_DE.UTF-8 ABMON_1 Jan 221de_DE.UTF-8 ABMON_2 Feb 222de_DE.UTF-8 ABMON_3 Mär 223de_DE.UTF-8 ABMON_4 Apr 224de_DE.UTF-8 ABMON_5 Mai 225de_DE.UTF-8 ABMON_6 Jun 226de_DE.UTF-8 ABMON_7 Jul 227de_DE.UTF-8 ABMON_8 Aug 228de_DE.UTF-8 ABMON_9 Sep 229de_DE.UTF-8 ABMON_10 Okt 230de_DE.UTF-8 ABMON_11 Nov 231de_DE.UTF-8 ABMON_12 Dez 232de_DE.UTF-8 MON_1 Januar 233de_DE.UTF-8 MON_2 Februar 234de_DE.UTF-8 MON_3 März 235de_DE.UTF-8 MON_4 April 236de_DE.UTF-8 MON_5 Mai 237de_DE.UTF-8 MON_6 Juni 238de_DE.UTF-8 MON_7 Juli 239de_DE.UTF-8 MON_8 August 240de_DE.UTF-8 MON_9 September 241de_DE.UTF-8 MON_10 Oktober 242de_DE.UTF-8 MON_11 November 243de_DE.UTF-8 MON_12 Dezember 244de_DE.UTF-8 D_T_FMT "%a %d %b %Y %T %Z" 245de_DE.UTF-8 D_FMT "%d.%m.%Y" 246de_DE.UTF-8 T_FMT "%T" 247de_DE.UTF-8 RADIXCHAR , 248de_DE.UTF-8 THOUSEP . 249de_DE.UTF-8 YESEXPR ^[+1jJyY] 250de_DE.UTF-8 NOEXPR ^[-0nN] 251de_DE.UTF-8 CURRENCY_SYMBOL € 252fr_FR.ISO-8859-1 ABDAY_1 dim. 253fr_FR.ISO-8859-1 ABDAY_2 lun. 254fr_FR.ISO-8859-1 ABDAY_3 mar. 255fr_FR.ISO-8859-1 ABDAY_4 mer. 256fr_FR.ISO-8859-1 ABDAY_5 jeu. 257fr_FR.ISO-8859-1 ABDAY_6 ven. 258fr_FR.ISO-8859-1 ABDAY_7 sam. 259fr_FR.ISO-8859-1 DAY_1 dimanche 260fr_FR.ISO-8859-1 DAY_2 lundi 261fr_FR.ISO-8859-1 DAY_3 mardi 262fr_FR.ISO-8859-1 DAY_4 mercredi 263fr_FR.ISO-8859-1 DAY_5 jeudi 264fr_FR.ISO-8859-1 DAY_6 vendredi 265fr_FR.ISO-8859-1 DAY_7 samedi 266fr_FR.ISO-8859-1 ABMON_1 janv. 267fr_FR.ISO-8859-1 ABMON_2 f�vr. 268fr_FR.ISO-8859-1 ABMON_3 mars 269fr_FR.ISO-8859-1 ABMON_4 avril 270fr_FR.ISO-8859-1 ABMON_5 mai 271fr_FR.ISO-8859-1 ABMON_6 juin 272fr_FR.ISO-8859-1 ABMON_7 juil. 273fr_FR.ISO-8859-1 ABMON_8 ao�t 274fr_FR.ISO-8859-1 ABMON_9 sept. 275fr_FR.ISO-8859-1 ABMON_10 oct. 276fr_FR.ISO-8859-1 ABMON_11 nov. 277fr_FR.ISO-8859-1 ABMON_12 d�c. 278fr_FR.ISO-8859-1 MON_1 janvier 279fr_FR.ISO-8859-1 MON_2 f�vrier 280fr_FR.ISO-8859-1 MON_3 mars 281fr_FR.ISO-8859-1 MON_4 avril 282fr_FR.ISO-8859-1 MON_5 mai 283fr_FR.ISO-8859-1 MON_6 juin 284fr_FR.ISO-8859-1 MON_7 juillet 285fr_FR.ISO-8859-1 MON_8 ao�t 286fr_FR.ISO-8859-1 MON_9 septembre 287fr_FR.ISO-8859-1 MON_10 octobre 288fr_FR.ISO-8859-1 MON_11 novembre 289fr_FR.ISO-8859-1 MON_12 d�cembre 290fr_FR.ISO-8859-1 D_T_FMT "%a %d %b %Y %T %Z" 291fr_FR.ISO-8859-1 D_FMT "%d/%m/%Y" 292fr_FR.ISO-8859-1 T_FMT "%T" 293fr_FR.ISO-8859-1 RADIXCHAR , 294fr_FR.ISO-8859-1 THOUSEP "�" 295fr_FR.ISO-8859-1 YESEXPR ^[+1oOyY] 296fr_FR.ISO-8859-1 NOEXPR ^[-0nN] 297fr_FR.UTF-8 CURRENCY_SYMBOL € 298ja_JP.EUC-JP ABDAY_1 �� 299ja_JP.EUC-JP ABDAY_2 �� 300ja_JP.EUC-JP ABDAY_3 �� 301ja_JP.EUC-JP ABDAY_4 �� 302ja_JP.EUC-JP ABDAY_5 �� 303ja_JP.EUC-JP ABDAY_6 �� 304ja_JP.EUC-JP ABDAY_7 �� 305ja_JP.EUC-JP DAY_1 ������ 306ja_JP.EUC-JP DAY_2 ������ 307ja_JP.EUC-JP DAY_3 ������ 308ja_JP.EUC-JP DAY_4 ������ 309ja_JP.EUC-JP DAY_5 ������ 310ja_JP.EUC-JP DAY_6 ������ 311ja_JP.EUC-JP DAY_7 ������ 312ja_JP.EUC-JP ABMON_1 " 1��" 313ja_JP.EUC-JP ABMON_2 " 2��" 314ja_JP.EUC-JP ABMON_3 " 3��" 315ja_JP.EUC-JP ABMON_4 " 4��" 316ja_JP.EUC-JP ABMON_5 " 5��" 317ja_JP.EUC-JP ABMON_6 " 6��" 318ja_JP.EUC-JP ABMON_7 " 7��" 319ja_JP.EUC-JP ABMON_8 " 8��" 320ja_JP.EUC-JP ABMON_9 " 9��" 321ja_JP.EUC-JP ABMON_10 "10��" 322ja_JP.EUC-JP ABMON_11 "11��" 323ja_JP.EUC-JP ABMON_12 "12��" 324ja_JP.EUC-JP MON_1 "1��" 325ja_JP.EUC-JP MON_2 "2��" 326ja_JP.EUC-JP MON_3 "3��" 327ja_JP.EUC-JP MON_4 "4��" 328ja_JP.EUC-JP MON_5 "5��" 329ja_JP.EUC-JP MON_6 "6��" 330ja_JP.EUC-JP MON_7 "7��" 331ja_JP.EUC-JP MON_8 "8��" 332ja_JP.EUC-JP MON_9 "9��" 333ja_JP.EUC-JP MON_10 "10��" 334ja_JP.EUC-JP MON_11 "11��" 335ja_JP.EUC-JP MON_12 "12��" 336ja_JP.EUC-JP T_FMT_AMPM "%p%I��%Mʬ%S��" 337ja_JP.EUC-JP ERA_D_FMT "%EY%m��%d��" 338ja_JP.EUC-JP ERA_D_T_FMT "%EY%m��%d�� %H��%Mʬ%S��" 339ja_JP.EUC-JP RADIXCHAR . 340ja_JP.EUC-JP THOUSEP , 341ja_JP.EUC-JP YESEXPR ^([+1yY����]|�Ϥ�|�ϥ�) 342ja_JP.EUC-JP NOEXPR ^([-0nN���]|������|������) 343# Is CRNCYSTR supposed to be the national or international sign? 344# ja_JP.EUC-JP CRNCYSTR JPY 345ja_JP.EUC-JP CODESET EUC-JP 346ja_JP.UTF-8 CURRENCY_SYMBOL ¥ 347EOF 348${tst_langinfo_before_env} \ 349${run_program_env} \ 350LC_ALL=tt_TT ${tst_langinfo_after_env} 351 352exit $? 353