diff options
| author | Denys Vlasenko <vda.linux@googlemail.com> | 2018-04-11 20:24:58 +0200 |
|---|---|---|
| committer | Denys Vlasenko <vda.linux@googlemail.com> | 2018-04-11 20:24:58 +0200 |
| commit | 46158dc833ca48a63a2547bb26eee133aa19dccf (patch) | |
| tree | d4688317331645dbeaea1387f5fb85fbb0f5cee4 /shell | |
| parent | f693b606b732437bb1265c2ec883d93127f3f38e (diff) | |
| download | busybox-w32-46158dc833ca48a63a2547bb26eee133aa19dccf.tar.gz busybox-w32-46158dc833ca48a63a2547bb26eee133aa19dccf.tar.bz2 busybox-w32-46158dc833ca48a63a2547bb26eee133aa19dccf.zip | |
shell: add 6856 $IFS tests to testsuites
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'shell')
| -rw-r--r-- | shell/ash_test/ash-z_slow/many_ifs.right | 1 | ||||
| -rwxr-xr-x | shell/ash_test/ash-z_slow/many_ifs.tests | 257 | ||||
| -rw-r--r-- | shell/hush_test/hush-z_slow/many_ifs.right | 1 | ||||
| -rwxr-xr-x | shell/hush_test/hush-z_slow/many_ifs.tests | 257 |
4 files changed, 516 insertions, 0 deletions
diff --git a/shell/ash_test/ash-z_slow/many_ifs.right b/shell/ash_test/ash-z_slow/many_ifs.right new file mode 100644 index 000000000..f3bdccc6c --- /dev/null +++ b/shell/ash_test/ash-z_slow/many_ifs.right | |||
| @@ -0,0 +1 @@ | |||
| # tests 6856 passed 6856 failed 0 | |||
diff --git a/shell/ash_test/ash-z_slow/many_ifs.tests b/shell/ash_test/ash-z_slow/many_ifs.tests new file mode 100755 index 000000000..1f5b1b3a6 --- /dev/null +++ b/shell/ash_test/ash-z_slow/many_ifs.tests | |||
| @@ -0,0 +1,257 @@ | |||
| 1 | # Usage: $SHELL ifs.sh | ||
| 2 | # | ||
| 3 | # This script generates 6856 tests for the set(1) and read(1) | ||
| 4 | # builtins w.r.t. IFS whitespace and non-whitespace characters. | ||
| 5 | # Each failed test produces one line on the standard output that | ||
| 6 | # contains the test along with the expected and actual results. | ||
| 7 | # The last output line contains the test result counts. ordered>0 | ||
| 8 | # are the number of tests where IFS=": " produced different results | ||
| 9 | # than IFS=" :". If a test fails the same way for IFS=": " and | ||
| 10 | # IFS=" :" then the second output line is suppressed. | ||
| 11 | |||
| 12 | TESTS=6856 | ||
| 13 | |||
| 14 | ksh_read=0 | ||
| 15 | echo 1 | read ksh_read | ||
| 16 | ksh_arith=0 | ||
| 17 | eval '((ksh_arith+=1))' 2>/dev/null | ||
| 18 | |||
| 19 | failed=0 | ||
| 20 | ordered=0 | ||
| 21 | passed=0 | ||
| 22 | |||
| 23 | split() | ||
| 24 | { | ||
| 25 | i=$1 s=$2 r=$3 S='' R='' | ||
| 26 | for ifs in ': ' ' :' | ||
| 27 | do IFS=$ifs | ||
| 28 | set x $i | ||
| 29 | shift | ||
| 30 | IFS=' ' | ||
| 31 | g="[$#]" | ||
| 32 | while : | ||
| 33 | do case $# in | ||
| 34 | 0) break ;; | ||
| 35 | esac | ||
| 36 | g="$g($1)" | ||
| 37 | shift | ||
| 38 | done | ||
| 39 | case $g in | ||
| 40 | "$s") case $ksh_arith in | ||
| 41 | 1) ((passed+=1)) ;; | ||
| 42 | *) passed=`expr $passed + 1` ;; | ||
| 43 | esac | ||
| 44 | case $S in | ||
| 45 | '') S=$g | ||
| 46 | ;; | ||
| 47 | "$g") ;; | ||
| 48 | *) case $ksh_arith in | ||
| 49 | 1) ((ordered+=1)) ;; | ||
| 50 | *) ordered=`expr $ordered + 1` ;; | ||
| 51 | esac | ||
| 52 | ;; | ||
| 53 | esac | ||
| 54 | ;; | ||
| 55 | "$S") case $ksh_arith in | ||
| 56 | 1) ((failed+=1)) ;; | ||
| 57 | *) failed=`expr $failed + 1` ;; | ||
| 58 | esac | ||
| 59 | ;; | ||
| 60 | *) case $ksh_arith in | ||
| 61 | 1) ((failed+=1)) ;; | ||
| 62 | *) failed=`expr $failed + 1` ;; | ||
| 63 | esac | ||
| 64 | case $s in | ||
| 65 | "$S") ;; | ||
| 66 | ?0*) echo "IFS=\"$ifs\"; x=\"$i\"; set x \$x; shift; echo \"[\$#]\" # expected \"$s\" got \"$g\"" ;; | ||
| 67 | ?1*) echo "IFS=\"$ifs\"; x=\"$i\"; set x \$x; shift; echo \"[\$#](\$1)\" # expected \"$s\" got \"$g\"" ;; | ||
| 68 | ?2*) echo "IFS=\"$ifs\"; x=\"$i\"; set x \$x; shift; echo \"[\$#](\$1)(\$2)\" # expected \"$s\" got \"$g\"" ;; | ||
| 69 | ?3*) echo "IFS=\"$ifs\"; x=\"$i\"; set x \$x; shift; echo \"[\$#](\$1)(\$2)(\$3)\" # expected \"$s\" got \"$g\"" ;; | ||
| 70 | *) echo TEST ERROR i="'$i'" s="'$s'" ;; | ||
| 71 | esac | ||
| 72 | case $S in | ||
| 73 | '') S=$g | ||
| 74 | ;; | ||
| 75 | "$g") ;; | ||
| 76 | *) case $ksh_arith in | ||
| 77 | 1) ((ordered+=1)) ;; | ||
| 78 | *) ordered=`expr $ordered + 1` ;; | ||
| 79 | esac | ||
| 80 | ;; | ||
| 81 | esac | ||
| 82 | esac | ||
| 83 | case $ksh_read in | ||
| 84 | 1) echo "$i" | IFS=$ifs read x y; g="($x)($y)" ;; | ||
| 85 | *) g=`export ifs; echo "$i" | ( IFS=$ifs; read x y; echo "($x)($y)" )` ;; | ||
| 86 | esac | ||
| 87 | case $g in | ||
| 88 | "$r") case $ksh_arith in | ||
| 89 | 1) ((passed+=1)) ;; | ||
| 90 | *) passed=`expr $passed + 1` ;; | ||
| 91 | esac | ||
| 92 | case $R in | ||
| 93 | '') R=$g | ||
| 94 | ;; | ||
| 95 | "$g") ;; | ||
| 96 | *) case $ksh_arith in | ||
| 97 | 1) ((ordered+=1)) ;; | ||
| 98 | *) ordered=`expr $ordered + 1` ;; | ||
| 99 | esac | ||
| 100 | ;; | ||
| 101 | esac | ||
| 102 | ;; | ||
| 103 | "$R") case $ksh_arith in | ||
| 104 | 1) ((failed+=1)) ;; | ||
| 105 | *) failed=`expr $failed + 1` ;; | ||
| 106 | esac | ||
| 107 | ;; | ||
| 108 | *) case $ksh_arith in | ||
| 109 | 1) ((failed+=1)) ;; | ||
| 110 | *) failed=`expr $failed + 1` ;; | ||
| 111 | esac | ||
| 112 | case $r in | ||
| 113 | "$R") ;; | ||
| 114 | *) echo "echo \"$i\" | ( IFS=\"$ifs\" read x y; echo \"(\$x)(\$y)\" ) # expected \"$r\" got \"$g\"" ;; | ||
| 115 | esac | ||
| 116 | case $R in | ||
| 117 | '') R=$g | ||
| 118 | ;; | ||
| 119 | "$g") ;; | ||
| 120 | *) case $ksh_arith in | ||
| 121 | 1) ((ordered+=1)) ;; | ||
| 122 | *) ordered=`expr $ordered + 1` ;; | ||
| 123 | esac | ||
| 124 | ;; | ||
| 125 | esac | ||
| 126 | ;; | ||
| 127 | esac | ||
| 128 | done | ||
| 129 | } | ||
| 130 | |||
| 131 | for str in \ | ||
| 132 | '-' \ | ||
| 133 | 'a' \ | ||
| 134 | '- -' \ | ||
| 135 | '- a' \ | ||
| 136 | 'a -' \ | ||
| 137 | 'a b' \ | ||
| 138 | '- - -' \ | ||
| 139 | '- - a' \ | ||
| 140 | '- a -' \ | ||
| 141 | '- a b' \ | ||
| 142 | 'a - -' \ | ||
| 143 | 'a - b' \ | ||
| 144 | 'a b -' \ | ||
| 145 | 'a b c' \ | ||
| 146 | |||
| 147 | do | ||
| 148 | IFS=' ' | ||
| 149 | set x $str | ||
| 150 | |||
| 151 | shift | ||
| 152 | case $# in | ||
| 153 | 0) continue ;; | ||
| 154 | esac | ||
| 155 | |||
| 156 | f1=$1 | ||
| 157 | case $f1 in | ||
| 158 | '-') f1='' ;; | ||
| 159 | esac | ||
| 160 | |||
| 161 | shift | ||
| 162 | case $# in | ||
| 163 | 0) for d0 in '' ' ' | ||
| 164 | do | ||
| 165 | for d1 in '' ' ' ':' ' :' ': ' ' : ' | ||
| 166 | do | ||
| 167 | case $f1$d1 in | ||
| 168 | '') split "$d0$f1$d1" "[0]" "()()" ;; | ||
| 169 | ' ') ;; | ||
| 170 | *) split "$d0$f1$d1" "[1]($f1)" "($f1)()" ;; | ||
| 171 | esac | ||
| 172 | done | ||
| 173 | done | ||
| 174 | continue | ||
| 175 | ;; | ||
| 176 | esac | ||
| 177 | f2=$1 | ||
| 178 | case $f2 in | ||
| 179 | '-') f2='' ;; | ||
| 180 | esac | ||
| 181 | |||
| 182 | shift | ||
| 183 | case $# in | ||
| 184 | 0) for d0 in '' ' ' | ||
| 185 | do | ||
| 186 | for d1 in ' ' ':' ' :' ': ' ' : ' | ||
| 187 | do | ||
| 188 | case ' ' in | ||
| 189 | $f1$d1|$d1$f2) continue ;; | ||
| 190 | esac | ||
| 191 | for d2 in '' ' ' ':' ' :' ': ' ' : ' | ||
| 192 | do | ||
| 193 | case $f2$d2 in | ||
| 194 | '') split "$d0$f1$d1$f2$d2" "[1]($f1)" "($f1)()" ;; | ||
| 195 | ' ') ;; | ||
| 196 | *) split "$d0$f1$d1$f2$d2" "[2]($f1)($f2)" "($f1)($f2)" ;; | ||
| 197 | esac | ||
| 198 | done | ||
| 199 | done | ||
| 200 | done | ||
| 201 | continue | ||
| 202 | ;; | ||
| 203 | esac | ||
| 204 | f3=$1 | ||
| 205 | case $f3 in | ||
| 206 | '-') f3='' ;; | ||
| 207 | esac | ||
| 208 | |||
| 209 | shift | ||
| 210 | case $# in | ||
| 211 | 0) for d0 in '' ' ' | ||
| 212 | do | ||
| 213 | for d1 in ':' ' :' ': ' ' : ' | ||
| 214 | do | ||
| 215 | case ' ' in | ||
| 216 | $f1$d1|$d1$f2) continue ;; | ||
| 217 | esac | ||
| 218 | for d2 in ' ' ':' ' :' ': ' ' : ' | ||
| 219 | do | ||
| 220 | case $f2$d2 in | ||
| 221 | ' ') continue ;; | ||
| 222 | esac | ||
| 223 | case ' ' in | ||
| 224 | $f2$d2|$d2$f3) continue ;; | ||
| 225 | esac | ||
| 226 | for d3 in '' ' ' ':' ' :' ': ' ' : ' | ||
| 227 | do | ||
| 228 | case $f3$d3 in | ||
| 229 | '') split "$d0$f1$d1$f2$d2$f3$d3" "[2]($f1)($f2)" "($f1)($f2)" ;; | ||
| 230 | ' ') ;; | ||
| 231 | *) x=$f2$d2$f3$d3 | ||
| 232 | x=${x# } #was x=${x#' '} hush needs fixing for this to work | ||
| 233 | x=${x% } #was x=${x%' '} | ||
| 234 | split "$d0$f1$d1$f2$d2$f3$d3" "[3]($f1)($f2)($f3)" "($f1)($x)" | ||
| 235 | ;; | ||
| 236 | esac | ||
| 237 | done | ||
| 238 | done | ||
| 239 | done | ||
| 240 | done | ||
| 241 | continue | ||
| 242 | ;; | ||
| 243 | esac | ||
| 244 | done | ||
| 245 | case $ksh_arith in | ||
| 246 | 1) ((tests=passed+failed)) ;; | ||
| 247 | *) tests=`expr $passed + $failed` ;; | ||
| 248 | esac | ||
| 249 | case $ordered in | ||
| 250 | 0) ordered="" ;; | ||
| 251 | *) ordered=" ordered $ordered" ;; | ||
| 252 | esac | ||
| 253 | case $tests in | ||
| 254 | $TESTS) fatal="" ;; | ||
| 255 | *) fatal=" -- fundamental IFS error -- $TESTS tests expected" | ||
| 256 | esac | ||
| 257 | echo "# tests $tests passed $passed failed $failed$ordered$fatal" | ||
diff --git a/shell/hush_test/hush-z_slow/many_ifs.right b/shell/hush_test/hush-z_slow/many_ifs.right new file mode 100644 index 000000000..f3bdccc6c --- /dev/null +++ b/shell/hush_test/hush-z_slow/many_ifs.right | |||
| @@ -0,0 +1 @@ | |||
| # tests 6856 passed 6856 failed 0 | |||
diff --git a/shell/hush_test/hush-z_slow/many_ifs.tests b/shell/hush_test/hush-z_slow/many_ifs.tests new file mode 100755 index 000000000..1f5b1b3a6 --- /dev/null +++ b/shell/hush_test/hush-z_slow/many_ifs.tests | |||
| @@ -0,0 +1,257 @@ | |||
| 1 | # Usage: $SHELL ifs.sh | ||
| 2 | # | ||
| 3 | # This script generates 6856 tests for the set(1) and read(1) | ||
| 4 | # builtins w.r.t. IFS whitespace and non-whitespace characters. | ||
| 5 | # Each failed test produces one line on the standard output that | ||
| 6 | # contains the test along with the expected and actual results. | ||
| 7 | # The last output line contains the test result counts. ordered>0 | ||
| 8 | # are the number of tests where IFS=": " produced different results | ||
| 9 | # than IFS=" :". If a test fails the same way for IFS=": " and | ||
| 10 | # IFS=" :" then the second output line is suppressed. | ||
| 11 | |||
| 12 | TESTS=6856 | ||
| 13 | |||
| 14 | ksh_read=0 | ||
| 15 | echo 1 | read ksh_read | ||
| 16 | ksh_arith=0 | ||
| 17 | eval '((ksh_arith+=1))' 2>/dev/null | ||
| 18 | |||
| 19 | failed=0 | ||
| 20 | ordered=0 | ||
| 21 | passed=0 | ||
| 22 | |||
| 23 | split() | ||
| 24 | { | ||
| 25 | i=$1 s=$2 r=$3 S='' R='' | ||
| 26 | for ifs in ': ' ' :' | ||
| 27 | do IFS=$ifs | ||
| 28 | set x $i | ||
| 29 | shift | ||
| 30 | IFS=' ' | ||
| 31 | g="[$#]" | ||
| 32 | while : | ||
| 33 | do case $# in | ||
| 34 | 0) break ;; | ||
| 35 | esac | ||
| 36 | g="$g($1)" | ||
| 37 | shift | ||
| 38 | done | ||
| 39 | case $g in | ||
| 40 | "$s") case $ksh_arith in | ||
| 41 | 1) ((passed+=1)) ;; | ||
| 42 | *) passed=`expr $passed + 1` ;; | ||
| 43 | esac | ||
| 44 | case $S in | ||
| 45 | '') S=$g | ||
| 46 | ;; | ||
| 47 | "$g") ;; | ||
| 48 | *) case $ksh_arith in | ||
| 49 | 1) ((ordered+=1)) ;; | ||
| 50 | *) ordered=`expr $ordered + 1` ;; | ||
| 51 | esac | ||
| 52 | ;; | ||
| 53 | esac | ||
| 54 | ;; | ||
| 55 | "$S") case $ksh_arith in | ||
| 56 | 1) ((failed+=1)) ;; | ||
| 57 | *) failed=`expr $failed + 1` ;; | ||
| 58 | esac | ||
| 59 | ;; | ||
| 60 | *) case $ksh_arith in | ||
| 61 | 1) ((failed+=1)) ;; | ||
| 62 | *) failed=`expr $failed + 1` ;; | ||
| 63 | esac | ||
| 64 | case $s in | ||
| 65 | "$S") ;; | ||
| 66 | ?0*) echo "IFS=\"$ifs\"; x=\"$i\"; set x \$x; shift; echo \"[\$#]\" # expected \"$s\" got \"$g\"" ;; | ||
| 67 | ?1*) echo "IFS=\"$ifs\"; x=\"$i\"; set x \$x; shift; echo \"[\$#](\$1)\" # expected \"$s\" got \"$g\"" ;; | ||
| 68 | ?2*) echo "IFS=\"$ifs\"; x=\"$i\"; set x \$x; shift; echo \"[\$#](\$1)(\$2)\" # expected \"$s\" got \"$g\"" ;; | ||
| 69 | ?3*) echo "IFS=\"$ifs\"; x=\"$i\"; set x \$x; shift; echo \"[\$#](\$1)(\$2)(\$3)\" # expected \"$s\" got \"$g\"" ;; | ||
| 70 | *) echo TEST ERROR i="'$i'" s="'$s'" ;; | ||
| 71 | esac | ||
| 72 | case $S in | ||
| 73 | '') S=$g | ||
| 74 | ;; | ||
| 75 | "$g") ;; | ||
| 76 | *) case $ksh_arith in | ||
| 77 | 1) ((ordered+=1)) ;; | ||
| 78 | *) ordered=`expr $ordered + 1` ;; | ||
| 79 | esac | ||
| 80 | ;; | ||
| 81 | esac | ||
| 82 | esac | ||
| 83 | case $ksh_read in | ||
| 84 | 1) echo "$i" | IFS=$ifs read x y; g="($x)($y)" ;; | ||
| 85 | *) g=`export ifs; echo "$i" | ( IFS=$ifs; read x y; echo "($x)($y)" )` ;; | ||
| 86 | esac | ||
| 87 | case $g in | ||
| 88 | "$r") case $ksh_arith in | ||
| 89 | 1) ((passed+=1)) ;; | ||
| 90 | *) passed=`expr $passed + 1` ;; | ||
| 91 | esac | ||
| 92 | case $R in | ||
| 93 | '') R=$g | ||
| 94 | ;; | ||
| 95 | "$g") ;; | ||
| 96 | *) case $ksh_arith in | ||
| 97 | 1) ((ordered+=1)) ;; | ||
| 98 | *) ordered=`expr $ordered + 1` ;; | ||
| 99 | esac | ||
| 100 | ;; | ||
| 101 | esac | ||
| 102 | ;; | ||
| 103 | "$R") case $ksh_arith in | ||
| 104 | 1) ((failed+=1)) ;; | ||
| 105 | *) failed=`expr $failed + 1` ;; | ||
| 106 | esac | ||
| 107 | ;; | ||
| 108 | *) case $ksh_arith in | ||
| 109 | 1) ((failed+=1)) ;; | ||
| 110 | *) failed=`expr $failed + 1` ;; | ||
| 111 | esac | ||
| 112 | case $r in | ||
| 113 | "$R") ;; | ||
| 114 | *) echo "echo \"$i\" | ( IFS=\"$ifs\" read x y; echo \"(\$x)(\$y)\" ) # expected \"$r\" got \"$g\"" ;; | ||
| 115 | esac | ||
| 116 | case $R in | ||
| 117 | '') R=$g | ||
| 118 | ;; | ||
| 119 | "$g") ;; | ||
| 120 | *) case $ksh_arith in | ||
| 121 | 1) ((ordered+=1)) ;; | ||
| 122 | *) ordered=`expr $ordered + 1` ;; | ||
| 123 | esac | ||
| 124 | ;; | ||
| 125 | esac | ||
| 126 | ;; | ||
| 127 | esac | ||
| 128 | done | ||
| 129 | } | ||
| 130 | |||
| 131 | for str in \ | ||
| 132 | '-' \ | ||
| 133 | 'a' \ | ||
| 134 | '- -' \ | ||
| 135 | '- a' \ | ||
| 136 | 'a -' \ | ||
| 137 | 'a b' \ | ||
| 138 | '- - -' \ | ||
| 139 | '- - a' \ | ||
| 140 | '- a -' \ | ||
| 141 | '- a b' \ | ||
| 142 | 'a - -' \ | ||
| 143 | 'a - b' \ | ||
| 144 | 'a b -' \ | ||
| 145 | 'a b c' \ | ||
| 146 | |||
| 147 | do | ||
| 148 | IFS=' ' | ||
| 149 | set x $str | ||
| 150 | |||
| 151 | shift | ||
| 152 | case $# in | ||
| 153 | 0) continue ;; | ||
| 154 | esac | ||
| 155 | |||
| 156 | f1=$1 | ||
| 157 | case $f1 in | ||
| 158 | '-') f1='' ;; | ||
| 159 | esac | ||
| 160 | |||
| 161 | shift | ||
| 162 | case $# in | ||
| 163 | 0) for d0 in '' ' ' | ||
| 164 | do | ||
| 165 | for d1 in '' ' ' ':' ' :' ': ' ' : ' | ||
| 166 | do | ||
| 167 | case $f1$d1 in | ||
| 168 | '') split "$d0$f1$d1" "[0]" "()()" ;; | ||
| 169 | ' ') ;; | ||
| 170 | *) split "$d0$f1$d1" "[1]($f1)" "($f1)()" ;; | ||
| 171 | esac | ||
| 172 | done | ||
| 173 | done | ||
| 174 | continue | ||
| 175 | ;; | ||
| 176 | esac | ||
| 177 | f2=$1 | ||
| 178 | case $f2 in | ||
| 179 | '-') f2='' ;; | ||
| 180 | esac | ||
| 181 | |||
| 182 | shift | ||
| 183 | case $# in | ||
| 184 | 0) for d0 in '' ' ' | ||
| 185 | do | ||
| 186 | for d1 in ' ' ':' ' :' ': ' ' : ' | ||
| 187 | do | ||
| 188 | case ' ' in | ||
| 189 | $f1$d1|$d1$f2) continue ;; | ||
| 190 | esac | ||
| 191 | for d2 in '' ' ' ':' ' :' ': ' ' : ' | ||
| 192 | do | ||
| 193 | case $f2$d2 in | ||
| 194 | '') split "$d0$f1$d1$f2$d2" "[1]($f1)" "($f1)()" ;; | ||
| 195 | ' ') ;; | ||
| 196 | *) split "$d0$f1$d1$f2$d2" "[2]($f1)($f2)" "($f1)($f2)" ;; | ||
| 197 | esac | ||
| 198 | done | ||
| 199 | done | ||
| 200 | done | ||
| 201 | continue | ||
| 202 | ;; | ||
| 203 | esac | ||
| 204 | f3=$1 | ||
| 205 | case $f3 in | ||
| 206 | '-') f3='' ;; | ||
| 207 | esac | ||
| 208 | |||
| 209 | shift | ||
| 210 | case $# in | ||
| 211 | 0) for d0 in '' ' ' | ||
| 212 | do | ||
| 213 | for d1 in ':' ' :' ': ' ' : ' | ||
| 214 | do | ||
| 215 | case ' ' in | ||
| 216 | $f1$d1|$d1$f2) continue ;; | ||
| 217 | esac | ||
| 218 | for d2 in ' ' ':' ' :' ': ' ' : ' | ||
| 219 | do | ||
| 220 | case $f2$d2 in | ||
| 221 | ' ') continue ;; | ||
| 222 | esac | ||
| 223 | case ' ' in | ||
| 224 | $f2$d2|$d2$f3) continue ;; | ||
| 225 | esac | ||
| 226 | for d3 in '' ' ' ':' ' :' ': ' ' : ' | ||
| 227 | do | ||
| 228 | case $f3$d3 in | ||
| 229 | '') split "$d0$f1$d1$f2$d2$f3$d3" "[2]($f1)($f2)" "($f1)($f2)" ;; | ||
| 230 | ' ') ;; | ||
| 231 | *) x=$f2$d2$f3$d3 | ||
| 232 | x=${x# } #was x=${x#' '} hush needs fixing for this to work | ||
| 233 | x=${x% } #was x=${x%' '} | ||
| 234 | split "$d0$f1$d1$f2$d2$f3$d3" "[3]($f1)($f2)($f3)" "($f1)($x)" | ||
| 235 | ;; | ||
| 236 | esac | ||
| 237 | done | ||
| 238 | done | ||
| 239 | done | ||
| 240 | done | ||
| 241 | continue | ||
| 242 | ;; | ||
| 243 | esac | ||
| 244 | done | ||
| 245 | case $ksh_arith in | ||
| 246 | 1) ((tests=passed+failed)) ;; | ||
| 247 | *) tests=`expr $passed + $failed` ;; | ||
| 248 | esac | ||
| 249 | case $ordered in | ||
| 250 | 0) ordered="" ;; | ||
| 251 | *) ordered=" ordered $ordered" ;; | ||
| 252 | esac | ||
| 253 | case $tests in | ||
| 254 | $TESTS) fatal="" ;; | ||
| 255 | *) fatal=" -- fundamental IFS error -- $TESTS tests expected" | ||
| 256 | esac | ||
| 257 | echo "# tests $tests passed $passed failed $failed$ordered$fatal" | ||
