1#!/bin/sh
2
3# Test of Shell support: obsolete bash $"..." syntax.
4
5tmpfiles=""
6trap 'rm -fr $tmpfiles' 1 2 3 15
7
8tmpfiles="$tmpfiles xg-sh-4.sh"
9cat <<\EOF > xg-sh-4.sh
10# Test backslash before normal alphabetic character.
11
12echo $"depth_0_bashquote_0_x"
13echo $"depth_0_bashquote_1_\x"
14echo $"depth_0_bashquote_2_\\x"
15
16echo `echo $"depth_1_0_bashquote_0_x"`
17echo `echo $"depth_1_0_bashquote_1_\x"`
18echo `echo $"depth_1_0_bashquote_2_\\x"`
19echo `echo $"depth_1_0_bashquote_3_\\\x"`
20echo `echo $"depth_1_0_bashquote_4_\\\\x"`
21echo "`echo $"depth_1_1_bashquote_0_x"`"
22echo "`echo $"depth_1_1_bashquote_1_\x"`"
23echo "`echo $"depth_1_1_bashquote_2_\\x"`"
24echo "`echo $"depth_1_1_bashquote_3_\\\x"`"
25echo "`echo $"depth_1_1_bashquote_4_\\\\x"`"
26
27echo `echo \`echo $"depth_2_00_bashquote_0_x"\``
28echo `echo \`echo $"depth_2_00_bashquote_1_\x"\``
29echo `echo \`echo $"depth_2_00_bashquote_2_\\x"\``
30echo `echo \`echo $"depth_2_00_bashquote_3_\\\x"\``
31echo `echo \`echo $"depth_2_00_bashquote_4_\\\\x"\``
32echo `echo \`echo $"depth_2_00_bashquote_5_\\\\\x"\``
33echo `echo \`echo $"depth_2_00_bashquote_6_\\\\\\x"\``
34echo `echo \`echo $"depth_2_00_bashquote_7_\\\\\\\x"\``
35echo `echo \`echo $"depth_2_00_bashquote_8_\\\\\\\\x"\``
36echo "`echo \`echo $"depth_2_01_bashquote_0_x"\``"
37echo "`echo \`echo $"depth_2_01_bashquote_1_\x"\``"
38echo "`echo \`echo $"depth_2_01_bashquote_2_\\x"\``"
39echo "`echo \`echo $"depth_2_01_bashquote_3_\\\x"\``"
40echo "`echo \`echo $"depth_2_01_bashquote_4_\\\\x"\``"
41echo "`echo \`echo $"depth_2_01_bashquote_5_\\\\\x"\``"
42echo "`echo \`echo $"depth_2_01_bashquote_6_\\\\\\x"\``"
43echo "`echo \`echo $"depth_2_01_bashquote_7_\\\\\\\x"\``"
44echo "`echo \`echo $"depth_2_01_bashquote_8_\\\\\\\\x"\``"
45echo `echo "\`echo $"depth_2_10_bashquote_0_x"\`"`
46echo `echo "\`echo $"depth_2_10_bashquote_1_\x"\`"`
47echo `echo "\`echo $"depth_2_10_bashquote_2_\\x"\`"`
48echo `echo "\`echo $"depth_2_10_bashquote_3_\\\x"\`"`
49echo `echo "\`echo $"depth_2_10_bashquote_4_\\\\x"\`"`
50echo `echo "\`echo $"depth_2_10_bashquote_5_\\\\\x"\`"`
51echo `echo "\`echo $"depth_2_10_bashquote_6_\\\\\\x"\`"`
52echo `echo "\`echo $"depth_2_10_bashquote_7_\\\\\\\x"\`"`
53echo `echo "\`echo $"depth_2_10_bashquote_8_\\\\\\\\x"\`"`
54echo "`echo "\`echo $"depth_2_11_bashquote_0_x"\`"`"
55echo "`echo "\`echo $"depth_2_11_bashquote_1_\x"\`"`"
56echo "`echo "\`echo $"depth_2_11_bashquote_2_\\x"\`"`"
57echo "`echo "\`echo $"depth_2_11_bashquote_3_\\\x"\`"`"
58echo "`echo "\`echo $"depth_2_11_bashquote_4_\\\\x"\`"`"
59echo "`echo "\`echo $"depth_2_11_bashquote_5_\\\\\x"\`"`"
60echo "`echo "\`echo $"depth_2_11_bashquote_6_\\\\\\x"\`"`"
61echo "`echo "\`echo $"depth_2_11_bashquote_7_\\\\\\\x"\`"`"
62echo "`echo "\`echo $"depth_2_11_bashquote_8_\\\\\\\\x"\`"`"
63
64# Test backslash before dollar.
65
66echo $"depth_0_bashquote_0_$var"
67echo $"depth_0_bashquote_1_\$var"
68echo $"depth_0_bashquote_2_\\$var"
69
70echo `echo $"depth_1_0_bashquote_0_$var"`
71echo `echo $"depth_1_0_bashquote_1_\$var"`
72echo `echo $"depth_1_0_bashquote_2_\\$var"`
73echo `echo $"depth_1_0_bashquote_3_\\\$var"`
74echo `echo $"depth_1_0_bashquote_4_\\\\$var"`
75echo "`echo $"depth_1_1_bashquote_0_$var"`"
76echo "`echo $"depth_1_1_bashquote_1_\$var"`"
77echo "`echo $"depth_1_1_bashquote_2_\\$var"`"
78echo "`echo $"depth_1_1_bashquote_3_\\\$var"`"
79echo "`echo $"depth_1_1_bashquote_4_\\\\$var"`"
80
81echo `echo \`echo $"depth_2_00_bashquote_0_$var"\``
82echo `echo \`echo $"depth_2_00_bashquote_1_\$var"\``
83echo `echo \`echo $"depth_2_00_bashquote_2_\\$var"\``
84echo `echo \`echo $"depth_2_00_bashquote_3_\\\$var"\``
85echo `echo \`echo $"depth_2_00_bashquote_4_\\\\$var"\``
86echo `echo \`echo $"depth_2_00_bashquote_5_\\\\\$var"\``
87echo `echo \`echo $"depth_2_00_bashquote_6_\\\\\\$var"\``
88echo `echo \`echo $"depth_2_00_bashquote_7_\\\\\\\$var"\``
89echo `echo \`echo $"depth_2_00_bashquote_8_\\\\\\\\$var"\``
90echo "`echo \`echo $"depth_2_01_bashquote_0_$var"\``"
91echo "`echo \`echo $"depth_2_01_bashquote_1_\$var"\``"
92echo "`echo \`echo $"depth_2_01_bashquote_2_\\$var"\``"
93echo "`echo \`echo $"depth_2_01_bashquote_3_\\\$var"\``"
94echo "`echo \`echo $"depth_2_01_bashquote_4_\\\\$var"\``"
95echo "`echo \`echo $"depth_2_01_bashquote_5_\\\\\$var"\``"
96echo "`echo \`echo $"depth_2_01_bashquote_6_\\\\\\$var"\``"
97echo "`echo \`echo $"depth_2_01_bashquote_7_\\\\\\\$var"\``"
98echo "`echo \`echo $"depth_2_01_bashquote_8_\\\\\\\\$var"\``"
99echo `echo "\`echo $"depth_2_10_bashquote_0_$var"\`"`
100echo `echo "\`echo $"depth_2_10_bashquote_1_\$var"\`"`
101echo `echo "\`echo $"depth_2_10_bashquote_2_\\$var"\`"`
102echo `echo "\`echo $"depth_2_10_bashquote_3_\\\$var"\`"`
103echo `echo "\`echo $"depth_2_10_bashquote_4_\\\\$var"\`"`
104echo `echo "\`echo $"depth_2_10_bashquote_5_\\\\\$var"\`"`
105echo `echo "\`echo $"depth_2_10_bashquote_6_\\\\\\$var"\`"`
106echo `echo "\`echo $"depth_2_10_bashquote_7_\\\\\\\$var"\`"`
107echo `echo "\`echo $"depth_2_10_bashquote_8_\\\\\\\\$var"\`"`
108echo "`echo "\`echo $"depth_2_11_bashquote_0_$var"\`"`"
109echo "`echo "\`echo $"depth_2_11_bashquote_1_\$var"\`"`"
110echo "`echo "\`echo $"depth_2_11_bashquote_2_\\$var"\`"`"
111echo "`echo "\`echo $"depth_2_11_bashquote_3_\\\$var"\`"`"
112echo "`echo "\`echo $"depth_2_11_bashquote_4_\\\\$var"\`"`"
113echo "`echo "\`echo $"depth_2_11_bashquote_5_\\\\\$var"\`"`"
114echo "`echo "\`echo $"depth_2_11_bashquote_6_\\\\\\$var"\`"`"
115echo "`echo "\`echo $"depth_2_11_bashquote_7_\\\\\\\$var"\`"`"
116echo "`echo "\`echo $"depth_2_11_bashquote_8_\\\\\\\\$var"\`"`"
117EOF
118
119tmpfiles="$tmpfiles xg-sh-4.err xg-sh-4.po"
120: ${XGETTEXT=xgettext}
121${XGETTEXT} --omit-header --no-location -d xg-sh-4 xg-sh-4.sh 2>xg-sh-4.err
122test $? = 0 || { cat xg-sh-4.err; rm -fr $tmpfiles; exit 1; }
123
124tmpfiles="$tmpfiles xg-sh-4.ok"
125cat <<\EOF > xg-sh-4.ok
126msgid "depth_0_bashquote_0_x"
127msgstr ""
128
129msgid "depth_0_bashquote_1_\\x"
130msgstr ""
131
132msgid "depth_0_bashquote_2_\\\\x"
133msgstr ""
134
135msgid "depth_1_0_bashquote_0_x"
136msgstr ""
137
138msgid "depth_1_0_bashquote_1_\\x"
139msgstr ""
140
141msgid "depth_1_0_bashquote_2_\\x"
142msgstr ""
143
144msgid "depth_1_0_bashquote_3_\\\\x"
145msgstr ""
146
147msgid "depth_1_0_bashquote_4_\\\\x"
148msgstr ""
149
150msgid "depth_1_1_bashquote_0_x"
151msgstr ""
152
153msgid "depth_1_1_bashquote_1_\\x"
154msgstr ""
155
156msgid "depth_1_1_bashquote_2_\\x"
157msgstr ""
158
159msgid "depth_1_1_bashquote_3_\\\\x"
160msgstr ""
161
162msgid "depth_1_1_bashquote_4_\\\\x"
163msgstr ""
164
165msgid "depth_2_00_bashquote_0_x"
166msgstr ""
167
168msgid "depth_2_00_bashquote_1_\\x"
169msgstr ""
170
171msgid "depth_2_00_bashquote_2_\\x"
172msgstr ""
173
174msgid "depth_2_00_bashquote_3_\\x"
175msgstr ""
176
177msgid "depth_2_00_bashquote_4_\\x"
178msgstr ""
179
180msgid "depth_2_00_bashquote_5_\\\\x"
181msgstr ""
182
183msgid "depth_2_00_bashquote_6_\\\\x"
184msgstr ""
185
186msgid "depth_2_00_bashquote_7_\\\\x"
187msgstr ""
188
189msgid "depth_2_00_bashquote_8_\\\\x"
190msgstr ""
191
192msgid "depth_2_01_bashquote_0_x"
193msgstr ""
194
195msgid "depth_2_01_bashquote_1_\\x"
196msgstr ""
197
198msgid "depth_2_01_bashquote_2_\\x"
199msgstr ""
200
201msgid "depth_2_01_bashquote_3_\\x"
202msgstr ""
203
204msgid "depth_2_01_bashquote_4_\\x"
205msgstr ""
206
207msgid "depth_2_01_bashquote_5_\\\\x"
208msgstr ""
209
210msgid "depth_2_01_bashquote_6_\\\\x"
211msgstr ""
212
213msgid "depth_2_01_bashquote_7_\\\\x"
214msgstr ""
215
216msgid "depth_2_01_bashquote_8_\\\\x"
217msgstr ""
218
219msgid "depth_2_10_bashquote_0_x"
220msgstr ""
221
222msgid "depth_2_10_bashquote_1_\\x"
223msgstr ""
224
225msgid "depth_2_10_bashquote_2_\\x"
226msgstr ""
227
228msgid "depth_2_10_bashquote_3_\\x"
229msgstr ""
230
231msgid "depth_2_10_bashquote_4_\\x"
232msgstr ""
233
234msgid "depth_2_10_bashquote_5_\\\\x"
235msgstr ""
236
237msgid "depth_2_10_bashquote_6_\\\\x"
238msgstr ""
239
240msgid "depth_2_10_bashquote_7_\\\\x"
241msgstr ""
242
243msgid "depth_2_10_bashquote_8_\\\\x"
244msgstr ""
245
246msgid "depth_2_11_bashquote_0_x"
247msgstr ""
248
249msgid "depth_2_11_bashquote_1_\\x"
250msgstr ""
251
252msgid "depth_2_11_bashquote_2_\\x"
253msgstr ""
254
255msgid "depth_2_11_bashquote_3_\\x"
256msgstr ""
257
258msgid "depth_2_11_bashquote_4_\\x"
259msgstr ""
260
261msgid "depth_2_11_bashquote_5_\\\\x"
262msgstr ""
263
264msgid "depth_2_11_bashquote_6_\\\\x"
265msgstr ""
266
267msgid "depth_2_11_bashquote_7_\\\\x"
268msgstr ""
269
270msgid "depth_2_11_bashquote_8_\\\\x"
271msgstr ""
272
273#, sh-format
274msgid "depth_0_bashquote_0_$var"
275msgstr ""
276
277#, sh-format
278msgid "depth_0_bashquote_1_\\$var"
279msgstr ""
280
281#, sh-format
282msgid "depth_0_bashquote_2_\\\\$var"
283msgstr ""
284
285#, sh-format
286msgid "depth_1_0_bashquote_0_$var"
287msgstr ""
288
289#, sh-format
290msgid "depth_1_0_bashquote_1_$var"
291msgstr ""
292
293#, sh-format
294msgid "depth_1_0_bashquote_2_\\$var"
295msgstr ""
296
297#, sh-format
298msgid "depth_1_0_bashquote_3_\\$var"
299msgstr ""
300
301#, sh-format
302msgid "depth_1_0_bashquote_4_\\\\$var"
303msgstr ""
304
305#, sh-format
306msgid "depth_1_1_bashquote_0_$var"
307msgstr ""
308
309#, sh-format
310msgid "depth_1_1_bashquote_1_$var"
311msgstr ""
312
313#, sh-format
314msgid "depth_1_1_bashquote_2_\\$var"
315msgstr ""
316
317#, sh-format
318msgid "depth_1_1_bashquote_3_\\$var"
319msgstr ""
320
321#, sh-format
322msgid "depth_1_1_bashquote_4_\\\\$var"
323msgstr ""
324
325#, sh-format
326msgid "depth_2_00_bashquote_0_$var"
327msgstr ""
328
329#, sh-format
330msgid "depth_2_00_bashquote_1_$var"
331msgstr ""
332
333#, sh-format
334msgid "depth_2_00_bashquote_2_$var"
335msgstr ""
336
337#, sh-format
338msgid "depth_2_00_bashquote_3_$var"
339msgstr ""
340
341#, sh-format
342msgid "depth_2_00_bashquote_4_\\$var"
343msgstr ""
344
345#, sh-format
346msgid "depth_2_00_bashquote_5_\\$var"
347msgstr ""
348
349#, sh-format
350msgid "depth_2_00_bashquote_6_\\$var"
351msgstr ""
352
353#, sh-format
354msgid "depth_2_00_bashquote_7_\\$var"
355msgstr ""
356
357#, sh-format
358msgid "depth_2_00_bashquote_8_\\\\$var"
359msgstr ""
360
361#, sh-format
362msgid "depth_2_01_bashquote_0_$var"
363msgstr ""
364
365#, sh-format
366msgid "depth_2_01_bashquote_1_$var"
367msgstr ""
368
369#, sh-format
370msgid "depth_2_01_bashquote_2_$var"
371msgstr ""
372
373#, sh-format
374msgid "depth_2_01_bashquote_3_$var"
375msgstr ""
376
377#, sh-format
378msgid "depth_2_01_bashquote_4_\\$var"
379msgstr ""
380
381#, sh-format
382msgid "depth_2_01_bashquote_5_\\$var"
383msgstr ""
384
385#, sh-format
386msgid "depth_2_01_bashquote_6_\\$var"
387msgstr ""
388
389#, sh-format
390msgid "depth_2_01_bashquote_7_\\$var"
391msgstr ""
392
393#, sh-format
394msgid "depth_2_01_bashquote_8_\\\\$var"
395msgstr ""
396
397#, sh-format
398msgid "depth_2_10_bashquote_0_$var"
399msgstr ""
400
401#, sh-format
402msgid "depth_2_10_bashquote_1_$var"
403msgstr ""
404
405#, sh-format
406msgid "depth_2_10_bashquote_2_$var"
407msgstr ""
408
409#, sh-format
410msgid "depth_2_10_bashquote_3_$var"
411msgstr ""
412
413#, sh-format
414msgid "depth_2_10_bashquote_4_\\$var"
415msgstr ""
416
417#, sh-format
418msgid "depth_2_10_bashquote_5_\\$var"
419msgstr ""
420
421#, sh-format
422msgid "depth_2_10_bashquote_6_\\$var"
423msgstr ""
424
425#, sh-format
426msgid "depth_2_10_bashquote_7_\\$var"
427msgstr ""
428
429#, sh-format
430msgid "depth_2_10_bashquote_8_\\\\$var"
431msgstr ""
432
433#, sh-format
434msgid "depth_2_11_bashquote_0_$var"
435msgstr ""
436
437#, sh-format
438msgid "depth_2_11_bashquote_1_$var"
439msgstr ""
440
441#, sh-format
442msgid "depth_2_11_bashquote_2_$var"
443msgstr ""
444
445#, sh-format
446msgid "depth_2_11_bashquote_3_$var"
447msgstr ""
448
449#, sh-format
450msgid "depth_2_11_bashquote_4_\\$var"
451msgstr ""
452
453#, sh-format
454msgid "depth_2_11_bashquote_5_\\$var"
455msgstr ""
456
457#, sh-format
458msgid "depth_2_11_bashquote_6_\\$var"
459msgstr ""
460
461#, sh-format
462msgid "depth_2_11_bashquote_7_\\$var"
463msgstr ""
464
465#, sh-format
466msgid "depth_2_11_bashquote_8_\\\\$var"
467msgstr ""
468EOF
469
470: ${DIFF=diff}
471${DIFF} xg-sh-4.ok xg-sh-4.po
472result=$?
473
474rm -fr $tmpfiles
475
476exit $result
477