summaryrefslogtreecommitdiff
path: root/shell/ash_test/ash-read
diff options
context:
space:
mode:
authorDenys Vlasenko2010-01-08 15:44:07 +0100
committerDenys Vlasenko2010-01-08 15:44:07 +0100
commit8cd04d1cb658227d3c6eeb2a377314ca9cdf249d (patch)
tree4a0b848cc7981db8bec06f6fa7f6be30f11134c2 /shell/ash_test/ash-read
parentc3c1fb676b900ed39c0cfa984059c1d40197b601 (diff)
downloadbusybox-8cd04d1cb658227d3c6eeb2a377314ca9cdf249d.zip
busybox-8cd04d1cb658227d3c6eeb2a377314ca9cdf249d.tar.gz
ash: fix for read $IFS splitting. Closes bug 235
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'shell/ash_test/ash-read')
-rw-r--r--shell/ash_test/ash-read/read_ifs.right17
-rwxr-xr-xshell/ash_test/ash-read/read_ifs.tests17
2 files changed, 20 insertions, 14 deletions
diff --git a/shell/ash_test/ash-read/read_ifs.right b/shell/ash_test/ash-read/read_ifs.right
index 027ecd1..b523344 100644
--- a/shell/ash_test/ash-read/read_ifs.right
+++ b/shell/ash_test/ash-read/read_ifs.right
@@ -1,7 +1,10 @@
-.a. .b. .c.
-.a. .b. .c.
-.a. .. .b,c.
-.a. .. .b,c.
-.a. .. .c.
-.a. .. .c. .d.
-.a. .. .b,c,d , ,.
+test 1: .a. .b. .c.
+test 2: .a. .b. .c.
+test 3: .a. .. .b,c.
+test 4: .a. .. .b,c.
+test 5: .a. .. .c.
+test 6: .a. .. .c. .d.
+test 7: .a. .. .b,c,d , ,.
+test 8: .. .a. .b. .c.
+test 9: .a. .b. .c. ..
+test A: .. .a. .. .b. .c.
diff --git a/shell/ash_test/ash-read/read_ifs.tests b/shell/ash_test/ash-read/read_ifs.tests
index cf7cd93..6e83112 100755
--- a/shell/ash_test/ash-read/read_ifs.tests
+++ b/shell/ash_test/ash-read/read_ifs.tests
@@ -1,7 +1,10 @@
-printf 'a\t\tb\tc\n' | ( IFS=$(printf "\t") read a b c; echo ".$a. .$b. .$c." )
-printf 'a\t\tb\tc\n' | ( IFS=$(printf " \t") read a b c; echo ".$a. .$b. .$c." )
-printf 'a,,b,c\n' | ( IFS="," read a b c; echo ".$a. .$b. .$c." )
-printf 'a,,b,c\n' | ( IFS=" ," read a b c; echo ".$a. .$b. .$c." )
-printf 'a ,, c\n' | ( IFS=" ," read a b c; echo ".$a. .$b. .$c." )
-printf 'a ,, c d\n' | ( IFS=" ," read a b c d; echo ".$a. .$b. .$c. .$d." )
-printf ' a,,b,c,d , ,\n' | ( IFS=" ," read a b c; echo ".$a. .$b. .$c." )
+printf 'a\t\tb\tc\n' | ( IFS=$(printf "\t") read a b c; echo "test 1: .$a. .$b. .$c." )
+printf 'a\t\tb\tc\n' | ( IFS=$(printf " \t") read a b c; echo "test 2: .$a. .$b. .$c." )
+printf 'a,,b,c\n' | ( IFS="," read a b c; echo "test 3: .$a. .$b. .$c." )
+printf 'a,,b,c\n' | ( IFS=" ," read a b c; echo "test 4: .$a. .$b. .$c." )
+printf 'a ,, c\n' | ( IFS=" ," read a b c; echo "test 5: .$a. .$b. .$c." )
+printf 'a ,, c d\n' | ( IFS=" ," read a b c d; echo "test 6: .$a. .$b. .$c. .$d." )
+printf ' a,,b,c,d , ,\n' | ( IFS=" ," read a b c; echo "test 7: .$a. .$b. .$c." )
+printf '\t,\ta\t,\tb\tc' | ( IFS=$(printf " \t,") read a b c d; echo "test 8: .$a. .$b. .$c. .$d." )
+printf '\t\ta\t,\tb\tc' | ( IFS=$(printf " \t,") read a b c d; echo "test 9: .$a. .$b. .$c. .$d." )
+printf '\t,\ta\t,,\tb\tc' | ( IFS=$(printf " \t,") read a b c d e; echo "test A: .$a. .$b. .$c. .$d. .$e." )