ash testsuite: add most of hust tests which pass for ash
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
		
							
								
								
									
										3
									
								
								shell/ash_test/ash-heredoc/heredoc_huge.right
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								shell/ash_test/ash-heredoc/heredoc_huge.right
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,3 @@ | ||||
| 546ed3f5c81c780d3ab86ada14824237  - | ||||
| 546ed3f5c81c780d3ab86ada14824237  - | ||||
| End | ||||
							
								
								
									
										9
									
								
								shell/ash_test/ash-heredoc/heredoc_huge.tests
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										9
									
								
								shell/ash_test/ash-heredoc/heredoc_huge.tests
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,9 @@ | ||||
| # This creates 120k heredoc | ||||
| echo 'cat <<HERE | md5sum' >"$0.tmp" | ||||
| yes "123456789 123456789 123456789 123456789" | head -3000 >>"$0.tmp" | ||||
| echo 'HERE' >>"$0.tmp" | ||||
|  | ||||
| yes "123456789 123456789 123456789 123456789" | head -3000 | md5sum | ||||
| . "$0.tmp" | ||||
| rm "$0.tmp" | ||||
| echo End | ||||
							
								
								
									
										18
									
								
								shell/ash_test/ash-misc/and-or.right
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								shell/ash_test/ash-misc/and-or.right
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,18 @@ | ||||
| a1 | ||||
| a4 | ||||
| b1 | ||||
| b3 | ||||
| b4 | ||||
| b6 | ||||
| c4 | ||||
| c5 | ||||
| c7 | ||||
| c8 | ||||
| ff1 | ||||
| ff3 | ||||
| ft2 | ||||
| ft3 | ||||
| tf2 | ||||
| tf3 | ||||
| tt2 | ||||
| tt4 | ||||
							
								
								
									
										34
									
								
								shell/ash_test/ash-misc/and-or.tests
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										34
									
								
								shell/ash_test/ash-misc/and-or.tests
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,34 @@ | ||||
| false || echo a1 | ||||
| false && echo a2 | ||||
| true || echo a3 | ||||
| true && echo a4 | ||||
|  | ||||
| false || echo b1 || echo b2 | ||||
| false || echo b3 && echo b4 | ||||
| false && echo b5 || echo b6 | ||||
| false && echo b7 && echo b8 | ||||
|  | ||||
| true || echo c1 || echo c2 | ||||
| true || echo c3 && echo c4 | ||||
| true && echo c5 || echo c6 | ||||
| true && echo c7 && echo c8 | ||||
|  | ||||
| false || false || echo ff1 | ||||
| false || false && echo ff2 | ||||
| false && false || echo ff3 | ||||
| false && false && echo ff4 | ||||
|  | ||||
| false || true || echo ft1 | ||||
| false || true && echo ft2 | ||||
| false && true || echo ft3 | ||||
| false && true && echo ft4 | ||||
|  | ||||
| true || false || echo tf1 | ||||
| true || false && echo tf2 | ||||
| true && false || echo tf3 | ||||
| true && false && echo tf4 | ||||
|  | ||||
| true || true || echo tt1 | ||||
| true || true && echo tt2 | ||||
| true && true || echo tt3 | ||||
| true && true && echo tt4 | ||||
							
								
								
									
										9
									
								
								shell/ash_test/ash-misc/assignment1.right
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								shell/ash_test/ash-misc/assignment1.right
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,9 @@ | ||||
| if1:0 | ||||
| while1:0 | ||||
| until1:0 | ||||
| if2:0 | ||||
| while2:0 | ||||
| until2:0 | ||||
| if3:0 | ||||
| while3:0 | ||||
| until3:0 | ||||
							
								
								
									
										42
									
								
								shell/ash_test/ash-misc/assignment1.tests
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										42
									
								
								shell/ash_test/ash-misc/assignment1.tests
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,42 @@ | ||||
| # Assignments after some keywords should still work | ||||
|  | ||||
| if a=1 true; then a=1 true; elif a=1 true; then a=1 true; else a=1 true; fi | ||||
| echo if1:$? | ||||
| while a=1 true; do a=1 true; break; done | ||||
| echo while1:$? | ||||
| until a=1 false; do a=1 true; break; done | ||||
| echo until1:$? | ||||
|  | ||||
| if a=1 true | ||||
|  then a=1 true | ||||
|  elif a=1 true | ||||
|  then a=1 true | ||||
|  else a=1 true | ||||
|  fi | ||||
| echo if2:$? | ||||
| while a=1 true | ||||
|  do a=1 true | ||||
|  break | ||||
|  done | ||||
| echo while2:$? | ||||
| until a=1 false | ||||
|  do a=1 true | ||||
|  break | ||||
|  done | ||||
| echo until2:$? | ||||
|  | ||||
| if | ||||
|  a=1 true; then | ||||
|  a=1 true; elif | ||||
|  a=1 true; then | ||||
|  a=1 true; else | ||||
|  a=1 true; fi | ||||
| echo if3:$? | ||||
| while | ||||
|  a=1 true; do | ||||
|  a=1 true; break; done | ||||
| echo while3:$? | ||||
| until | ||||
|  a=1 false; do | ||||
|  a=1 true; break; done | ||||
| echo until3:$? | ||||
							
								
								
									
										2
									
								
								shell/ash_test/ash-misc/assignment3.right
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								shell/ash_test/ash-misc/assignment3.right
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,2 @@ | ||||
| Done:0 | ||||
| abc=123 | ||||
							
								
								
									
										5
									
								
								shell/ash_test/ash-misc/assignment3.tests
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										5
									
								
								shell/ash_test/ash-misc/assignment3.tests
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,5 @@ | ||||
| # This must be interpreted as assignments | ||||
| a=1 b\ | ||||
| =2 c=3 | ||||
| echo Done:$? | ||||
| echo abc=$a$b$c | ||||
							
								
								
									
										1
									
								
								shell/ash_test/ash-misc/assignment4.right
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								shell/ash_test/ash-misc/assignment4.right
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1 @@ | ||||
| Done:0 | ||||
							
								
								
									
										3
									
								
								shell/ash_test/ash-misc/assignment4.tests
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										3
									
								
								shell/ash_test/ash-misc/assignment4.tests
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,3 @@ | ||||
| # There was a bug where we misinterpreted assignments after 'do': | ||||
| for i in 1; do eval b=; done | ||||
| echo Done:$? | ||||
							
								
								
									
										2
									
								
								shell/ash_test/ash-misc/break1.right
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								shell/ash_test/ash-misc/break1.right
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,2 @@ | ||||
| A | ||||
| OK:0 | ||||
							
								
								
									
										2
									
								
								shell/ash_test/ash-misc/break1.tests
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										2
									
								
								shell/ash_test/ash-misc/break1.tests
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,2 @@ | ||||
| while true; do echo A; break; echo B; done | ||||
| echo OK:$? | ||||
							
								
								
									
										3
									
								
								shell/ash_test/ash-misc/break2.right
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								shell/ash_test/ash-misc/break2.right
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,3 @@ | ||||
| A | ||||
| AA | ||||
| OK:0 | ||||
							
								
								
									
										6
									
								
								shell/ash_test/ash-misc/break2.tests
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										6
									
								
								shell/ash_test/ash-misc/break2.tests
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,6 @@ | ||||
| while true; do | ||||
|     echo A | ||||
|     while true; do echo AA; break 2; echo BB; done | ||||
|     echo B | ||||
| done | ||||
| echo OK:$? | ||||
							
								
								
									
										2
									
								
								shell/ash_test/ash-misc/break3.right
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								shell/ash_test/ash-misc/break3.right
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,2 @@ | ||||
| A | ||||
| OK:0 | ||||
							
								
								
									
										2
									
								
								shell/ash_test/ash-misc/break3.tests
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										2
									
								
								shell/ash_test/ash-misc/break3.tests
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,2 @@ | ||||
| v=break; while true; do echo A; $v; echo B; break; echo C; done | ||||
| echo OK:$? | ||||
							
								
								
									
										6
									
								
								shell/ash_test/ash-misc/break4.right
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								shell/ash_test/ash-misc/break4.right
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,6 @@ | ||||
| A | ||||
| AA | ||||
| TRUE | ||||
| A | ||||
| AA | ||||
| OK:0 | ||||
							
								
								
									
										12
									
								
								shell/ash_test/ash-misc/break4.tests
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										12
									
								
								shell/ash_test/ash-misc/break4.tests
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,12 @@ | ||||
| cond=true | ||||
| while $cond; do | ||||
|     echo A | ||||
|     if test "$cond" = true; then | ||||
| 	cond='echo TRUE' | ||||
|     else | ||||
| 	cond=false | ||||
|     fi | ||||
|     while true; do echo AA; continue 2; echo BB; done | ||||
|     echo B | ||||
| done | ||||
| echo OK:$? | ||||
							
								
								
									
										13
									
								
								shell/ash_test/ash-misc/break5.right
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								shell/ash_test/ash-misc/break5.right
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,13 @@ | ||||
| A | ||||
| B | ||||
| 0 | ||||
| A:a | ||||
| B | ||||
| D | ||||
| A:b | ||||
| B | ||||
| D | ||||
| A:c | ||||
| B | ||||
| D | ||||
| 0 | ||||
							
								
								
									
										4
									
								
								shell/ash_test/ash-misc/break5.tests
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										4
									
								
								shell/ash_test/ash-misc/break5.tests
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,4 @@ | ||||
| while true; do echo A; { echo B; break; echo C; }; echo D; done | ||||
| echo $? | ||||
| for v in a b c; do echo A:$v; (echo B; break; echo C); echo D; done | ||||
| echo $? | ||||
							
								
								
									
										2
									
								
								shell/ash_test/ash-misc/builtin1.right
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								shell/ash_test/ash-misc/builtin1.right
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,2 @@ | ||||
| VARIABLE=export | ||||
| OK:0 | ||||
							
								
								
									
										6
									
								
								shell/ash_test/ash-misc/builtin1.tests
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										6
									
								
								shell/ash_test/ash-misc/builtin1.tests
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,6 @@ | ||||
| # builtins, unlike keywords like "while", can be constructed | ||||
| # with substitutions | ||||
| VARIABLE=export | ||||
| $VARIABLE VARIABLE | ||||
| env | grep ^VARIABLE | ||||
| echo OK:$? | ||||
							
								
								
									
										22
									
								
								shell/ash_test/ash-misc/case1.right
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								shell/ash_test/ash-misc/case1.right
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,22 @@ | ||||
| OK_1 | ||||
| OK_1 | ||||
| OK_21 | ||||
| OK_22 | ||||
| OK_23 | ||||
| OK_31 | ||||
| OK_32 | ||||
| OK_41 | ||||
| OK_42 | ||||
| OK_43 | ||||
| OK_44 | ||||
| OK_51 | ||||
| OK_52 | ||||
| OK_53 | ||||
| OK_sub1 | ||||
| OK_sub2 | ||||
| OK_sub3 | ||||
| OK_sub4 | ||||
| OK_sub5 | ||||
| OK_sub6 | ||||
| OK_esac1 | ||||
| Done | ||||
							
								
								
									
										40
									
								
								shell/ash_test/ash-misc/case1.tests
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										40
									
								
								shell/ash_test/ash-misc/case1.tests
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,40 @@ | ||||
| case w in a) echo SKIP;; w) echo OK_1;; w) echo WRONG;; esac | ||||
|  | ||||
| case w in | ||||
|  a) echo SKIP;; | ||||
|  w)echo OK_1 ;; | ||||
|  w) | ||||
|  echo WRONG | ||||
|  ;; | ||||
| esac | ||||
|  | ||||
| t=w | ||||
| case $t in a) echo SKIP;; w) echo OK_21;; w) echo WRONG;; esac; | ||||
| case "$t" in a) echo SKIP;; w) echo OK_22;; w) echo WRONG;; esac; | ||||
| case w in a) echo SKIP;; $t) echo OK_23;; "$t") echo WRONG;; esac; | ||||
|  | ||||
| case '' in a) echo SKIP;; w) echo WRONG;; *) echo OK_31;; esac; | ||||
| case '' in a) echo SKIP;; '') echo OK_32;; *) echo WRONG;; esac; | ||||
|  | ||||
| case `echo w` in a) echo SKIP;; w) echo OK_41;; w) echo WRONG;; esac; | ||||
| case "`echo w`" in a) echo SKIP;; w) echo OK_42;; w) echo WRONG;; esac; | ||||
| case `echo w w` in a) echo SKIP;; w) echo WRONG;; 'w w') echo OK_43;; esac; | ||||
| case `echo w w` in a) echo SKIP;; w) echo WRONG;; w*) echo OK_44;; esac; | ||||
|  | ||||
| case w in `echo w`) echo OK_51;; `echo WRONG >&2`w) echo WRONG;; esac; | ||||
| case w in `echo OK_52 >&2`) echo SKIP;; `echo`w) echo OK_53;; esac; | ||||
|  | ||||
| # parsing cases in subshells can easily get messy | ||||
|  case m in  m) echo OK_sub1;; esac | ||||
|  case m in (m) echo OK_sub2;; esac | ||||
| (case m in  m) echo OK_sub3;; esac) | ||||
| (case m in (m) echo OK_sub4;; esac) | ||||
| ( | ||||
|  case m in  m) echo OK_sub5;; esac | ||||
| ) | ||||
| ( | ||||
|  case m in (m) echo OK_sub6;; esac | ||||
| ) | ||||
| (case esac in "esac") echo OK_esac1;; esac) | ||||
|  | ||||
| echo Done | ||||
							
								
								
									
										2
									
								
								shell/ash_test/ash-misc/colon.right
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								shell/ash_test/ash-misc/colon.right
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,2 @@ | ||||
| 0 | ||||
| OK: 0 | ||||
							
								
								
									
										5
									
								
								shell/ash_test/ash-misc/colon.tests
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										5
									
								
								shell/ash_test/ash-misc/colon.tests
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,5 @@ | ||||
| false | ||||
| : | ||||
| echo $? | ||||
| (while :; do exit; done) | ||||
| echo OK: $? | ||||
							
								
								
									
										14
									
								
								shell/ash_test/ash-misc/compound.right
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								shell/ash_test/ash-misc/compound.right
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,14 @@ | ||||
| new group | ||||
| 0 | ||||
| 1 | ||||
| 2 | ||||
| 3 | ||||
| 4 | ||||
| 5 | ||||
| 6 | ||||
| new group | ||||
| new group | ||||
| 0 | ||||
| 1 | ||||
| 2 | ||||
| 3 | ||||
							
								
								
									
										21
									
								
								shell/ash_test/ash-misc/compound.tests
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										21
									
								
								shell/ash_test/ash-misc/compound.tests
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,21 @@ | ||||
| echo new group | ||||
| echo 0;  { :; } | ||||
| echo 1;  { : ;} | ||||
| echo 2; ({ :; }) | ||||
| echo 3; ({ : ;}) | ||||
| echo 4;  ( :  ) | ||||
| echo 5;  ( :; ) | ||||
| echo 6;  ( : ;) | ||||
| # not sure if POSIX requires these, but bash accepts them ... | ||||
| #echo 7; {( :  )} | ||||
| #echo 8; {( :; )} | ||||
| #echo 9; {( : ;)} | ||||
|  | ||||
| echo new group | ||||
| #echo 0;  {(:);} | ||||
|  | ||||
| echo new group | ||||
| echo 0;  (:) | ||||
| echo 1;  (:;) | ||||
| echo 2;  (:); | ||||
| echo 3;  (:;); | ||||
							
								
								
									
										8
									
								
								shell/ash_test/ash-misc/continue1.right
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								shell/ash_test/ash-misc/continue1.right
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,8 @@ | ||||
| A:a | ||||
| A:b | ||||
| A:c | ||||
| OK1 | ||||
| A:a | ||||
| A:b | ||||
| A:c | ||||
| OK2 | ||||
							
								
								
									
										4
									
								
								shell/ash_test/ash-misc/continue1.tests
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										4
									
								
								shell/ash_test/ash-misc/continue1.tests
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,4 @@ | ||||
| for v in a b c; do echo A:$v; continue 666; done | ||||
| echo OK1 | ||||
| for v in a b c; do echo A:$v; continue 666; done | ||||
| echo OK2 | ||||
							
								
								
									
										1
									
								
								shell/ash_test/ash-misc/continue2.right
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								shell/ash_test/ash-misc/continue2.right
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1 @@ | ||||
| Ok:1 | ||||
							
								
								
									
										3
									
								
								shell/ash_test/ash-misc/continue2.tests
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										3
									
								
								shell/ash_test/ash-misc/continue2.tests
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,3 @@ | ||||
| e='' | ||||
| (while test $e && exit 1; true; do e=1; continue; done) | ||||
| echo Ok:$? | ||||
							
								
								
									
										2
									
								
								shell/ash_test/ash-misc/continue3.right
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								shell/ash_test/ash-misc/continue3.right
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,2 @@ | ||||
| 0 | ||||
| 0 | ||||
							
								
								
									
										3
									
								
								shell/ash_test/ash-misc/continue3.tests
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										3
									
								
								shell/ash_test/ash-misc/continue3.tests
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,3 @@ | ||||
| # Test that "continue" does affect exitcode (sets to 0) | ||||
| e='' | ||||
| while echo $?; test $e && exit; true; do e=1; false; continue; done | ||||
							
								
								
									
										1
									
								
								shell/ash_test/ash-misc/empty_for.right
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								shell/ash_test/ash-misc/empty_for.right
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1 @@ | ||||
| OK: 0 | ||||
							
								
								
									
										3
									
								
								shell/ash_test/ash-misc/empty_for.tests
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										3
									
								
								shell/ash_test/ash-misc/empty_for.tests
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,3 @@ | ||||
| false | ||||
| for a in; do echo "HELLO"; done | ||||
| echo OK: $? | ||||
							
								
								
									
										4
									
								
								shell/ash_test/ash-misc/empty_for2.right
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								shell/ash_test/ash-misc/empty_for2.right
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,4 @@ | ||||
| PARAM:abc | ||||
| PARAM:d e | ||||
| PARAM:123 | ||||
| OK: 0 | ||||
							
								
								
									
										6
									
								
								shell/ash_test/ash-misc/empty_for2.tests
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										6
									
								
								shell/ash_test/ash-misc/empty_for2.tests
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,6 @@ | ||||
| if test $# = 0; then | ||||
|     exec "$THIS_SH" $0 abc "d e" 123 | ||||
| fi | ||||
| false | ||||
| for v; do echo "PARAM:$v"; done | ||||
| echo OK: $? | ||||
							
								
								
									
										1
									
								
								shell/ash_test/ash-misc/exit1.right
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								shell/ash_test/ash-misc/exit1.right
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1 @@ | ||||
| Once | ||||
							
								
								
									
										4
									
								
								shell/ash_test/ash-misc/exit1.tests
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										4
									
								
								shell/ash_test/ash-misc/exit1.tests
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,4 @@ | ||||
| trap "echo Not shown" EXIT | ||||
| (exit)  # must be silent | ||||
| trap "echo Once; exit" EXIT | ||||
| { exit; } | ||||
							
								
								
									
										8
									
								
								shell/ash_test/ash-misc/for_with_bslashes.right
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								shell/ash_test/ash-misc/for_with_bslashes.right
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,8 @@ | ||||
| a | ||||
| b\c | ||||
| b\\c | ||||
| b"c | ||||
| b'c | ||||
| b$c | ||||
| b`true`c | ||||
| Zero:0 | ||||
							
								
								
									
										10
									
								
								shell/ash_test/ash-misc/for_with_bslashes.tests
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										10
									
								
								shell/ash_test/ash-misc/for_with_bslashes.tests
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,10 @@ | ||||
| # UNFIXED BUG. | ||||
| # commented-out words contain ^C character. | ||||
| # It's a SPECIAL_VAR_SYMBOL, for now hush does not escape it. | ||||
| # When it is fixed, update this test. | ||||
|  | ||||
| for a in 'a' 'b\c' 'b\\c' 'b"c' "b'c" 'b$c' 'b`true`c' ### 'b#c' | ||||
| do | ||||
|     echo $a | ||||
| done | ||||
| echo Zero:$? | ||||
							
								
								
									
										4
									
								
								shell/ash_test/ash-misc/for_with_keywords.right
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								shell/ash_test/ash-misc/for_with_keywords.right
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,4 @@ | ||||
| do | ||||
| done | ||||
| then | ||||
| OK: 0 | ||||
							
								
								
									
										2
									
								
								shell/ash_test/ash-misc/for_with_keywords.tests
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										2
									
								
								shell/ash_test/ash-misc/for_with_keywords.tests
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,2 @@ | ||||
| for if in do done then; do echo $if; done | ||||
| echo OK: $? | ||||
							
								
								
									
										1
									
								
								shell/ash_test/ash-misc/if_false_exitcode.right
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								shell/ash_test/ash-misc/if_false_exitcode.right
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1 @@ | ||||
| Ok:0 | ||||
							
								
								
									
										2
									
								
								shell/ash_test/ash-misc/if_false_exitcode.tests
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										2
									
								
								shell/ash_test/ash-misc/if_false_exitcode.tests
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,2 @@ | ||||
| if false; then echo Bad; fi | ||||
| echo Ok:$? | ||||
							
								
								
									
										7
									
								
								shell/ash_test/ash-misc/nommu1.right
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								shell/ash_test/ash-misc/nommu1.right
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,7 @@ | ||||
| Ok | ||||
| Ok | ||||
| Ok | ||||
| Ok | ||||
| Ok | ||||
| Ok | ||||
| Done | ||||
							
								
								
									
										12
									
								
								shell/ash_test/ash-misc/nommu1.tests
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										12
									
								
								shell/ash_test/ash-misc/nommu1.tests
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,12 @@ | ||||
| (echo \ | ||||
| Ok) | ||||
| ( (echo \ | ||||
| Ok) ) | ||||
| ( ( (echo \ | ||||
| Ok) ) ) | ||||
|  | ||||
| (echo \Ok) | ||||
| ( (echo \Ok) ) | ||||
| ( ( (echo \Ok) ) ) | ||||
|  | ||||
| echo Done | ||||
							
								
								
									
										5
									
								
								shell/ash_test/ash-misc/nommu2.right
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								shell/ash_test/ash-misc/nommu2.right
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,5 @@ | ||||
| Ok | ||||
| Ok | ||||
| Ok | ||||
| Ok | ||||
| Done | ||||
							
								
								
									
										5
									
								
								shell/ash_test/ash-misc/nommu2.tests
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										5
									
								
								shell/ash_test/ash-misc/nommu2.tests
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,5 @@ | ||||
| echo Not shown | if true; then echo $(echo Ok); fi | ||||
| echo Not shown | if true; then echo `echo Ok`; fi | ||||
| echo Not shown | ( if true; then echo $(echo Ok); fi ) | ||||
| echo Not shown | ( if true; then echo `echo Ok`; fi ) | ||||
| echo Done | ||||
							
								
								
									
										2
									
								
								shell/ash_test/ash-misc/nommu3.right
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								shell/ash_test/ash-misc/nommu3.right
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,2 @@ | ||||
| Ok | ||||
| 0 | ||||
							
								
								
									
										15
									
								
								shell/ash_test/ash-misc/nommu3.tests
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										15
									
								
								shell/ash_test/ash-misc/nommu3.tests
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,15 @@ | ||||
| #!/bin/sh | ||||
|  | ||||
| func() | ||||
| { | ||||
| 	while read p; do echo "$p"; done | ||||
| } | ||||
|  | ||||
| pipe_to_func() | ||||
| { | ||||
| 	# We had a NOMMU bug which caused "echo Ok |" part to be lost | ||||
| 	echo Ok | func | ||||
| } | ||||
|  | ||||
| pipe_to_func | cat | ||||
| echo $? | ||||
							
								
								
									
										2
									
								
								shell/ash_test/ash-misc/opts1.right
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								shell/ash_test/ash-misc/opts1.right
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,2 @@ | ||||
| Param1: >-10qwertyuiop< | ||||
| Done | ||||
							
								
								
									
										5
									
								
								shell/ash_test/ash-misc/opts1.tests
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										5
									
								
								shell/ash_test/ash-misc/opts1.tests
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,5 @@ | ||||
| if test $# = 0; then | ||||
|     exec "$THIS_SH" $0 -10qwertyuiop | ||||
| fi | ||||
| echo "Param1: >$1<" | ||||
| echo Done | ||||
							
								
								
									
										1
									
								
								shell/ash_test/ash-misc/pid.right
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								shell/ash_test/ash-misc/pid.right
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1 @@ | ||||
| 0 | ||||
							
								
								
									
										1
									
								
								shell/ash_test/ash-misc/pid.tests
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										1
									
								
								shell/ash_test/ash-misc/pid.tests
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1 @@ | ||||
| test `(echo $$)` = `echo $$`; echo $? | ||||
							
								
								
									
										40
									
								
								shell/ash_test/ash-misc/pipefail.right
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										40
									
								
								shell/ash_test/ash-misc/pipefail.right
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,40 @@ | ||||
| Default: | ||||
| true | true: | ||||
| 0 | ||||
| 1 | ||||
| true | false: | ||||
| 1 | ||||
| 0 | ||||
| false | true: | ||||
| 0 | ||||
| 1 | ||||
| exit 2 | exit 3 | exit 4: | ||||
| 4 | ||||
| 0 | ||||
| Pipefail on: | ||||
| true | true: | ||||
| 0 | ||||
| 1 | ||||
| true | false: | ||||
| 1 | ||||
| 0 | ||||
| false | true: | ||||
| 1 | ||||
| 0 | ||||
| exit 2 | exit 3 | exit 4: | ||||
| 4 | ||||
| 0 | ||||
| Pipefail off: | ||||
| true | true: | ||||
| 0 | ||||
| 1 | ||||
| true | false: | ||||
| 1 | ||||
| 0 | ||||
| false | true: | ||||
| 0 | ||||
| 1 | ||||
| exit 2 | exit 3 | exit 4: | ||||
| 4 | ||||
| 0 | ||||
| Done | ||||
							
								
								
									
										45
									
								
								shell/ash_test/ash-misc/pipefail.tests
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										45
									
								
								shell/ash_test/ash-misc/pipefail.tests
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,45 @@ | ||||
| echo Default: | ||||
| echo "true | true:" | ||||
|   true | true; echo $? | ||||
| ! true | true; echo $? | ||||
| echo "true | false:" | ||||
|   true | false; echo $? | ||||
| ! true | false; echo $? | ||||
| echo "false | true:" | ||||
|   false | true; echo $? | ||||
| ! false | true; echo $? | ||||
| echo "exit 2 | exit 3 | exit 4:" | ||||
|   exit 2 | exit 3 | exit 4; echo $? | ||||
| ! exit 2 | exit 3 | exit 4; echo $? | ||||
|  | ||||
| echo Pipefail on: | ||||
| set -o pipefail | ||||
| echo "true | true:" | ||||
|   true | true; echo $? | ||||
| ! true | true; echo $? | ||||
| echo "true | false:" | ||||
|   true | false; echo $? | ||||
| ! true | false; echo $? | ||||
| echo "false | true:" | ||||
|   false | true; echo $? | ||||
| ! false | true; echo $? | ||||
| echo "exit 2 | exit 3 | exit 4:" | ||||
|   exit 2 | exit 3 | exit 4; echo $? | ||||
| ! exit 2 | exit 3 | exit 4; echo $? | ||||
|  | ||||
| echo Pipefail off: | ||||
| set +o pipefail | ||||
| echo "true | true:" | ||||
|   true | true; echo $? | ||||
| ! true | true; echo $? | ||||
| echo "true | false:" | ||||
|   true | false; echo $? | ||||
| ! true | false; echo $? | ||||
| echo "false | true:" | ||||
|   false | true; echo $? | ||||
| ! false | true; echo $? | ||||
| echo "exit 2 | exit 3 | exit 4:" | ||||
|   exit 2 | exit 3 | exit 4; echo $? | ||||
| ! exit 2 | exit 3 | exit 4; echo $? | ||||
|  | ||||
| echo Done | ||||
							
								
								
									
										4
									
								
								shell/ash_test/ash-misc/read.right
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								shell/ash_test/ash-misc/read.right
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,4 @@ | ||||
| read | ||||
| cat | ||||
| echo "REPLY=$REPLY" | ||||
| REPLY=exec <read.tests | ||||
							
								
								
									
										4
									
								
								shell/ash_test/ash-misc/read.tests
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										4
									
								
								shell/ash_test/ash-misc/read.tests
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,4 @@ | ||||
| exec <read.tests | ||||
| read | ||||
| cat | ||||
| echo "REPLY=$REPLY" | ||||
							
								
								
									
										1
									
								
								shell/ash_test/ash-misc/return1.right
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								shell/ash_test/ash-misc/return1.right
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1 @@ | ||||
| Ok:0 | ||||
							
								
								
									
										4
									
								
								shell/ash_test/ash-misc/return1.tests
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										4
									
								
								shell/ash_test/ash-misc/return1.tests
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,4 @@ | ||||
| echo "true && return; echo Should not be printed" >return_sourced | ||||
| . ./return_sourced | ||||
| rm return_sourced | ||||
| echo Ok:$? | ||||
							
								
								
									
										6
									
								
								shell/ash_test/ash-misc/shift.right
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								shell/ash_test/ash-misc/shift.right
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,6 @@ | ||||
| ./shift.tests abc d e | ||||
| ./shift.tests d e 123 | ||||
| ./shift.tests d e 123 | ||||
| ./shift.tests | ||||
| ./shift.tests | ||||
| ./shift.tests | ||||
							
								
								
									
										14
									
								
								shell/ash_test/ash-misc/shift.tests
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										14
									
								
								shell/ash_test/ash-misc/shift.tests
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,14 @@ | ||||
| if test $# = 0; then | ||||
|     exec "$THIS_SH" $0 abc "d e" 123 | ||||
| fi | ||||
| echo $0 $1 $2 | ||||
| shift | ||||
| echo $0 $1 $2 | ||||
| shift 999 | ||||
| echo $0 $1 $2 | ||||
| shift 2 | ||||
| echo $0 $1 $2 | ||||
| shift 2 | ||||
| echo $0 $1 $2 | ||||
| shift | ||||
| echo $0 $1 $2 | ||||
							
								
								
									
										1
									
								
								shell/ash_test/ash-misc/sigint1.right
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								shell/ash_test/ash-misc/sigint1.right
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1 @@ | ||||
| Sending SIGINT to main shell PID | ||||
							
								
								
									
										41
									
								
								shell/ash_test/ash-misc/sigint1.tests
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										41
									
								
								shell/ash_test/ash-misc/sigint1.tests
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,41 @@ | ||||
| # What should happen if non-interactive shell gets SIGINT? | ||||
|  | ||||
| (sleep 1; echo Sending SIGINT to main shell PID; exec kill -INT $$) & | ||||
|  | ||||
| # We create a child which exits with 0 even on SIGINT | ||||
| # (The complex command is necessary only if SIGINT is generated by ^C, | ||||
| # in this testcase even bare "sleep 2" would do because | ||||
| # in the testcase we don't send SIGINT *to the child*...) | ||||
| $THIS_SH -c 'trap "exit 0" SIGINT; sleep 2' | ||||
|  | ||||
| # In one second, we (main shell) get SIGINT here. | ||||
| # The question is whether we should, or should not, exit. | ||||
|  | ||||
| # bash will not stop here. It will execute next command(s). | ||||
|  | ||||
| # The rationale for this is described here: | ||||
| # http://www.cons.org/cracauer/sigint.html | ||||
| # | ||||
| # Basically, bash will not exit on SIGINT immediately if it waits | ||||
| # for a child. It will wait for the child to exit. | ||||
| # If child exits NOT by dying on SIGINT, then bash will not exit. | ||||
| # | ||||
| # The idea is that the following script: | ||||
| # | emacs file.txt | ||||
| # | more cmds | ||||
| # User may use ^C to interrupt editor's ops like search. But then | ||||
| # emacs exits normally. User expects that script doesn't stop. | ||||
| # | ||||
| # This is a nice idea, but detecting "did process really exit | ||||
| # with SIGINT?" is racy. Consider: | ||||
| # | bash -c 'while true; do /bin/true; done' | ||||
| # When ^C is pressed while bash waits for /bin/true to exit, | ||||
| # it may happen that /bin/true exits with exitcode 0 before | ||||
| # ^C is delivered to it as SIGINT. bash will see SIGINT, then | ||||
| # it will see that child exited with 0, and bash will NOT EXIT. | ||||
|  | ||||
| # Therefore we do not implement bash behavior. | ||||
| # I'd say that emacs need to put itself into a separate pgrp | ||||
| # to isolate shell from getting stray SIGINTs from ^C. | ||||
|  | ||||
| echo Next command after SIGINT was executed | ||||
							
								
								
									
										3
									
								
								shell/ash_test/ash-misc/unicode1.right
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								shell/ash_test/ash-misc/unicode1.right
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,3 @@ | ||||
| 1 | ||||
| 1 | ||||
| Ok | ||||
							
								
								
									
										13
									
								
								shell/ash_test/ash-misc/unicode1.tests
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										13
									
								
								shell/ash_test/ash-misc/unicode1.tests
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,13 @@ | ||||
| LANG=en_US.UTF-8 | ||||
|  | ||||
| # A combining character U+300 | ||||
| a=`printf "\xcc\x80"` | ||||
| # Should print 1 | ||||
| echo ${#a} | ||||
|  | ||||
| # A Japanese katakana charachter U+30a3 | ||||
| a=`printf "\xe3\x82\xa3"` | ||||
| # Should print 1 | ||||
| echo ${#a} | ||||
|  | ||||
| echo Ok | ||||
							
								
								
									
										3
									
								
								shell/ash_test/ash-misc/until1.right
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								shell/ash_test/ash-misc/until1.right
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,3 @@ | ||||
| 1 | ||||
| 1 | ||||
| Ok:0 | ||||
							
								
								
									
										11
									
								
								shell/ash_test/ash-misc/until1.tests
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										11
									
								
								shell/ash_test/ash-misc/until1.tests
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,11 @@ | ||||
| x=1 | ||||
| until test "$x" = 4; do echo $x; x=4; done | ||||
|  | ||||
| # We had a bug in multi-line form | ||||
| x=1 | ||||
| until test "$x" = 4; do | ||||
|         echo $x | ||||
|         x=4 | ||||
| done | ||||
|  | ||||
| echo Ok:$? | ||||
							
								
								
									
										1
									
								
								shell/ash_test/ash-misc/while1.right
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								shell/ash_test/ash-misc/while1.right
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1 @@ | ||||
| OK:0 | ||||
							
								
								
									
										2
									
								
								shell/ash_test/ash-misc/while1.tests
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										2
									
								
								shell/ash_test/ash-misc/while1.tests
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,2 @@ | ||||
| while false; do echo NOT SHOWN; done | ||||
| echo OK:$? | ||||
							
								
								
									
										2
									
								
								shell/ash_test/ash-misc/while2.right
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								shell/ash_test/ash-misc/while2.right
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,2 @@ | ||||
| Hello | ||||
| OK:0 | ||||
							
								
								
									
										2
									
								
								shell/ash_test/ash-misc/while2.tests
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										2
									
								
								shell/ash_test/ash-misc/while2.tests
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,2 @@ | ||||
| while echo Hello; false; do echo NOT SHOWN; done | ||||
| echo OK:$? | ||||
							
								
								
									
										1
									
								
								shell/ash_test/ash-misc/while4.right
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								shell/ash_test/ash-misc/while4.right
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1 @@ | ||||
| Ok:0 | ||||
							
								
								
									
										6
									
								
								shell/ash_test/ash-misc/while4.tests
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										6
									
								
								shell/ash_test/ash-misc/while4.tests
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,6 @@ | ||||
| false | ||||
| while false && echo Not reached; do | ||||
|     echo BUG | ||||
|     break | ||||
| done | ||||
| echo Ok:$? | ||||
							
								
								
									
										1
									
								
								shell/ash_test/ash-misc/while_in_subshell.right
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								shell/ash_test/ash-misc/while_in_subshell.right
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1 @@ | ||||
| OK: 0 | ||||
							
								
								
									
										2
									
								
								shell/ash_test/ash-misc/while_in_subshell.tests
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										2
									
								
								shell/ash_test/ash-misc/while_in_subshell.tests
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,2 @@ | ||||
| (while true; do exit; done) | ||||
| echo OK: $? | ||||
							
								
								
									
										2
									
								
								shell/ash_test/ash-signals/save-ret.right
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								shell/ash_test/ash-signals/save-ret.right
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,2 @@ | ||||
| YEAH | ||||
| 0 | ||||
							
								
								
									
										4
									
								
								shell/ash_test/ash-signals/save-ret.tests
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										4
									
								
								shell/ash_test/ash-signals/save-ret.tests
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,4 @@ | ||||
| # make sure we do not corrupt $? across traps | ||||
| trap "echo YEAH; false" USR1 | ||||
| kill -USR1 $$ | ||||
| echo $? | ||||
							
								
								
									
										3
									
								
								shell/ash_test/ash-vars/empty.right
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								shell/ash_test/ash-vars/empty.right
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,3 @@ | ||||
| a b c d e f 1 2 3 4 5 6 7 8 9 0 A B C D E F | ||||
| a b c d e f 1 2 3 4 5 6 7 8 9 0 A B C D E F | ||||
| a b c d e f 1 2 3 4 5 6 7 8 9 0 A B C D E F | ||||
							
								
								
									
										5
									
								
								shell/ash_test/ash-vars/empty.tests
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										5
									
								
								shell/ash_test/ash-vars/empty.tests
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,5 @@ | ||||
| e= | ||||
|  | ||||
| echo a b c d e f 1 2 3 4 5 6 7 8 9 0 A B C D E F | ||||
| echo a $e b $e c $e d $e e $e f $e 1 $e 2 $e 3 $e 4 $e 5 $e 6 $e 7 $e 8 $e 9 $e 0 $e A $e B $e C $e D $e E $e F | ||||
| echo $e a $e b $e c $e d $e e $e f $e 1 $e 2 $e 3 $e 4 $e 5 $e 6 $e 7 $e 8 $e 9 $e 0 $e A $e B $e C $e D $e E $e F | ||||
							
								
								
									
										1
									
								
								shell/ash_test/ash-vars/glob_and_vars.right
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								shell/ash_test/ash-vars/glob_and_vars.right
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1 @@ | ||||
| ./glob_and_vars.right ./glob_and_vars.tests | ||||
							
								
								
									
										2
									
								
								shell/ash_test/ash-vars/glob_and_vars.tests
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										2
									
								
								shell/ash_test/ash-vars/glob_and_vars.tests
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,2 @@ | ||||
| v=. | ||||
| echo $v/glob_and_vars.[tr]* | ||||
							
								
								
									
										9
									
								
								shell/ash_test/ash-vars/param_expand_len.right
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								shell/ash_test/ash-vars/param_expand_len.right
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,9 @@ | ||||
| 0 | ||||
| 0 | ||||
| 1 | ||||
| Make sure len parsing doesnt break arg count | ||||
| 0 0 | ||||
| 4 4 | ||||
| Testing len op | ||||
| 4 3 2 1 0 0 | ||||
| 0 3 0 | ||||
							
								
								
									
										17
									
								
								shell/ash_test/ash-vars/param_expand_len.tests
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										17
									
								
								shell/ash_test/ash-vars/param_expand_len.tests
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,17 @@ | ||||
| "$THIS_SH" -c 'echo $#' | ||||
| "$THIS_SH" -c 'echo $#' arg0 | ||||
| "$THIS_SH" -c 'echo $#' arg0 arg1 | ||||
|  | ||||
| echo Make sure len parsing doesnt break arg count | ||||
| set -- | ||||
| echo $# ${#} | ||||
| set -- aaaa bbb cc d | ||||
| echo $# ${#} | ||||
|  | ||||
| echo Testing len op | ||||
| echo ${#1} ${#2} ${#3} ${#4} ${#5} ${#6} | ||||
|  | ||||
| unset e | ||||
| f=abc | ||||
| g= | ||||
| echo ${#e} ${#f} ${#g} | ||||
							
								
								
									
										4
									
								
								shell/ash_test/ash-vars/param_glob.right
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								shell/ash_test/ash-vars/param_glob.right
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,4 @@ | ||||
| param_glob.tests | ||||
| param_glob.tests | ||||
| param_glob.t* | ||||
| param_glob.t* | ||||
							
								
								
									
										9
									
								
								shell/ash_test/ash-vars/param_glob.tests
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										9
									
								
								shell/ash_test/ash-vars/param_glob.tests
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,9 @@ | ||||
| if test $# = 0; then | ||||
|     exec "$THIS_SH" "$0" 'param_glob.t*' | ||||
|     echo NOT SHOWN | ||||
|     exit | ||||
| fi | ||||
| echo $* | ||||
| echo $@ | ||||
| echo "$*" | ||||
| echo "$@" | ||||
							
								
								
									
										7
									
								
								shell/ash_test/ash-vars/param_subshell.right
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								shell/ash_test/ash-vars/param_subshell.right
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,7 @@ | ||||
| 1=1 | ||||
| 2=2 | ||||
| 3=3 | ||||
| 4=4 | ||||
| 5=5 | ||||
| 6=6 | ||||
| 7=7 | ||||
							
								
								
									
										15
									
								
								shell/ash_test/ash-vars/param_subshell.tests
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										15
									
								
								shell/ash_test/ash-vars/param_subshell.tests
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,15 @@ | ||||
| if test $# = 0; then | ||||
|     "$THIS_SH" "$0" 1 2 3 4 5 6 7 8 9 | ||||
|     exit | ||||
| fi | ||||
| echo 1=$1 | ||||
| { echo 2=$2; } | ||||
| { echo 3=$3; } & | ||||
| # cant use usleep as it isnt standard in $PATH -- | ||||
| # we fail when testing busybox compiled solely as "hush" | ||||
| wait | ||||
| ( echo 4=$4 ) | ||||
| ( echo 5=$5 ) & | ||||
| wait | ||||
| true | echo 6=$6 | cat | ||||
| true | { echo 7=$7; } | cat | ||||
							
								
								
									
										6
									
								
								shell/ash_test/ash-vars/star.right
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								shell/ash_test/ash-vars/star.right
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,6 @@ | ||||
| .1. | ||||
| .abc. | ||||
| .d. | ||||
| .e. | ||||
| .f. | ||||
| .1 abc d e f. | ||||
							
								
								
									
										8
									
								
								shell/ash_test/ash-vars/star.tests
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										8
									
								
								shell/ash_test/ash-vars/star.tests
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,8 @@ | ||||
| if test $# = 0; then | ||||
|     exec "$THIS_SH" star.tests 1 abc 'd e f' | ||||
| fi | ||||
| # 'd e f' should be split into 3 separate args: | ||||
| for a in $*; do echo ".$a."; done | ||||
|  | ||||
| # must produce .1 abc d e f. | ||||
| for a in "$*"; do echo ".$a."; done | ||||
							
								
								
									
										5
									
								
								shell/ash_test/ash-vars/var_expand_in_assign.right
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								shell/ash_test/ash-vars/var_expand_in_assign.right
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,5 @@ | ||||
| . . | ||||
| .abc d e. | ||||
| .abc d e. | ||||
| .abc d e. | ||||
| .abc d e. | ||||
							
								
								
									
										15
									
								
								shell/ash_test/ash-vars/var_expand_in_assign.tests
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										15
									
								
								shell/ash_test/ash-vars/var_expand_in_assign.tests
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,15 @@ | ||||
| if test $# = 0; then | ||||
|     exec "$THIS_SH" "$0" abc "d e" | ||||
| fi | ||||
|  | ||||
| space=' ' | ||||
| echo .$space. | ||||
|  | ||||
| a=$* | ||||
| echo .$a. | ||||
| a=$@ | ||||
| echo .$a. | ||||
| a="$*" | ||||
| echo .$a. | ||||
| a="$@" | ||||
| echo .$a. | ||||
							
								
								
									
										3
									
								
								shell/ash_test/ash-vars/var_expand_in_redir.right
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								shell/ash_test/ash-vars/var_expand_in_redir.right
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,3 @@ | ||||
| TEST1 | ||||
| TEST2 | ||||
| TEST3 | ||||
							
								
								
									
										13
									
								
								shell/ash_test/ash-vars/var_expand_in_redir.tests
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										13
									
								
								shell/ash_test/ash-vars/var_expand_in_redir.tests
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,13 @@ | ||||
| if test $# = 0; then | ||||
|     exec "$THIS_SH" "$0" abc "d e" | ||||
| fi | ||||
|  | ||||
| echo TEST1 >"$1.out" | ||||
| echo TEST2 >"$2.out" | ||||
| # bash says: "$@.out": ambiguous redirect | ||||
| # ash handles it as if it is '$*' - we do the same | ||||
| echo TEST3 >"$@.out" | ||||
|  | ||||
| cat abc.out "d e.out" "abc d e.out" | ||||
|  | ||||
| rm abc.out "d e.out" "abc d e.out" | ||||
							
								
								
									
										9
									
								
								shell/ash_test/ash-vars/var_expand_on_ifs.right
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								shell/ash_test/ash-vars/var_expand_on_ifs.right
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,9 @@ | ||||
| 1 a b c | ||||
| 2 a + b c | ||||
| 3 a b c | ||||
| 4 a  b c | ||||
| 5 a  b c | ||||
| 6 a b + c | ||||
| 7 a b c | ||||
| 8 a b  c | ||||
| 9 a b  c | ||||
							
								
								
									
										11
									
								
								shell/ash_test/ash-vars/var_expand_on_ifs.tests
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										11
									
								
								shell/ash_test/ash-vars/var_expand_on_ifs.tests
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,11 @@ | ||||
| b=' b ' | ||||
| e='' | ||||
| echo 1 a $b c | ||||
| echo 2 a +$b c | ||||
| echo 3 a $e$b c | ||||
| echo 4 a "$e"$b c | ||||
| echo 5 a ""$b c | ||||
| echo 6 a $b+ c | ||||
| echo 7 a $b$e c | ||||
| echo 8 a $b"$e" c | ||||
| echo 9 a $b"" c | ||||
							
								
								
									
										6
									
								
								shell/ash_test/ash-vars/var_in_pipes.right
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								shell/ash_test/ash-vars/var_in_pipes.right
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,6 @@ | ||||
| b=1 | ||||
| b=2 | ||||
| b=3 | ||||
| b=4 | ||||
| b=5 | ||||
| b=6 | ||||
							
								
								
									
										7
									
								
								shell/ash_test/ash-vars/var_in_pipes.tests
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										7
									
								
								shell/ash_test/ash-vars/var_in_pipes.tests
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,7 @@ | ||||
| b=1 env | grep ^b= | ||||
| true | b=2 env | grep ^b= | ||||
| a=1 true | b=3 env | grep ^b= | ||||
|  | ||||
| (b=4 env) | grep ^b= | ||||
| (true | b=5 env) | grep ^b= | ||||
| (a=1 true | b=6 env) | grep ^b= | ||||
Some files were not shown because too many files have changed in this diff Show More
		Reference in New Issue
	
	Block a user