]> git.ipfire.org Git - thirdparty/bash.git/blame - tests/nameref.right
Bash-4.4 patch 19
[thirdparty/bash.git] / tests / nameref.right
CommitLineData
ac50fbac
CR
1one
2two
3three
4declare -n fee="flip"
5declare -n foo="bar"
6turning off nameref attribute on foo
7bar
8after +n foo bar = other
9one
10two
11one
12expect <one>
13argv[1] = <one>
14expect <two>
15argv[1] = <two>
16expect <one>
17one
18expect <one>
19one
20expect <one>
21argv[1] = <one>
22changevar: expect <two>
23argv[1] = <two>
24expect <two>
25argv[1] = <two>
26changevar: expect <three four five>
27argv[1] = <three four five>
28expect <three four five>
29argv[1] = <three four five>
a0c0a00f 30./nameref.tests: line 93: foo: readonly variable
ac50fbac
CR
31./nameref.tests: line 94: foo: readonly variable
32one
33one
34./nameref.tests: line 106: foo: readonly variable
35./nameref.tests: line 103: foo: readonly variable
36one
a0c0a00f
CR
37abxde
38abxde
ac50fbac
CR
39one
40bar
41
42./nameref2.sub: line 5: foo: readonly variable
43
44expect <unset>
45argv[1] = <unset>
46expect <unset>
47argv[1] = <unset>
48expect <bar>
49argv[1] = <bar>
50expect <unset>
51argv[1] = <unset>
52./nameref3.sub: line 21: unset: bar: cannot unset: readonly variable
53expect <two>
54two
55expect <two>
56two
57three
58unset
59four
600
61expect <a b>
62a b
63expect <foo>
64foo
651 3 5 7 9
669
671 3 42 7 9
681 3 42 7 9
699
701 3 44 7 9
71unset
72expect <a b c d e>
73argv[1] = <a b c d e>
74expect <zero> <one> <seven> <three> <four>
75argv[1] = <zero>
76argv[2] = <one>
77argv[3] = <seven>
78argv[4] = <three>
79argv[5] = <four>
8016
81expect <4>
824
83expect <4>
844
85expect <4>
864
87expect <one>
88one
89expect <one>
90one
91expect <one>
92one
93expect <four>
94four
95errors = 0
961
972
98v1: 1
99v2: 2
100ref -> first, value: I am first
101ref -> second, value: I am in the middle
102ref -> third, value: I am last
103final state: ref -> third, value: I am last
104ref -> one, value: 1
105ref -> two, value: 2
106ref -> three, value: 3
107final state: ref -> three, value: 3
108./nameref5.sub: line 43: unset: three: cannot unset: readonly variable
109ref -> one, value: 1
110ref -> two, value: 2
111ref -> three, value: 3
112final state: ref -> three, value: 3
113./nameref6.sub: line 2: typeset: x: nameref variable self references not allowed
a0c0a00f 114./nameref6.sub: line 5: typeset: x[3]: reference variable cannot be an array
ac50fbac
CR
115./nameref6.sub: line 12: typeset: x: reference variable cannot be an array
116the -- 1
11742 -- 0
118y -- 0
1192 -- 0
1202 -- 0
121y -- 0
122bar
123unset
a0c0a00f
CR
124./nameref8.sub: line 3: typeset: warning: v: circular name reference
125./nameref8.sub: line 3: warning: v: circular name reference
126./nameref8.sub: line 5: warning: v: circular name reference
ac50fbac
CR
127inside
128inside: two
129outside:
a0c0a00f
CR
130./nameref8.sub: line 29: typeset: warning: x: circular name reference
131./nameref8.sub: line 29: warning: x: circular name reference
132./nameref8.sub: line 31: warning: x: circular name reference
ac50fbac 133foo
a0c0a00f
CR
134./nameref8.sub: line 38: typeset: warning: v: circular name reference
135./nameref8.sub: line 38: warning: v: circular name reference
136./nameref8.sub: line 38: warning: v: circular name reference
ac50fbac
CR
137local
138./nameref8.sub: line 47: typeset: v: nameref variable self references not allowed
139./nameref8.sub: line 54: warning: x: circular name reference
140./nameref8.sub: line 55: warning: x: circular name reference
141x =
a0c0a00f
CR
142idx2
143idX2
144idx2
145idX2
146declare -n foo="x[\$zero]"
14742
148declare -a x=([0]="4")
149declare -n foo="x[\$(echo 0)]"
1504
151comsub
152x[i=0]
153comsub
1544
155comsub
1564
157comsub
1584
159declare -n foo="somevariable"
160./nameref10.sub: line 38: typeset: somevariable: not found
161foo =
162declare -n foo="somevariable"
163declare -A somevariable=([jug]="brown" )
164declare -n foo="somevariable"
165declare -A somevariable=([jug]="brown" )
166declare -n foo="somevariable"
167./nameref10.sub: line 49: typeset: somevariable: not found
168./nameref10.sub: line 51: typeset: foo: not found
169./nameref10.sub: line 51: typeset: somevariable: not found
170declare -n foo="bar"
171./nameref10.sub: line 55: typeset: bar: not found
172declare -n foo="bar"
173./nameref10.sub: line 57: typeset: bar: not found
174declare -n foo="bar"
175declare -i bar="8"
1768
177declare -n foo="bar"
178./nameref10.sub: line 64: typeset: bar: not found
179./nameref11.sub: line 1: declare: `/': invalid variable name for name reference
180./nameref11.sub: line 2: declare: `/': invalid variable name for name reference
181./nameref11.sub: line 3: `/': not a valid identifier
182./nameref11.sub: line 4: declare: `/': not a valid identifier
183./nameref11.sub: line 5: `/': not a valid identifier
1841) /
185#? ./nameref11.sub: line 6: `/': not a valid identifier
186x
187
188./nameref11.sub: line 7: ((: `0': not a valid identifier
189./nameref11.sub: line 8: declare: `0': invalid variable name for name reference
190./nameref11.sub: line 9: declare: `/': invalid variable name for name reference
191./nameref11.sub: line 10: declare: `/': invalid variable name for name reference
192/
193./nameref11.sub: line 12: `/': not a valid identifier
194./nameref11.sub: line 13: exec: `10': not a valid identifier
195./nameref11.sub: line 13: r: cannot assign fd to variable
196./nameref11.sub: line 14: warning: r: removing nameref attribute
19763
198./nameref11.sub: line 15: declare: RO: readonly variable
199./nameref11.sub: line 15: RO: readonly variable
200./nameref11.sub: line 16: declare: `/': invalid variable name for name reference
201/
202./nameref11.sub: line 17: declare: `/': invalid variable name for name reference
203./nameref11.sub: illegal option -- h
204./nameref11.sub: line 18: getopts: `?': not a valid identifier
205./nameref11.sub: line 19: warning: r: removing nameref attribute
206declare -a r=()
207./nameref11.sub: line 20: declare: r: reference variable cannot be an array
208./nameref11.sub: line 21: printf: `/': not a valid identifier
209./nameref11.sub: line 23: `': not a valid identifier
210./nameref11.sub: line 24: declare: `': not a valid identifier
211./nameref11.sub: line 25: `': not a valid identifier
212./nameref11.sub: line 26: printf: `': not a valid identifier
213./nameref11.sub: line 27: declare: `': invalid variable name for name reference
214declare -r ROVAR="42"
215./nameref11.sub: line 32: ROVAR: readonly variable
216./nameref11.sub: line 32: ROVAR: cannot unset: readonly variable
217declare -r ROVAR="42"
218./nameref11.sub
219./nameref11.sub: line 34: `@': not a valid identifier
220./nameref11.sub
221declare -n ref="x"
222./nameref11.sub: line 39: RO: readonly variable
223declare -r RO_PID
224./nameref11.sub: line 39: RO: cannot unset: readonly variable
225declare -r RO="x"
226./nameref11.sub: line 39: declare: RO_PID: not found
227./nameref11.sub: line 41: RO2: readonly variable
228declare -r RO2="a"
229./nameref12.sub: line 6: declare: `/': invalid variable name for name reference
230./nameref12.sub: line 9: declare: `%': invalid variable name for name reference
231./nameref12.sub: line 13: `^': not a valid identifier
232declare -n r
233declare -a foo
234declare -a foo=([0]="7")
235./nameref12.sub: line 26: declare: `42': not a valid identifier
236./nameref12.sub: line 27: declare: x: not found
237declare -nr RO="foo"
238/
239./nameref12.sub: line 45: declare: `7*6': not a valid identifier
240./nameref12.sub: line 45: declare: foo: not found
241./nameref12.sub: line 47: `7*6': not a valid identifier
242declare -n ref="var"
243declare -n ref="var"
244./nameref12.sub: line 74: readonly: `var[0]': not a valid identifier
245declare -- var="foo"
246declare -r var2="foo"
247declare -n ref="var"
248declare -a var=([0]="foo")
249./nameref12.sub: line 91: `': not a valid identifier
250declare -n ref
251declare -- ref="global"
252declare -a var=([0]="foo2")
253./nameref12.sub: line 100: declare: global: not found
254declare -- a
255declare -n r="a"
256declare -- a
257declare -n r="a"
2580
259declare -n r="P"
260declare -n ref="var"
261declare -- a
262declare -n r="a"
2630
264declare -n r
265declare -n r
266./nameref13.sub: line 88: typeset: `12345': invalid variable name for name reference
267declare -n foo
268./nameref13.sub: line 97: typeset: `12345': invalid variable name for name reference
269declare -n foo
270declare -nx ref="var"
271var
272var
273var
274var
275foo
276foo
277foo
278foo
279before
280declare -n ref="var"
281./nameref14.sub: line 23: typeset: var: not found
282first
283declare -n ref="var"
284declare -x var="xxx"
285invalid
286declare -n ref="var"
287declare -x var="5"
288after
289declare -n ref="var"
290./nameref14.sub: line 32: typeset: var: not found
291declare -n ref="var"
292./nameref15.sub: line 1: local: warning: a: circular name reference
293./nameref15.sub: line 1: warning: a: circular name reference
294./nameref15.sub: line 1: `a[0]': not a valid identifier
295declare -a a=([0]="0")
296./nameref15.sub: line 1: local: warning: a: circular name reference
297./nameref15.sub: line 1: warning: a: circular name reference
298./nameref15.sub: line 1: warning: a: circular name reference
299declare -a a=([0]="X")
300declare -a b=([0]="X")
301./nameref15.sub: line 1: local: warning: a: circular name reference
302./nameref15.sub: line 1: warning: a: circular name reference
303./nameref15.sub: line 1: `a[0]': not a valid identifier
304declare -a b=([0]="0")
305./nameref15.sub: line 19: typeset: warning: ref: circular name reference
306./nameref15.sub: line 19: warning: ref: circular name reference
307./nameref15.sub: line 20: warning: ref: circular name reference
308./nameref15.sub: line 21: warning: ref: circular name reference
309inside
310outside X
311./nameref15.sub: line 29: typeset: ref: nameref variable self references not allowed
312./nameref15.sub: line 31: ref: nameref variable self references not allowed
313declare -n ref="re"
314declare -n ref="re"
315declare -- re="4"
3164
317declare -n foo="var[@]"
318declare -n ref="var[@]"
319./nameref15.sub: line 48: var[@]: bad array subscript
320declare -n bar="var[@]"
321./nameref15.sub: line 53: var[@]: bad array subscript
322declare -n a="b"
323declare -n b="a[1]"
324./nameref15.sub: line 61: warning: a: removing nameref attribute
325declare -a a=([1]="foo")
326declare -n b="a[1]"
327./nameref15.sub: line 66: warning: a: removing nameref attribute
328declare -a a=([1]="foo")
329declare -n b="a[1]"
330declare -n n="v"
331declare -a v=([1]="1")
332./nameref15.sub: line 82: typeset: n: not found
333declare -a v=([0]="0" [1]="1")
334declare -n n="v[1]"
335declare -a v=([0]="0")
336declare -n r1="y"
337declare -n r2="x"
338./nameref16.sub: line 12: typeset: x: not found
339./nameref16.sub: line 12: typeset: y: not found
340declare -n r1="y"
341declare -n r2="x"
342./nameref16.sub: line 21: typeset: x: not found
343./nameref16.sub: line 21: typeset: y: not found
344declare -n r1="y"
345declare -n r2="x"
346./nameref16.sub: line 33: typeset: x: not found
347./nameref16.sub: line 33: typeset: y: not found
348declare -n r1="y"
349declare -n r2="x"
350declare -- x="one"
351declare -- y="two"
352./nameref17.sub: line 8: declare: bar: not found
353./nameref17.sub: line 9: unset: foo0: cannot unset: readonly variable
354declare -nr foo0="bar"
355declare -nr foo0="bar"
356declare -- bar
357./nameref17.sub: line 14: declare: foo0: readonly variable
358./nameref17.sub: line 15: declare: foo0: readonly variable
359declare -nr foo1
360./nameref17.sub: line 24: typeset: foo1: readonly variable
361declare -nr foo1
362declare -n foo2="bar"
363declare -r bar
364./nameref17.sub: line 35: bar: readonly variable
365./nameref17.sub: line 36: typeset: bar: readonly variable
366declare -n foo2="bar"
367declare -r bar
368declare -- bar3="three"
369./nameref17.sub: line 46: unset: foo3: cannot unset: readonly variable
370./nameref17.sub: line 49: declare: bar3: readonly variable
371declare -nr foo3="bar3"
372declare -r bar3="three"
373./nameref17.sub: line 51: declare: foo3: readonly variable
374declare -nr foo4="bar4"
375declare -- bar4="four"
376./nameref17.sub: line 63: typeset: foo4: readonly variable
377declare -nr foo4="bar4"
378declare -nr foo4="bar4"
379declare -- bar4="four"
380./nameref17.sub: line 79: typeset: foo4: readonly variable
381declare -nr foo4="bar4"
382declare -nr foo4="bar4"
383declare -- bar4="four"
384declare -nr foo5
385declare -r foo5
386declare -nr foo5
387declare -r foo5
388./nameref18.sub: line 2: mapfile: `XXX[0]': not a valid identifier
389./nameref18.sub: line 3: declare: XXX[0]: not found
390./nameref18.sub: line 9: `XXX[0]': not a valid identifier
391./nameref18.sub: line 10: declare: XXX[0]: not found
392declare -n ref="XXX[0]"
393declare -a XXX=([0]="4")
394./nameref18.sub: line 24: `XXX[0]': not a valid identifier
395declare -n ref="XXX[0]"
396./nameref18.sub: line 25: declare: XXX[0]: not found
397./nameref18.sub: line 29: read: `XXX[0]': not a valid identifier
398./nameref18.sub: line 30: declare: XXX[0]: not found
399./nameref18.sub: line 35: `XXX[0]': not a valid identifier
400declare -n ref="XXX[0]"
401./nameref18.sub: line 38: `XXX[0]': not a valid identifier
402./nameref18.sub: line 38: declare: XXX[0]: not found
403declare -n ref="var[123]"
404./nameref18.sub: line 46: declare: var[123]: not found
405declare -a var=([123]="")
406declare -n ref="var[123]"
407./nameref18.sub: line 50: declare: var[123]: not found
408declare -a var=([123]="")
409declare -n ref="var[123]"
410./nameref18.sub: line 54: declare: var[123]: not found
411declare -a var=([123]="X")