summaryrefslogtreecommitdiff
path: root/tests/sh.testcases
diff options
context:
space:
mode:
authorEric Andersen2004-04-06 11:10:30 +0000
committerEric Andersen2004-04-06 11:10:30 +0000
commit650fe63467e693990cf357c51b74db3278088a56 (patch)
tree660b1fb0e4d7f99802a85cdd00166fafbf3132dc /tests/sh.testcases
parent39396b95fc7c46bfa29ec576357fb7f8e755762c (diff)
downloadbusybox-650fe63467e693990cf357c51b74db3278088a56.zip
busybox-650fe63467e693990cf357c51b74db3278088a56.tar.gz
Kill off the old 'tests' stuff. Write a ton of new tests for the
'testsuite' dir. Fix a bunch of broken tests. Fix the testsuite 'runtest' script so it actually reports all failures and provides meaningful feedback. -Erik
Diffstat (limited to 'tests/sh.testcases')
-rw-r--r--tests/sh.testcases89
1 files changed, 0 insertions, 89 deletions
diff --git a/tests/sh.testcases b/tests/sh.testcases
deleted file mode 100644
index aa834d4..0000000
--- a/tests/sh.testcases
+++ /dev/null
@@ -1,89 +0,0 @@
-# try running this with bash, ksh, ash, and hush.
-
-# simple quoting rules.
-echo a b
-echo "a b"
-echo a "" b
-echo a '' b
-echo hello?
-echo "hello?"
-echo t* hello
-echo t\* hello
-
-# quick and painless exit for lash
-if false; then true; exit; fi
-
-# fairly simple command substitution
-echo `echo -e foo\\\necho bar`
-
-echo THIS IS A TEST >foo
-cat $(echo FOO | tr 'A-Z' 'a-z')
-cat foo | tr 'A-Z' 'a-z'
-cat $(echo FOO | tr 'A-Z' 'a-z') | tr 'A-Z' 'a-z'
-
-cat foo | if true; then tr 'A-Z' 'a-z'; else echo bar1; fi
-cat foo | if false; then tr 'A-Z' 'a-z'; else echo bar2; fi
-if true; then tr 'A-Z' 'a-z'; else echo bar3; fi <foo
-if false; then tr 'A-Z' 'a-z'; else echo bar4; fi <foo
-if true || false; then echo foo; else echo bar5; fi
-if true && false; then echo bar6; else echo foo; fi
-
-# basic distinction between local and env variables
-unset FOO
-FOO=bar env | grep FOO
-echo "but not here: $FOO"
-FOO=bar
-env | grep FOO
-echo "yes, here: $FOO"
-FOO=
-echo a $FOO b
-echo "a $FOO b"
-
-# not quite so basic variables. Credit to Matt Kraai.
-unset FOO
-FOO=bar
-export FOO
-env | grep FOO
-unset FOO
-export FOO=bar
-FOO=baz
-env | grep FOO
-
-# interaction between environment variables and if/then and subshells
-FOO=default
-if true; then FOO=new; fi
-echo $FOO
-FOO=default
-(FOO=bogus)
-echo $FOO
-
-# make sure we can duplicate file descriptors properly
-echo replacement >foo 2>&1
-cat foo
-cat doesnt_exist >foo 2>&1
-tr 'a-z' 'A-Z' <foo
-
-# fairly simple example of hush expanding variables too early
-unset TMP
-rm -f fish
-TMP=fish && >$TMP
-ls fish
-
-# ash, lash, and hush do not create wish; bash and ksh do.
-# Thanks to Tapani Tarvainen <tt@mit.jyu.fi> for this stress test.
-unset TMP
-rm -f wish
-TMP=wish >$TMP
-ls wish
-
-# The following example shows that hush's parser is
-# not _really_ Bourne compatible
-echo "echo Hello World" >"a=b"
-unset a
-chmod a+x "a=b"
-PATH=$PATH:.
-"a=b"
-echo $a
-
-# assuming the shell wasn't too buggy, clean up the mess
-rm -f a=b wish fish foo