aboutsummaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorStefan Farfeleder <stefanf@FreeBSD.org>2005-09-04 11:59:59 +0000
committerStefan Farfeleder <stefanf@FreeBSD.org>2005-09-04 11:59:59 +0000
commitafb2e8b616b87069e824a7da4311f65435d79362 (patch)
treede352b66017836f6f51a79fbc4034ba9f690bfe6 /tools
parentdcc34049f82bc0fdb4442a239412adb8ba2bca14 (diff)
Notes
Diffstat (limited to 'tools')
-rw-r--r--tools/regression/bin/sh/Makefile4
-rw-r--r--tools/regression/bin/sh/builtins/alias.06
-rw-r--r--tools/regression/bin/sh/builtins/alias.0.stdout1
-rw-r--r--tools/regression/bin/sh/builtins/alias.13
-rw-r--r--tools/regression/bin/sh/builtins/alias.1.stderr1
-rw-r--r--tools/regression/bin/sh/builtins/unalias.021
-rw-r--r--tools/regression/bin/sh/regress.sh42
-rw-r--r--tools/regression/bin/sh/regress.t6
-rw-r--r--tools/regression/bin/sh/set-e/and1.03
-rw-r--r--tools/regression/bin/sh/set-e/and2.14
-rw-r--r--tools/regression/bin/sh/set-e/and3.04
-rw-r--r--tools/regression/bin/sh/set-e/and4.04
-rw-r--r--tools/regression/bin/sh/set-e/background1.03
-rw-r--r--tools/regression/bin/sh/set-e/cmd1.03
-rw-r--r--tools/regression/bin/sh/set-e/cmd2.14
-rw-r--r--tools/regression/bin/sh/set-e/elif1.05
-rw-r--r--tools/regression/bin/sh/set-e/elif2.05
-rw-r--r--tools/regression/bin/sh/set-e/if1.04
-rw-r--r--tools/regression/bin/sh/set-e/if2.07
-rw-r--r--tools/regression/bin/sh/set-e/if3.04
-rw-r--r--tools/regression/bin/sh/set-e/not1.04
-rw-r--r--tools/regression/bin/sh/set-e/not2.03
-rw-r--r--tools/regression/bin/sh/set-e/or1.03
-rw-r--r--tools/regression/bin/sh/set-e/or2.03
-rw-r--r--tools/regression/bin/sh/set-e/or3.14
-rw-r--r--tools/regression/bin/sh/set-e/pipe1.14
-rw-r--r--tools/regression/bin/sh/set-e/pipe2.03
-rw-r--r--tools/regression/bin/sh/set-e/return1.011
-rw-r--r--tools/regression/bin/sh/set-e/semi1.14
-rw-r--r--tools/regression/bin/sh/set-e/semi2.14
-rw-r--r--tools/regression/bin/sh/set-e/subshell1.03
-rw-r--r--tools/regression/bin/sh/set-e/subshell2.14
-rw-r--r--tools/regression/bin/sh/set-e/until1.05
-rw-r--r--tools/regression/bin/sh/set-e/until2.05
-rw-r--r--tools/regression/bin/sh/set-e/while1.04
-rw-r--r--tools/regression/bin/sh/set-e/while2.04
36 files changed, 202 insertions, 0 deletions
diff --git a/tools/regression/bin/sh/Makefile b/tools/regression/bin/sh/Makefile
new file mode 100644
index 0000000000000..2c9ca5943505c
--- /dev/null
+++ b/tools/regression/bin/sh/Makefile
@@ -0,0 +1,4 @@
+# $FreeBSD$
+
+all:
+ sh regress.sh
diff --git a/tools/regression/bin/sh/builtins/alias.0 b/tools/regression/bin/sh/builtins/alias.0
new file mode 100644
index 0000000000000..39c748adca6d8
--- /dev/null
+++ b/tools/regression/bin/sh/builtins/alias.0
@@ -0,0 +1,6 @@
+# $FreeBSD$
+set -e
+
+unalias -a
+alias foo=bar
+alias
diff --git a/tools/regression/bin/sh/builtins/alias.0.stdout b/tools/regression/bin/sh/builtins/alias.0.stdout
new file mode 100644
index 0000000000000..1d5d2961d0e14
--- /dev/null
+++ b/tools/regression/bin/sh/builtins/alias.0.stdout
@@ -0,0 +1 @@
+foo='bar'
diff --git a/tools/regression/bin/sh/builtins/alias.1 b/tools/regression/bin/sh/builtins/alias.1
new file mode 100644
index 0000000000000..31403dc760bf9
--- /dev/null
+++ b/tools/regression/bin/sh/builtins/alias.1
@@ -0,0 +1,3 @@
+# $FreeBSD$
+unalias -a
+alias foo
diff --git a/tools/regression/bin/sh/builtins/alias.1.stderr b/tools/regression/bin/sh/builtins/alias.1.stderr
new file mode 100644
index 0000000000000..5ea01d55bfd17
--- /dev/null
+++ b/tools/regression/bin/sh/builtins/alias.1.stderr
@@ -0,0 +1 @@
+alias: foo not found
diff --git a/tools/regression/bin/sh/builtins/unalias.0 b/tools/regression/bin/sh/builtins/unalias.0
new file mode 100644
index 0000000000000..34d8d6e07d2e1
--- /dev/null
+++ b/tools/regression/bin/sh/builtins/unalias.0
@@ -0,0 +1,21 @@
+# $FreeBSD$
+set -e
+
+alias false=true
+false
+unalias false
+false && exit 1
+unalias false && exit 1
+
+alias a1=foo a2=bar
+unalias a1 a2
+unalias a1 && exit 1
+unalias a2 && exit 1
+alias a2=bar
+unalias a1 a2 && exit 1
+
+alias a1=foo a2=bar
+unalias -a
+unalias a1 && exit 1
+unalias a2 && exit 1
+exit 0
diff --git a/tools/regression/bin/sh/regress.sh b/tools/regression/bin/sh/regress.sh
new file mode 100644
index 0000000000000..0e098d0d3d12f
--- /dev/null
+++ b/tools/regression/bin/sh/regress.sh
@@ -0,0 +1,42 @@
+# $FreeBSD$
+
+echo '1..31'
+
+COUNTER=1
+
+do_test() {
+ local c
+ c=${COUNTER}
+ COUNTER=$((COUNTER+1))
+ sh $1 > tmp.stdout 2> tmp.stderr
+ if [ $? -ne $2 ]; then
+ echo "not ok ${c} - ${1} # wrong exit status"
+ rm tmp.stdout tmp.stderr
+ return
+ fi
+ for i in stdout stderr; do
+ if [ -f ${1}.${i} ]; then
+ if ! cmp -s tmp.${i} ${1}.${i}; then
+ echo "not ok ${c} - ${1} # wrong output on ${i}"
+ rm tmp.stdout tmp.stderr
+ return
+ fi
+ elif [ -s tmp.${i} ]; then
+ echo "not ok ${c} - ${1} # wrong output on ${i}"
+ rm tmp.stdout tmp.stderr
+ return
+ fi
+ done
+ echo "ok ${c} - ${1}"
+ rm tmp.stdout tmp.stderr
+}
+
+SUCCESS=$(find . -name "*.0")
+for i in ${SUCCESS} ; do
+ do_test ${i} 0
+done
+
+FAILURE=$(find . -name "*.1")
+for i in ${FAILURE} ; do
+ do_test ${i} 1
+done
diff --git a/tools/regression/bin/sh/regress.t b/tools/regression/bin/sh/regress.t
new file mode 100644
index 0000000000000..c36d8342d32a2
--- /dev/null
+++ b/tools/regression/bin/sh/regress.t
@@ -0,0 +1,6 @@
+#!/bin/sh
+# $FreeBSD$
+
+cd `dirname $0`
+
+sh regress.sh
diff --git a/tools/regression/bin/sh/set-e/and1.0 b/tools/regression/bin/sh/set-e/and1.0
new file mode 100644
index 0000000000000..607b7c3500203
--- /dev/null
+++ b/tools/regression/bin/sh/set-e/and1.0
@@ -0,0 +1,3 @@
+# $FreeBSD$
+set -e
+true && true
diff --git a/tools/regression/bin/sh/set-e/and2.1 b/tools/regression/bin/sh/set-e/and2.1
new file mode 100644
index 0000000000000..78e203ab00590
--- /dev/null
+++ b/tools/regression/bin/sh/set-e/and2.1
@@ -0,0 +1,4 @@
+# $FreeBSD$
+set -e
+true && false
+exit 0
diff --git a/tools/regression/bin/sh/set-e/and3.0 b/tools/regression/bin/sh/set-e/and3.0
new file mode 100644
index 0000000000000..9fafb1c45dd84
--- /dev/null
+++ b/tools/regression/bin/sh/set-e/and3.0
@@ -0,0 +1,4 @@
+# $FreeBSD$
+set -e
+false && true
+exit 0
diff --git a/tools/regression/bin/sh/set-e/and4.0 b/tools/regression/bin/sh/set-e/and4.0
new file mode 100644
index 0000000000000..25d0e6147dea2
--- /dev/null
+++ b/tools/regression/bin/sh/set-e/and4.0
@@ -0,0 +1,4 @@
+# $FreeBSD$
+set -e
+false && false
+exit 0
diff --git a/tools/regression/bin/sh/set-e/background1.0 b/tools/regression/bin/sh/set-e/background1.0
new file mode 100644
index 0000000000000..21577f4f78c7a
--- /dev/null
+++ b/tools/regression/bin/sh/set-e/background1.0
@@ -0,0 +1,3 @@
+# $FreeBSD$
+set -e
+false &
diff --git a/tools/regression/bin/sh/set-e/cmd1.0 b/tools/regression/bin/sh/set-e/cmd1.0
new file mode 100644
index 0000000000000..67fdcbc3d83e0
--- /dev/null
+++ b/tools/regression/bin/sh/set-e/cmd1.0
@@ -0,0 +1,3 @@
+# $FreeBSD$
+set -e
+true
diff --git a/tools/regression/bin/sh/set-e/cmd2.1 b/tools/regression/bin/sh/set-e/cmd2.1
new file mode 100644
index 0000000000000..7cd8b09d64a86
--- /dev/null
+++ b/tools/regression/bin/sh/set-e/cmd2.1
@@ -0,0 +1,4 @@
+# $FreeBSD$
+set -e
+false
+exit 0
diff --git a/tools/regression/bin/sh/set-e/elif1.0 b/tools/regression/bin/sh/set-e/elif1.0
new file mode 100644
index 0000000000000..80c7af6424aad
--- /dev/null
+++ b/tools/regression/bin/sh/set-e/elif1.0
@@ -0,0 +1,5 @@
+# $FreeBSD$
+set -e
+if false; then
+elif false; then
+fi
diff --git a/tools/regression/bin/sh/set-e/elif2.0 b/tools/regression/bin/sh/set-e/elif2.0
new file mode 100644
index 0000000000000..028938b81833f
--- /dev/null
+++ b/tools/regression/bin/sh/set-e/elif2.0
@@ -0,0 +1,5 @@
+# $FreeBSD$
+set -e
+if false; then
+elif false; false; then
+fi
diff --git a/tools/regression/bin/sh/set-e/if1.0 b/tools/regression/bin/sh/set-e/if1.0
new file mode 100644
index 0000000000000..0be254bb28b71
--- /dev/null
+++ b/tools/regression/bin/sh/set-e/if1.0
@@ -0,0 +1,4 @@
+# $FreeBSD$
+set -e
+if false; then
+fi
diff --git a/tools/regression/bin/sh/set-e/if2.0 b/tools/regression/bin/sh/set-e/if2.0
new file mode 100644
index 0000000000000..4955408540994
--- /dev/null
+++ b/tools/regression/bin/sh/set-e/if2.0
@@ -0,0 +1,7 @@
+# $FreeBSD$
+set -e
+# PR 28852
+if true; then
+ false && true
+fi
+exit 0
diff --git a/tools/regression/bin/sh/set-e/if3.0 b/tools/regression/bin/sh/set-e/if3.0
new file mode 100644
index 0000000000000..fdeacc071d555
--- /dev/null
+++ b/tools/regression/bin/sh/set-e/if3.0
@@ -0,0 +1,4 @@
+# $FreeBSD$
+set -e
+if false; false then
+fi
diff --git a/tools/regression/bin/sh/set-e/not1.0 b/tools/regression/bin/sh/set-e/not1.0
new file mode 100644
index 0000000000000..21c089a23221f
--- /dev/null
+++ b/tools/regression/bin/sh/set-e/not1.0
@@ -0,0 +1,4 @@
+# $FreeBSD$
+set -e
+! true
+exit 0
diff --git a/tools/regression/bin/sh/set-e/not2.0 b/tools/regression/bin/sh/set-e/not2.0
new file mode 100644
index 0000000000000..59b9c1cfed01e
--- /dev/null
+++ b/tools/regression/bin/sh/set-e/not2.0
@@ -0,0 +1,3 @@
+# $FreeBSD$
+set -e
+! false
diff --git a/tools/regression/bin/sh/set-e/or1.0 b/tools/regression/bin/sh/set-e/or1.0
new file mode 100644
index 0000000000000..c2dcbe9b682a9
--- /dev/null
+++ b/tools/regression/bin/sh/set-e/or1.0
@@ -0,0 +1,3 @@
+# $FreeBSD$
+set -e
+true || false
diff --git a/tools/regression/bin/sh/set-e/or2.0 b/tools/regression/bin/sh/set-e/or2.0
new file mode 100644
index 0000000000000..934e2a68de9e4
--- /dev/null
+++ b/tools/regression/bin/sh/set-e/or2.0
@@ -0,0 +1,3 @@
+# $FreeBSD$
+set -e
+false || true
diff --git a/tools/regression/bin/sh/set-e/or3.1 b/tools/regression/bin/sh/set-e/or3.1
new file mode 100644
index 0000000000000..7a617a14b4a4c
--- /dev/null
+++ b/tools/regression/bin/sh/set-e/or3.1
@@ -0,0 +1,4 @@
+# $FreeBSD$
+set -e
+false || false
+exit 0
diff --git a/tools/regression/bin/sh/set-e/pipe1.1 b/tools/regression/bin/sh/set-e/pipe1.1
new file mode 100644
index 0000000000000..c0bad0fa732dd
--- /dev/null
+++ b/tools/regression/bin/sh/set-e/pipe1.1
@@ -0,0 +1,4 @@
+# $FreeBSD$
+set -e
+true | false
+exit 0
diff --git a/tools/regression/bin/sh/set-e/pipe2.0 b/tools/regression/bin/sh/set-e/pipe2.0
new file mode 100644
index 0000000000000..1e25566a156b2
--- /dev/null
+++ b/tools/regression/bin/sh/set-e/pipe2.0
@@ -0,0 +1,3 @@
+# $FreeBSD$
+set -e
+false | true
diff --git a/tools/regression/bin/sh/set-e/return1.0 b/tools/regression/bin/sh/set-e/return1.0
new file mode 100644
index 0000000000000..ff20a070eb46d
--- /dev/null
+++ b/tools/regression/bin/sh/set-e/return1.0
@@ -0,0 +1,11 @@
+# $FreeBSD$
+set -e
+
+# PR 85267
+f() {
+ false || return 1
+ return 0
+}
+
+f || true
+exit 0
diff --git a/tools/regression/bin/sh/set-e/semi1.1 b/tools/regression/bin/sh/set-e/semi1.1
new file mode 100644
index 0000000000000..90476a98f1ecd
--- /dev/null
+++ b/tools/regression/bin/sh/set-e/semi1.1
@@ -0,0 +1,4 @@
+# $FreeBSD$
+set -e
+false; true
+exit 0
diff --git a/tools/regression/bin/sh/set-e/semi2.1 b/tools/regression/bin/sh/set-e/semi2.1
new file mode 100644
index 0000000000000..8f510ac9c164e
--- /dev/null
+++ b/tools/regression/bin/sh/set-e/semi2.1
@@ -0,0 +1,4 @@
+# $FreeBSD$
+set -e
+true; false
+exit 0
diff --git a/tools/regression/bin/sh/set-e/subshell1.0 b/tools/regression/bin/sh/set-e/subshell1.0
new file mode 100644
index 0000000000000..8e5831bd19074
--- /dev/null
+++ b/tools/regression/bin/sh/set-e/subshell1.0
@@ -0,0 +1,3 @@
+# $FreeBSD$
+set -e
+(true)
diff --git a/tools/regression/bin/sh/set-e/subshell2.1 b/tools/regression/bin/sh/set-e/subshell2.1
new file mode 100644
index 0000000000000..619e98a7d2df8
--- /dev/null
+++ b/tools/regression/bin/sh/set-e/subshell2.1
@@ -0,0 +1,4 @@
+# $FreeBSD$
+set -e
+(false)
+exit 0
diff --git a/tools/regression/bin/sh/set-e/until1.0 b/tools/regression/bin/sh/set-e/until1.0
new file mode 100644
index 0000000000000..71ea7f2cf7046
--- /dev/null
+++ b/tools/regression/bin/sh/set-e/until1.0
@@ -0,0 +1,5 @@
+# $FreeBSD$
+set -e
+until false; do
+ break
+done
diff --git a/tools/regression/bin/sh/set-e/until2.0 b/tools/regression/bin/sh/set-e/until2.0
new file mode 100644
index 0000000000000..24ea2760400b1
--- /dev/null
+++ b/tools/regression/bin/sh/set-e/until2.0
@@ -0,0 +1,5 @@
+# $FreeBSD$
+set -e
+until false; false; do
+ break
+done
diff --git a/tools/regression/bin/sh/set-e/while1.0 b/tools/regression/bin/sh/set-e/while1.0
new file mode 100644
index 0000000000000..e4c893895726f
--- /dev/null
+++ b/tools/regression/bin/sh/set-e/while1.0
@@ -0,0 +1,4 @@
+# $FreeBSD$
+set -e
+while false; do
+done
diff --git a/tools/regression/bin/sh/set-e/while2.0 b/tools/regression/bin/sh/set-e/while2.0
new file mode 100644
index 0000000000000..a331237ab3ef3
--- /dev/null
+++ b/tools/regression/bin/sh/set-e/while2.0
@@ -0,0 +1,4 @@
+# $FreeBSD$
+set -e
+while false; false; do
+done