aboutsummaryrefslogtreecommitdiff
blob: d4cab6678948eb6313e31e2056573708ed4906c5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
#!/bin/sh
# Test nl_langinfo.
# Copyright (C) 2000-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
# <https://www.gnu.org/licenses/>.

set -e

common_objpfx=$1
tst_langinfo_before_env=$2
run_program_env=$3
tst_langinfo_after_env=$4

# Run the test program.
cat <<"EOF" |
# Only decimal numerical escape sequences allowed in strings.
C                    ABDAY_1     Sun
C                    ABDAY_2     Mon
C                    ABDAY_3     Tue
C                    ABDAY_4     Wed
C                    ABDAY_5     Thu
C                    ABDAY_6     Fri
C                    ABDAY_7     Sat
C                    DAY_1       Sunday
C                    DAY_2       Monday
C                    DAY_3       Tuesday
C                    DAY_4       Wednesday
C                    DAY_5       Thursday
C                    DAY_6       Friday
C                    DAY_7       Saturday
C                    ABMON_1     Jan
C                    ABMON_2     Feb
C                    ABMON_3     Mar
C                    ABMON_4     Apr
C                    ABMON_5     May
C                    ABMON_6     Jun
C                    ABMON_7     Jul
C                    ABMON_8     Aug
C                    ABMON_9     Sep
C                    ABMON_10    Oct
C                    ABMON_11    Nov
C                    ABMON_12    Dec
C                    MON_1       January
C                    MON_2       February
C                    MON_3       March
C                    MON_4       April
C                    MON_5       May
C                    MON_6       June
C                    MON_7       July
C                    MON_8       August
C                    MON_9       September
C                    MON_10      October
C                    MON_11      November
C                    MON_12      December
C                    AM_STR      AM
C                    PM_STR      PM
C                    D_T_FMT     "%a %b %e %H:%M:%S %Y"
C                    D_FMT       "%m/%d/%y"
C                    T_FMT       "%H:%M:%S"
C                    T_FMT_AMPM  "%I:%M:%S %p"
C                    ABDAY_1     Sun
C                    ABDAY_2     Mon
C                    ABDAY_3     Tue
C                    ABDAY_4     Wed
C                    ABDAY_5     Thu
C                    ABDAY_6     Fri
C                    ABDAY_7     Sat
C                    DAY_1       Sunday
C                    DAY_2       Monday
C                    DAY_3       Tuesday
C                    DAY_4       Wednesday
C                    DAY_5       Thursday
C                    DAY_6       Friday
C                    DAY_7       Saturday
C                    RADIXCHAR   .
C                    THOUSEP     ""
C                    YESEXPR     ^[yY]
C                    NOEXPR      ^[nN]
en_US.ANSI_X3.4-1968 ABMON_1     Jan
en_US.ANSI_X3.4-1968 ABMON_2     Feb
en_US.ANSI_X3.4-1968 ABMON_3     Mar
en_US.ANSI_X3.4-1968 ABMON_4     Apr
en_US.ANSI_X3.4-1968 ABMON_5     May
en_US.ANSI_X3.4-1968 ABMON_6     Jun
en_US.ANSI_X3.4-1968 ABMON_7     Jul
en_US.ANSI_X3.4-1968 ABMON_8     Aug
en_US.ANSI_X3.4-1968 ABMON_9     Sep
en_US.ANSI_X3.4-1968 ABMON_10    Oct
en_US.ANSI_X3.4-1968 ABMON_11    Nov
en_US.ANSI_X3.4-1968 ABMON_12    Dec
en_US.ANSI_X3.4-1968 MON_1       January
en_US.ANSI_X3.4-1968 MON_2       February
en_US.ANSI_X3.4-1968 MON_3       March
en_US.ANSI_X3.4-1968 MON_4       April
en_US.ANSI_X3.4-1968 MON_5       May
en_US.ANSI_X3.4-1968 MON_6       June
en_US.ANSI_X3.4-1968 MON_7       July
en_US.ANSI_X3.4-1968 MON_8       August
en_US.ANSI_X3.4-1968 MON_9       September
en_US.ANSI_X3.4-1968 MON_10      October
en_US.ANSI_X3.4-1968 MON_11      November
en_US.ANSI_X3.4-1968 MON_12      December
en_US.ANSI_X3.4-1968 AM_STR      AM
en_US.ANSI_X3.4-1968 PM_STR      PM
en_US.ANSI_X3.4-1968 D_T_FMT     "%a %d %b %Y %r %Z"
en_US.ANSI_X3.4-1968 D_FMT       "%m/%d/%Y"
en_US.ANSI_X3.4-1968 T_FMT       "%r"
en_US.ANSI_X3.4-1968 T_FMT_AMPM  "%I:%M:%S %p"
en_US.ANSI_X3.4-1968 RADIXCHAR   .
en_US.ANSI_X3.4-1968 THOUSEP     ,
en_US.ANSI_X3.4-1968 YESEXPR     ^[+1yY]
en_US.ANSI_X3.4-1968 NOEXPR      ^[-0nN]
en_US.ISO-8859-1     ABMON_1     Jan
en_US.ISO-8859-1     ABMON_2     Feb
en_US.ISO-8859-1     ABMON_3     Mar
en_US.ISO-8859-1     ABMON_4     Apr
en_US.ISO-8859-1     ABMON_5     May
en_US.ISO-8859-1     ABMON_6     Jun
en_US.ISO-8859-1     ABMON_7     Jul
en_US.ISO-8859-1     ABMON_8     Aug
en_US.ISO-8859-1     ABMON_9     Sep
en_US.ISO-8859-1     ABMON_10    Oct
en_US.ISO-8859-1     ABMON_11    Nov
en_US.ISO-8859-1     ABMON_12    Dec
en_US.ISO-8859-1     MON_1       January
en_US.ISO-8859-1     MON_2       February
en_US.ISO-8859-1     MON_3       March
en_US.ISO-8859-1     MON_4       April
en_US.ISO-8859-1     MON_5       May
en_US.ISO-8859-1     MON_6       June
en_US.ISO-8859-1     MON_7       July
en_US.ISO-8859-1     MON_8       August
en_US.ISO-8859-1     MON_9       September
en_US.ISO-8859-1     MON_10      October
en_US.ISO-8859-1     MON_11      November
en_US.ISO-8859-1     MON_12      December
en_US.ISO-8859-1     AM_STR      AM
en_US.ISO-8859-1     PM_STR      PM
en_US.ISO-8859-1     D_T_FMT     "%a %d %b %Y %r %Z"
en_US.ISO-8859-1     D_FMT       "%m/%d/%Y"
en_US.ISO-8859-1     T_FMT       "%r"
en_US.ISO-8859-1     T_FMT_AMPM  "%I:%M:%S %p"
en_US.ISO-8859-1     RADIXCHAR   .
en_US.ISO-8859-1     THOUSEP     ,
en_US.ISO-8859-1     YESEXPR     ^[+1yY]
en_US.ISO-8859-1     NOEXPR      ^[-0nN]
en_US.UTF-8	     CURRENCY_SYMBOL	$
de_DE.ISO-8859-1     ABDAY_1     So
de_DE.ISO-8859-1     ABDAY_2     Mo
de_DE.ISO-8859-1     ABDAY_3     Di
de_DE.ISO-8859-1     ABDAY_4     Mi
de_DE.ISO-8859-1     ABDAY_5     Do
de_DE.ISO-8859-1     ABDAY_6     Fr
de_DE.ISO-8859-1     ABDAY_7     Sa
de_DE.ISO-8859-1     DAY_1       Sonntag
de_DE.ISO-8859-1     DAY_2       Montag
de_DE.ISO-8859-1     DAY_3       Dienstag
de_DE.ISO-8859-1     DAY_4       Mittwoch
de_DE.ISO-8859-1     DAY_5       Donnerstag
de_DE.ISO-8859-1     DAY_6       Freitag
de_DE.ISO-8859-1     DAY_7       Samstag
de_DE.ISO-8859-1     ABMON_1     Jan
de_DE.ISO-8859-1     ABMON_2     Feb
de_DE.ISO-8859-1     ABMON_3     M�r
de_DE.ISO-8859-1     ABMON_4     Apr
de_DE.ISO-8859-1     ABMON_5     Mai
de_DE.ISO-8859-1     ABMON_6     Jun
de_DE.ISO-8859-1     ABMON_7     Jul
de_DE.ISO-8859-1     ABMON_8     Aug
de_DE.ISO-8859-1     ABMON_9     Sep
de_DE.ISO-8859-1     ABMON_10    Okt
de_DE.ISO-8859-1     ABMON_11    Nov
de_DE.ISO-8859-1     ABMON_12    Dez
de_DE.ISO-8859-1     MON_1       Januar
de_DE.ISO-8859-1     MON_2       Februar
de_DE.ISO-8859-1     MON_3       M�rz
de_DE.ISO-8859-1     MON_4       April
de_DE.ISO-8859-1     MON_5       Mai
de_DE.ISO-8859-1     MON_6       Juni
de_DE.ISO-8859-1     MON_7       Juli
de_DE.ISO-8859-1     MON_8       August
de_DE.ISO-8859-1     MON_9       September
de_DE.ISO-8859-1     MON_10      Oktober
de_DE.ISO-8859-1     MON_11      November
de_DE.ISO-8859-1     MON_12      Dezember
de_DE.ISO-8859-1     D_T_FMT     "%a %d %b %Y %T %Z"
de_DE.ISO-8859-1     D_FMT       "%d.%m.%Y"
de_DE.ISO-8859-1     T_FMT       "%T"
de_DE.ISO-8859-1     RADIXCHAR   ,
de_DE.ISO-8859-1     THOUSEP     .
de_DE.ISO-8859-1     YESEXPR     ^[+1jJyY]
de_DE.ISO-8859-1     NOEXPR      ^[-0nN]
de_DE.UTF-8          ABDAY_1     So
de_DE.UTF-8          ABDAY_2     Mo
de_DE.UTF-8          ABDAY_3     Di
de_DE.UTF-8          ABDAY_4     Mi
de_DE.UTF-8          ABDAY_5     Do
de_DE.UTF-8          ABDAY_6     Fr
de_DE.UTF-8          ABDAY_7     Sa
de_DE.UTF-8          DAY_1       Sonntag
de_DE.UTF-8          DAY_2       Montag
de_DE.UTF-8          DAY_3       Dienstag
de_DE.UTF-8          DAY_4       Mittwoch
de_DE.UTF-8          DAY_5       Donnerstag
de_DE.UTF-8          DAY_6       Freitag
de_DE.UTF-8          DAY_7       Samstag
de_DE.UTF-8          ABMON_1     Jan
de_DE.UTF-8          ABMON_2     Feb
de_DE.UTF-8          ABMON_3     Mär
de_DE.UTF-8          ABMON_4     Apr
de_DE.UTF-8          ABMON_5     Mai
de_DE.UTF-8          ABMON_6     Jun
de_DE.UTF-8          ABMON_7     Jul
de_DE.UTF-8          ABMON_8     Aug
de_DE.UTF-8          ABMON_9     Sep
de_DE.UTF-8          ABMON_10    Okt
de_DE.UTF-8          ABMON_11    Nov
de_DE.UTF-8          ABMON_12    Dez
de_DE.UTF-8          MON_1       Januar
de_DE.UTF-8          MON_2       Februar
de_DE.UTF-8          MON_3       März
de_DE.UTF-8          MON_4       April
de_DE.UTF-8          MON_5       Mai
de_DE.UTF-8          MON_6       Juni
de_DE.UTF-8          MON_7       Juli
de_DE.UTF-8          MON_8       August
de_DE.UTF-8          MON_9       September
de_DE.UTF-8          MON_10      Oktober
de_DE.UTF-8          MON_11      November
de_DE.UTF-8          MON_12      Dezember
de_DE.UTF-8          D_T_FMT     "%a %d %b %Y %T %Z"
de_DE.UTF-8          D_FMT       "%d.%m.%Y"
de_DE.UTF-8          T_FMT       "%T"
de_DE.UTF-8          RADIXCHAR   ,
de_DE.UTF-8          THOUSEP     .
de_DE.UTF-8          YESEXPR     ^[+1jJyY]
de_DE.UTF-8          NOEXPR      ^[-0nN]
de_DE.UTF-8          CURRENCY_SYMBOL    €
fr_FR.ISO-8859-1     ABDAY_1     dim.
fr_FR.ISO-8859-1     ABDAY_2     lun.
fr_FR.ISO-8859-1     ABDAY_3     mar.
fr_FR.ISO-8859-1     ABDAY_4     mer.
fr_FR.ISO-8859-1     ABDAY_5     jeu.
fr_FR.ISO-8859-1     ABDAY_6     ven.
fr_FR.ISO-8859-1     ABDAY_7     sam.
fr_FR.ISO-8859-1     DAY_1       dimanche
fr_FR.ISO-8859-1     DAY_2       lundi
fr_FR.ISO-8859-1     DAY_3       mardi
fr_FR.ISO-8859-1     DAY_4       mercredi
fr_FR.ISO-8859-1     DAY_5       jeudi
fr_FR.ISO-8859-1     DAY_6       vendredi
fr_FR.ISO-8859-1     DAY_7       samedi
fr_FR.ISO-8859-1     ABMON_1     janv.
fr_FR.ISO-8859-1     ABMON_2     f�vr.
fr_FR.ISO-8859-1     ABMON_3     mars
fr_FR.ISO-8859-1     ABMON_4     avril
fr_FR.ISO-8859-1     ABMON_5     mai
fr_FR.ISO-8859-1     ABMON_6     juin
fr_FR.ISO-8859-1     ABMON_7     juil.
fr_FR.ISO-8859-1     ABMON_8     ao�t
fr_FR.ISO-8859-1     ABMON_9     sept.
fr_FR.ISO-8859-1     ABMON_10    oct.
fr_FR.ISO-8859-1     ABMON_11    nov.
fr_FR.ISO-8859-1     ABMON_12    d�c.
fr_FR.ISO-8859-1     MON_1       janvier
fr_FR.ISO-8859-1     MON_2       f�vrier
fr_FR.ISO-8859-1     MON_3       mars
fr_FR.ISO-8859-1     MON_4       avril
fr_FR.ISO-8859-1     MON_5       mai
fr_FR.ISO-8859-1     MON_6       juin
fr_FR.ISO-8859-1     MON_7       juillet
fr_FR.ISO-8859-1     MON_8       ao�t
fr_FR.ISO-8859-1     MON_9       septembre
fr_FR.ISO-8859-1     MON_10      octobre
fr_FR.ISO-8859-1     MON_11      novembre
fr_FR.ISO-8859-1     MON_12      d�cembre
fr_FR.ISO-8859-1     D_T_FMT     "%a %d %b %Y %T %Z"
fr_FR.ISO-8859-1     D_FMT       "%d/%m/%Y"
fr_FR.ISO-8859-1     T_FMT       "%T"
fr_FR.ISO-8859-1     RADIXCHAR   ,
fr_FR.ISO-8859-1     THOUSEP     "�"
fr_FR.ISO-8859-1     YESEXPR     ^[+1oOyY]
fr_FR.ISO-8859-1     NOEXPR      ^[-0nN]
fr_FR.UTF-8          CURRENCY_SYMBOL    €
ja_JP.EUC-JP         ABDAY_1     ��
ja_JP.EUC-JP         ABDAY_2     ��
ja_JP.EUC-JP         ABDAY_3     ��
ja_JP.EUC-JP         ABDAY_4     ��
ja_JP.EUC-JP         ABDAY_5     ��
ja_JP.EUC-JP         ABDAY_6     ��
ja_JP.EUC-JP         ABDAY_7     ��
ja_JP.EUC-JP         DAY_1       ������
ja_JP.EUC-JP         DAY_2       ������
ja_JP.EUC-JP         DAY_3       ������
ja_JP.EUC-JP         DAY_4       ������
ja_JP.EUC-JP         DAY_5       ������
ja_JP.EUC-JP         DAY_6       ������
ja_JP.EUC-JP         DAY_7       ������
ja_JP.EUC-JP         ABMON_1     " 1��"
ja_JP.EUC-JP         ABMON_2     " 2��"
ja_JP.EUC-JP         ABMON_3     " 3��"
ja_JP.EUC-JP         ABMON_4     " 4��"
ja_JP.EUC-JP         ABMON_5     " 5��"
ja_JP.EUC-JP         ABMON_6     " 6��"
ja_JP.EUC-JP         ABMON_7     " 7��"
ja_JP.EUC-JP         ABMON_8     " 8��"
ja_JP.EUC-JP         ABMON_9     " 9��"
ja_JP.EUC-JP         ABMON_10    "10��"
ja_JP.EUC-JP         ABMON_11    "11��"
ja_JP.EUC-JP         ABMON_12    "12��"
ja_JP.EUC-JP         MON_1       "1��"
ja_JP.EUC-JP         MON_2       "2��"
ja_JP.EUC-JP         MON_3       "3��"
ja_JP.EUC-JP         MON_4       "4��"
ja_JP.EUC-JP         MON_5       "5��"
ja_JP.EUC-JP         MON_6       "6��"
ja_JP.EUC-JP         MON_7       "7��"
ja_JP.EUC-JP         MON_8       "8��"
ja_JP.EUC-JP         MON_9       "9��"
ja_JP.EUC-JP         MON_10      "10��"
ja_JP.EUC-JP         MON_11      "11��"
ja_JP.EUC-JP         MON_12      "12��"
ja_JP.EUC-JP         T_FMT_AMPM  "%p%I��%Mʬ%S��"
ja_JP.EUC-JP         ERA_D_FMT   "%EY%m��%d��"
ja_JP.EUC-JP         ERA_D_T_FMT "%EY%m��%d�� %H��%Mʬ%S��"
ja_JP.EUC-JP         RADIXCHAR   .
ja_JP.EUC-JP         THOUSEP     ,
ja_JP.EUC-JP         YESEXPR     ^([+1yY����]|�Ϥ�|�ϥ�)
ja_JP.EUC-JP         NOEXPR      ^([-0nN���]|������|������)
# Is CRNCYSTR supposed to be the national or international sign?
# ja_JP.EUC-JP         CRNCYSTR    JPY
ja_JP.EUC-JP         CODESET     EUC-JP
ja_JP.UTF-8          CURRENCY_SYMBOL    ¥
EOF
${tst_langinfo_before_env} \
${run_program_env} \
LC_ALL=tt_TT ${tst_langinfo_after_env}

exit $?