1name: break-1 2description: 3 See if break breaks out of loops 4stdin: 5 for i in a b c; do echo $i; break; echo bad-$i; done 6 echo end-1 7 for i in a b c; do echo $i; break 1; echo bad-$i; done 8 echo end-2 9 for i in a b c; do 10 for j in x y z; do 11 echo $i:$j 12 break 13 echo bad-$i 14 done 15 echo end-$i 16 done 17 echo end-3 18expected-stdout: 19 a 20 end-1 21 a 22 end-2 23 a:x 24 end-a 25 b:x 26 end-b 27 c:x 28 end-c 29 end-3 30--- 31 32name: break-2 33description: 34 See if break breaks out of nested loops 35stdin: 36 for i in a b c; do 37 for j in x y z; do 38 echo $i:$j 39 break 2 40 echo bad-$i 41 done 42 echo end-$i 43 done 44 echo end 45expected-stdout: 46 a:x 47 end 48--- 49 50 51name: break-3 52description: 53 What if break used outside of any loops 54 (ksh88,ksh93 don't print error messages here) 55stdin: 56 break 57expected-stderr-pattern: 58 /.*break.*/ 59--- 60 61 62name: break-4 63description: 64 What if break N used when only N-1 loops 65 (ksh88,ksh93 don't print error messages here) 66stdin: 67 for i in a b c; do echo $i; break 2; echo bad-$i; done 68 echo end 69expected-stdout: 70 a 71 end 72expected-stderr-pattern: 73 /.*break.*/ 74--- 75 76 77name: break-5 78description: 79 Error if break argument isn't a number 80stdin: 81 for i in a b c; do echo $i; break abc; echo more-$i; done 82 echo end 83expected-stdout: 84 a 85expected-exit: e != 0 86expected-stderr-pattern: 87 /.*break.*/ 88--- 89 90 91name: continue-1 92description: 93 See if continue continues loops 94stdin: 95 for i in a b c; do echo $i; continue; echo bad-$i ; done 96 echo end-1 97 for i in a b c; do echo $i; continue 1; echo bad-$i; done 98 echo end-2 99 for i in a b c; do 100 for j in x y z; do 101 echo $i:$j 102 continue 103 echo bad-$i-$j 104 done 105 echo end-$i 106 done 107 echo end-3 108expected-stdout: 109 a 110 b 111 c 112 end-1 113 a 114 b 115 c 116 end-2 117 a:x 118 a:y 119 a:z 120 end-a 121 b:x 122 b:y 123 b:z 124 end-b 125 c:x 126 c:y 127 c:z 128 end-c 129 end-3 130--- 131 132 133name: continue-2 134description: 135 See if continue breaks out of nested loops 136stdin: 137 for i in a b c; do 138 for j in x y z; do 139 echo $i:$j 140 continue 2 141 echo bad-$i-$j 142 done 143 echo end-$i 144 done 145 echo end 146expected-stdout: 147 a:x 148 b:x 149 c:x 150 end 151--- 152 153 154name: continue-3 155description: 156 What if continue used outside of any loops 157 (ksh88,ksh93 don't print error messages here) 158stdin: 159 continue 160expected-stderr-pattern: 161 /.*continue.*/ 162--- 163 164 165name: continue-4 166description: 167 What if continue N used when only N-1 loops 168 (ksh88,ksh93 don't print error messages here) 169stdin: 170 for i in a b c; do echo $i; continue 2; echo bad-$i; done 171 echo end 172expected-stdout: 173 a 174 b 175 c 176 end 177expected-stderr-pattern: 178 /.*continue.*/ 179--- 180 181 182name: continue-5 183description: 184 Error if continue argument isn't a number 185stdin: 186 for i in a b c; do echo $i; continue abc; echo more-$i; done 187 echo end 188expected-stdout: 189 a 190expected-exit: e != 0 191expected-stderr-pattern: 192 /.*continue.*/ 193--- 194 195 196