diff options
-rw-r--r-- | bin/Makefile | 4 | ||||
-rw-r--r-- | bin/date/Makefile | 6 | ||||
-rw-r--r-- | bin/date/tests/Makefile | 9 | ||||
-rw-r--r-- | bin/date/tests/legacy_test.sh (renamed from tools/regression/bin/date/regress.sh) | 0 | ||||
-rw-r--r-- | bin/mv/Makefile | 6 | ||||
-rw-r--r-- | bin/mv/tests/Makefile | 9 | ||||
-rw-r--r-- | bin/mv/tests/legacy_test.sh (renamed from tools/regression/bin/mv/regress.sh) | 0 | ||||
-rw-r--r-- | bin/pax/Makefile | 6 | ||||
-rw-r--r-- | bin/pax/tests/Makefile | 9 | ||||
-rw-r--r--[-rwxr-xr-x] | bin/pax/tests/legacy_test.pl (renamed from tools/regression/bin/pax/regress.t) | 2 | ||||
-rw-r--r-- | bin/sh/Makefile | 7 | ||||
-rw-r--r-- | bin/sh/alias.c | 44 | ||||
-rw-r--r-- | bin/sh/cd.c | 12 | ||||
-rw-r--r-- | bin/sh/eval.c | 75 | ||||
-rw-r--r-- | bin/sh/exec.c | 22 | ||||
-rw-r--r-- | bin/sh/expand.c | 111 | ||||
-rw-r--r-- | bin/sh/expand.h | 1 | ||||
-rw-r--r-- | bin/sh/input.c | 37 | ||||
-rw-r--r-- | bin/sh/jobs.c | 3 | ||||
-rw-r--r-- | bin/sh/memalloc.c | 6 | ||||
-rw-r--r-- | bin/sh/mystring.c | 5 | ||||
-rw-r--r-- | bin/sh/mystring.h | 1 | ||||
-rw-r--r-- | bin/sh/nodetypes | 6 | ||||
-rw-r--r-- | bin/sh/parser.c | 6 | ||||
-rw-r--r-- | bin/sh/parser.h | 1 | ||||
-rw-r--r-- | bin/sh/redir.c | 9 | ||||
-rw-r--r-- | bin/sh/sh.1 | 24 | ||||
-rw-r--r-- | bin/sh/show.c | 4 | ||||
-rw-r--r-- | bin/sh/tests/Makefile | 18 | ||||
-rw-r--r-- | bin/sh/tests/builtins/Makefile | 148 | ||||
-rw-r--r-- | bin/sh/tests/builtins/alias.0 (renamed from tools/regression/bin/sh/builtins/alias.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/builtins/alias.0.stdout (renamed from tools/regression/bin/sh/builtins/alias.0.stdout) | 0 | ||||
-rw-r--r-- | bin/sh/tests/builtins/alias.1 (renamed from tools/regression/bin/sh/builtins/alias.1) | 0 | ||||
-rw-r--r-- | bin/sh/tests/builtins/alias.1.stderr (renamed from tools/regression/bin/sh/builtins/alias.1.stderr) | 0 | ||||
-rw-r--r-- | bin/sh/tests/builtins/alias3.0 (renamed from tools/regression/bin/sh/builtins/alias3.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/builtins/alias3.0.stdout (renamed from tools/regression/bin/sh/builtins/alias3.0.stdout) | 0 | ||||
-rw-r--r-- | bin/sh/tests/builtins/alias4.0 (renamed from tools/regression/bin/sh/builtins/alias4.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/builtins/break1.0 (renamed from tools/regression/bin/sh/builtins/break1.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/builtins/break2.0 (renamed from tools/regression/bin/sh/builtins/break2.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/builtins/break2.0.stdout (renamed from tools/regression/bin/sh/builtins/break2.0.stdout) | 0 | ||||
-rw-r--r-- | bin/sh/tests/builtins/break3.0 (renamed from tools/regression/bin/sh/builtins/break3.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/builtins/break4.4 (renamed from tools/regression/bin/sh/builtins/break4.4) | 0 | ||||
-rw-r--r-- | bin/sh/tests/builtins/break5.4 (renamed from tools/regression/bin/sh/builtins/break5.4) | 0 | ||||
-rw-r--r-- | bin/sh/tests/builtins/builtin1.0 (renamed from tools/regression/bin/sh/builtins/builtin1.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/builtins/case1.0 (renamed from tools/regression/bin/sh/builtins/case1.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/builtins/case10.0 (renamed from tools/regression/bin/sh/builtins/case10.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/builtins/case11.0 (renamed from tools/regression/bin/sh/builtins/case11.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/builtins/case12.0 (renamed from tools/regression/bin/sh/builtins/case12.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/builtins/case13.0 (renamed from tools/regression/bin/sh/builtins/case13.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/builtins/case14.0 (renamed from tools/regression/bin/sh/builtins/case14.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/builtins/case15.0 (renamed from tools/regression/bin/sh/builtins/case15.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/builtins/case16.0 (renamed from tools/regression/bin/sh/builtins/case16.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/builtins/case17.0 (renamed from tools/regression/bin/sh/builtins/case17.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/builtins/case18.0 (renamed from tools/regression/bin/sh/builtins/case18.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/builtins/case19.0 (renamed from tools/regression/bin/sh/builtins/case19.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/builtins/case2.0 (renamed from tools/regression/bin/sh/builtins/case2.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/builtins/case3.0 (renamed from tools/regression/bin/sh/builtins/case3.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/builtins/case4.0 (renamed from tools/regression/bin/sh/builtins/case4.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/builtins/case5.0 (renamed from tools/regression/bin/sh/builtins/case5.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/builtins/case6.0 (renamed from tools/regression/bin/sh/builtins/case6.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/builtins/case7.0 (renamed from tools/regression/bin/sh/builtins/case7.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/builtins/case8.0 (renamed from tools/regression/bin/sh/builtins/case8.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/builtins/case9.0 (renamed from tools/regression/bin/sh/builtins/case9.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/builtins/cd1.0 (renamed from tools/regression/bin/sh/builtins/cd1.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/builtins/cd2.0 (renamed from tools/regression/bin/sh/builtins/cd2.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/builtins/cd3.0 (renamed from tools/regression/bin/sh/builtins/cd3.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/builtins/cd4.0 (renamed from tools/regression/bin/sh/builtins/cd4.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/builtins/cd5.0 (renamed from tools/regression/bin/sh/builtins/cd5.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/builtins/cd6.0 (renamed from tools/regression/bin/sh/builtins/cd6.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/builtins/cd7.0 (renamed from tools/regression/bin/sh/builtins/cd7.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/builtins/cd8.0 (renamed from tools/regression/bin/sh/builtins/cd8.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/builtins/command1.0 (renamed from tools/regression/bin/sh/builtins/command1.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/builtins/command10.0 (renamed from tools/regression/bin/sh/builtins/command10.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/builtins/command11.0 (renamed from tools/regression/bin/sh/builtins/command11.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/builtins/command12.0 | 7 | ||||
-rw-r--r-- | bin/sh/tests/builtins/command2.0 (renamed from tools/regression/bin/sh/builtins/command2.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/builtins/command3.0 (renamed from tools/regression/bin/sh/builtins/command3.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/builtins/command3.0.stdout (renamed from tools/regression/bin/sh/builtins/command3.0.stdout) | 2 | ||||
-rw-r--r-- | bin/sh/tests/builtins/command4.0 (renamed from tools/regression/bin/sh/builtins/command4.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/builtins/command5.0 (renamed from tools/regression/bin/sh/builtins/command5.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/builtins/command5.0.stdout (renamed from tools/regression/bin/sh/builtins/command5.0.stdout) | 2 | ||||
-rw-r--r-- | bin/sh/tests/builtins/command6.0 (renamed from tools/regression/bin/sh/builtins/command6.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/builtins/command6.0.stdout (renamed from tools/regression/bin/sh/builtins/command6.0.stdout) | 2 | ||||
-rw-r--r-- | bin/sh/tests/builtins/command7.0 (renamed from tools/regression/bin/sh/builtins/command7.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/builtins/command8.0 (renamed from tools/regression/bin/sh/builtins/command8.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/builtins/command9.0 (renamed from tools/regression/bin/sh/builtins/command9.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/builtins/dot1.0 (renamed from tools/regression/bin/sh/builtins/dot1.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/builtins/dot2.0 (renamed from tools/regression/bin/sh/builtins/dot2.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/builtins/dot3.0 (renamed from tools/regression/bin/sh/builtins/dot3.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/builtins/dot4.0 (renamed from tools/regression/bin/sh/builtins/dot4.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/builtins/eval1.0 (renamed from tools/regression/bin/sh/builtins/eval1.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/builtins/eval2.0 (renamed from tools/regression/bin/sh/builtins/eval2.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/builtins/eval3.0 (renamed from tools/regression/bin/sh/builtins/eval3.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/builtins/eval4.0 (renamed from tools/regression/bin/sh/builtins/eval4.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/builtins/eval5.0 (renamed from tools/regression/bin/sh/builtins/eval5.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/builtins/eval6.0 (renamed from tools/regression/bin/sh/builtins/eval6.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/builtins/exec1.0 (renamed from tools/regression/bin/sh/builtins/exec1.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/builtins/exec2.0 (renamed from tools/regression/bin/sh/builtins/exec2.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/builtins/exit1.0 (renamed from tools/regression/bin/sh/builtins/exit1.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/builtins/exit2.8 (renamed from tools/regression/bin/sh/builtins/exit2.8) | 0 | ||||
-rw-r--r-- | bin/sh/tests/builtins/exit3.0 (renamed from tools/regression/bin/sh/builtins/exit3.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/builtins/export1.0 (renamed from tools/regression/bin/sh/builtins/export1.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/builtins/fc1.0 (renamed from tools/regression/bin/sh/builtins/fc1.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/builtins/fc2.0 (renamed from tools/regression/bin/sh/builtins/fc2.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/builtins/for1.0 (renamed from tools/regression/bin/sh/builtins/for1.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/builtins/for2.0 (renamed from tools/regression/bin/sh/builtins/for2.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/builtins/for3.0 (renamed from tools/regression/bin/sh/builtins/for3.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/builtins/getopts1.0 (renamed from tools/regression/bin/sh/builtins/getopts1.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/builtins/getopts1.0.stdout (renamed from tools/regression/bin/sh/builtins/getopts1.0.stdout) | 0 | ||||
-rw-r--r-- | bin/sh/tests/builtins/getopts2.0 (renamed from tools/regression/bin/sh/builtins/getopts2.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/builtins/getopts2.0.stdout (renamed from tools/regression/bin/sh/builtins/getopts2.0.stdout) | 0 | ||||
-rw-r--r-- | bin/sh/tests/builtins/hash1.0 (renamed from tools/regression/bin/sh/builtins/hash1.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/builtins/hash1.0.stdout (renamed from tools/regression/bin/sh/builtins/hash1.0.stdout) | 0 | ||||
-rw-r--r-- | bin/sh/tests/builtins/hash2.0 (renamed from tools/regression/bin/sh/builtins/hash2.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/builtins/hash2.0.stdout (renamed from tools/regression/bin/sh/builtins/hash2.0.stdout) | 0 | ||||
-rw-r--r-- | bin/sh/tests/builtins/hash3.0 (renamed from tools/regression/bin/sh/builtins/hash3.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/builtins/hash3.0.stdout (renamed from tools/regression/bin/sh/builtins/hash3.0.stdout) | 0 | ||||
-rw-r--r-- | bin/sh/tests/builtins/hash4.0 (renamed from tools/regression/bin/sh/builtins/hash4.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/builtins/jobid1.0 (renamed from tools/regression/bin/sh/builtins/jobid1.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/builtins/jobid2.0 (renamed from tools/regression/bin/sh/builtins/jobid2.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/builtins/lineno.0 (renamed from tools/regression/bin/sh/builtins/lineno.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/builtins/lineno.0.stdout (renamed from tools/regression/bin/sh/builtins/lineno.0.stdout) | 0 | ||||
-rw-r--r-- | bin/sh/tests/builtins/lineno2.0 | 10 | ||||
-rw-r--r-- | bin/sh/tests/builtins/local1.0 (renamed from tools/regression/bin/sh/builtins/local1.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/builtins/local2.0 (renamed from tools/regression/bin/sh/builtins/local2.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/builtins/local3.0 (renamed from tools/regression/bin/sh/builtins/local3.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/builtins/local4.0 (renamed from tools/regression/bin/sh/builtins/local4.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/builtins/locale1.0 (renamed from tools/regression/bin/sh/builtins/locale1.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/builtins/printf1.0 (renamed from tools/regression/bin/sh/builtins/printf1.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/builtins/printf2.0 (renamed from tools/regression/bin/sh/builtins/printf2.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/builtins/printf3.0 (renamed from tools/regression/bin/sh/builtins/printf3.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/builtins/printf4.0 (renamed from tools/regression/bin/sh/builtins/printf4.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/builtins/read1.0 (renamed from tools/regression/bin/sh/builtins/read1.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/builtins/read1.0.stdout (renamed from tools/regression/bin/sh/builtins/read1.0.stdout) | 0 | ||||
-rw-r--r-- | bin/sh/tests/builtins/read2.0 (renamed from tools/regression/bin/sh/builtins/read2.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/builtins/read3.0 (renamed from tools/regression/bin/sh/builtins/read3.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/builtins/read3.0.stdout (renamed from tools/regression/bin/sh/builtins/read3.0.stdout) | 0 | ||||
-rw-r--r-- | bin/sh/tests/builtins/read4.0 (renamed from tools/regression/bin/sh/builtins/read4.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/builtins/read4.0.stdout (renamed from tools/regression/bin/sh/builtins/read4.0.stdout) | 0 | ||||
-rw-r--r-- | bin/sh/tests/builtins/read5.0 (renamed from tools/regression/bin/sh/builtins/read5.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/builtins/read6.0 (renamed from tools/regression/bin/sh/builtins/read6.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/builtins/read7.0 (renamed from tools/regression/bin/sh/builtins/read7.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/builtins/return1.0 (renamed from tools/regression/bin/sh/builtins/return1.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/builtins/return2.1 (renamed from tools/regression/bin/sh/builtins/return2.1) | 0 | ||||
-rw-r--r-- | bin/sh/tests/builtins/return3.1 (renamed from tools/regression/bin/sh/builtins/return3.1) | 0 | ||||
-rw-r--r-- | bin/sh/tests/builtins/return4.0 (renamed from tools/regression/bin/sh/builtins/return4.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/builtins/return5.0 (renamed from tools/regression/bin/sh/builtins/return5.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/builtins/return6.4 (renamed from tools/regression/bin/sh/builtins/return6.4) | 0 | ||||
-rw-r--r-- | bin/sh/tests/builtins/return7.4 (renamed from tools/regression/bin/sh/builtins/return7.4) | 0 | ||||
-rw-r--r-- | bin/sh/tests/builtins/return8.0 (renamed from tools/regression/bin/sh/builtins/return8.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/builtins/set1.0 (renamed from tools/regression/bin/sh/builtins/set1.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/builtins/set2.0 (renamed from tools/regression/bin/sh/builtins/set2.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/builtins/trap1.0 (renamed from tools/regression/bin/sh/builtins/trap1.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/builtins/trap10.0 (renamed from tools/regression/bin/sh/builtins/trap10.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/builtins/trap11.0 (renamed from tools/regression/bin/sh/builtins/trap11.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/builtins/trap12.0 (renamed from tools/regression/bin/sh/builtins/trap12.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/builtins/trap13.0 | 8 | ||||
-rw-r--r-- | bin/sh/tests/builtins/trap14.0 | 10 | ||||
-rw-r--r-- | bin/sh/tests/builtins/trap2.0 (renamed from tools/regression/bin/sh/builtins/trap2.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/builtins/trap3.0 (renamed from tools/regression/bin/sh/builtins/trap3.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/builtins/trap4.0 (renamed from tools/regression/bin/sh/builtins/trap4.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/builtins/trap5.0 (renamed from tools/regression/bin/sh/builtins/trap5.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/builtins/trap6.0 (renamed from tools/regression/bin/sh/builtins/trap6.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/builtins/trap7.0 (renamed from tools/regression/bin/sh/builtins/trap7.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/builtins/trap8.0 (renamed from tools/regression/bin/sh/builtins/trap8.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/builtins/trap9.0 (renamed from tools/regression/bin/sh/builtins/trap9.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/builtins/type1.0 (renamed from tools/regression/bin/sh/builtins/type1.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/builtins/type1.0.stderr (renamed from tools/regression/bin/sh/builtins/type1.0.stderr) | 0 | ||||
-rw-r--r-- | bin/sh/tests/builtins/type2.0 (renamed from tools/regression/bin/sh/builtins/type2.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/builtins/type3.0 (renamed from tools/regression/bin/sh/builtins/type3.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/builtins/unalias.0 (renamed from tools/regression/bin/sh/builtins/unalias.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/builtins/var-assign.0 (renamed from tools/regression/bin/sh/builtins/var-assign.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/builtins/var-assign2.0 (renamed from tools/regression/bin/sh/builtins/var-assign2.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/builtins/wait1.0 (renamed from tools/regression/bin/sh/builtins/wait1.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/builtins/wait10.0 (renamed from tools/regression/bin/sh/builtins/wait10.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/builtins/wait2.0 (renamed from tools/regression/bin/sh/builtins/wait2.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/builtins/wait3.0 (renamed from tools/regression/bin/sh/builtins/wait3.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/builtins/wait4.0 (renamed from tools/regression/bin/sh/builtins/wait4.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/builtins/wait5.0 (renamed from tools/regression/bin/sh/builtins/wait5.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/builtins/wait6.0 (renamed from tools/regression/bin/sh/builtins/wait6.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/builtins/wait7.0 (renamed from tools/regression/bin/sh/builtins/wait7.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/builtins/wait8.0 (renamed from tools/regression/bin/sh/builtins/wait8.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/builtins/wait9.127 (renamed from tools/regression/bin/sh/builtins/wait9.127) | 0 | ||||
-rw-r--r-- | bin/sh/tests/errors/Makefile | 30 | ||||
-rw-r--r-- | bin/sh/tests/errors/assignment-error1.0 (renamed from tools/regression/bin/sh/errors/assignment-error1.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/errors/assignment-error2.0 (renamed from tools/regression/bin/sh/errors/assignment-error2.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/errors/backquote-error1.0 (renamed from tools/regression/bin/sh/errors/backquote-error1.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/errors/backquote-error2.0 (renamed from tools/regression/bin/sh/errors/backquote-error2.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/errors/bad-binary1.126 (renamed from tools/regression/bin/sh/errors/bad-binary1.126) | 0 | ||||
-rw-r--r-- | bin/sh/tests/errors/bad-keyword1.0 (renamed from tools/regression/bin/sh/errors/bad-keyword1.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/errors/bad-parm-exp1.0 (renamed from tools/regression/bin/sh/errors/bad-parm-exp1.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/errors/bad-parm-exp2.2 (renamed from tools/regression/bin/sh/errors/bad-parm-exp2.2) | 0 | ||||
-rw-r--r-- | bin/sh/tests/errors/bad-parm-exp2.2.stderr (renamed from tools/regression/bin/sh/errors/bad-parm-exp2.2.stderr) | 0 | ||||
-rw-r--r-- | bin/sh/tests/errors/bad-parm-exp3.2 (renamed from tools/regression/bin/sh/errors/bad-parm-exp3.2) | 0 | ||||
-rw-r--r-- | bin/sh/tests/errors/bad-parm-exp3.2.stderr (renamed from tools/regression/bin/sh/errors/bad-parm-exp3.2.stderr) | 0 | ||||
-rw-r--r-- | bin/sh/tests/errors/bad-parm-exp4.2 (renamed from tools/regression/bin/sh/errors/bad-parm-exp4.2) | 0 | ||||
-rw-r--r-- | bin/sh/tests/errors/bad-parm-exp4.2.stderr (renamed from tools/regression/bin/sh/errors/bad-parm-exp4.2.stderr) | 0 | ||||
-rw-r--r-- | bin/sh/tests/errors/bad-parm-exp5.2 (renamed from tools/regression/bin/sh/errors/bad-parm-exp5.2) | 0 | ||||
-rw-r--r-- | bin/sh/tests/errors/bad-parm-exp5.2.stderr (renamed from tools/regression/bin/sh/errors/bad-parm-exp5.2.stderr) | 0 | ||||
-rw-r--r-- | bin/sh/tests/errors/bad-parm-exp6.2 (renamed from tools/regression/bin/sh/errors/bad-parm-exp6.2) | 0 | ||||
-rw-r--r-- | bin/sh/tests/errors/bad-parm-exp6.2.stderr (renamed from tools/regression/bin/sh/errors/bad-parm-exp6.2.stderr) | 0 | ||||
-rw-r--r-- | bin/sh/tests/errors/option-error.0 (renamed from tools/regression/bin/sh/errors/option-error.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/errors/redirection-error.0 (renamed from tools/regression/bin/sh/errors/redirection-error.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/errors/redirection-error2.2 (renamed from tools/regression/bin/sh/errors/redirection-error2.2) | 0 | ||||
-rw-r--r-- | bin/sh/tests/errors/redirection-error3.0 (renamed from tools/regression/bin/sh/errors/redirection-error3.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/errors/redirection-error4.0 (renamed from tools/regression/bin/sh/errors/redirection-error4.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/errors/redirection-error5.0 (renamed from tools/regression/bin/sh/errors/redirection-error5.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/errors/redirection-error6.0 (renamed from tools/regression/bin/sh/errors/redirection-error6.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/errors/redirection-error7.0 (renamed from tools/regression/bin/sh/errors/redirection-error7.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/errors/write-error1.0 (renamed from tools/regression/bin/sh/errors/write-error1.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/execution/Makefile | 53 | ||||
-rw-r--r-- | bin/sh/tests/execution/bg1.0 (renamed from tools/regression/bin/sh/execution/bg1.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/execution/bg10.0 | 4 | ||||
-rw-r--r-- | bin/sh/tests/execution/bg10.0.stdout | 1 | ||||
-rw-r--r-- | bin/sh/tests/execution/bg2.0 (renamed from tools/regression/bin/sh/execution/bg2.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/execution/bg3.0 (renamed from tools/regression/bin/sh/execution/bg3.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/execution/bg4.0 (renamed from tools/regression/bin/sh/execution/bg4.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/execution/bg5.0 | 4 | ||||
-rw-r--r-- | bin/sh/tests/execution/bg6.0 | 4 | ||||
-rw-r--r-- | bin/sh/tests/execution/bg6.0.stdout | 1 | ||||
-rw-r--r-- | bin/sh/tests/execution/bg7.0 | 5 | ||||
-rw-r--r-- | bin/sh/tests/execution/bg8.0 | 5 | ||||
-rw-r--r-- | bin/sh/tests/execution/bg9.0 | 5 | ||||
-rw-r--r-- | bin/sh/tests/execution/fork1.0 (renamed from tools/regression/bin/sh/execution/fork1.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/execution/fork2.0 (renamed from tools/regression/bin/sh/execution/fork2.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/execution/fork3.0 (renamed from tools/regression/bin/sh/execution/fork3.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/execution/func1.0 (renamed from tools/regression/bin/sh/execution/func1.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/execution/func2.0 (renamed from tools/regression/bin/sh/execution/func2.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/execution/func3.0 (renamed from tools/regression/bin/sh/execution/func3.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/execution/hash1.0 (renamed from tools/regression/bin/sh/execution/hash1.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/execution/int-cmd1.0 (renamed from tools/regression/bin/sh/execution/int-cmd1.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/execution/killed1.0 (renamed from tools/regression/bin/sh/execution/killed1.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/execution/killed2.0 (renamed from tools/regression/bin/sh/execution/killed2.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/execution/not1.0 (renamed from tools/regression/bin/sh/execution/not1.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/execution/not2.0 (renamed from tools/regression/bin/sh/execution/not2.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/execution/path1.0 (renamed from tools/regression/bin/sh/execution/path1.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/execution/redir1.0 (renamed from tools/regression/bin/sh/execution/redir1.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/execution/redir2.0 (renamed from tools/regression/bin/sh/execution/redir2.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/execution/redir3.0 (renamed from tools/regression/bin/sh/execution/redir3.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/execution/redir4.0 (renamed from tools/regression/bin/sh/execution/redir4.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/execution/redir5.0 (renamed from tools/regression/bin/sh/execution/redir5.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/execution/redir6.0 (renamed from tools/regression/bin/sh/execution/redir6.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/execution/redir7.0 (renamed from tools/regression/bin/sh/execution/redir7.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/execution/set-n1.0 (renamed from tools/regression/bin/sh/execution/set-n1.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/execution/set-n2.0 (renamed from tools/regression/bin/sh/execution/set-n2.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/execution/set-n3.0 (renamed from tools/regression/bin/sh/execution/set-n3.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/execution/set-n4.0 (renamed from tools/regression/bin/sh/execution/set-n4.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/execution/set-x1.0 (renamed from tools/regression/bin/sh/execution/set-x1.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/execution/set-x2.0 (renamed from tools/regression/bin/sh/execution/set-x2.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/execution/set-x3.0 (renamed from tools/regression/bin/sh/execution/set-x3.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/execution/shellproc1.0 (renamed from tools/regression/bin/sh/execution/shellproc1.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/execution/subshell1.0 (renamed from tools/regression/bin/sh/execution/subshell1.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/execution/subshell1.0.stdout (renamed from tools/regression/bin/sh/execution/subshell1.0.stdout) | 0 | ||||
-rw-r--r-- | bin/sh/tests/execution/subshell2.0 (renamed from tools/regression/bin/sh/execution/subshell2.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/execution/subshell3.0 (renamed from tools/regression/bin/sh/execution/subshell3.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/execution/subshell4.0 (renamed from tools/regression/bin/sh/execution/subshell4.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/execution/unknown1.0 (renamed from tools/regression/bin/sh/execution/unknown1.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/execution/var-assign1.0 (renamed from tools/regression/bin/sh/execution/var-assign1.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/expansion/Makefile | 86 | ||||
-rw-r--r-- | bin/sh/tests/expansion/arith1.0 (renamed from tools/regression/bin/sh/expansion/arith1.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/expansion/arith10.0 (renamed from tools/regression/bin/sh/expansion/arith10.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/expansion/arith11.0 (renamed from tools/regression/bin/sh/expansion/arith11.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/expansion/arith12.0 (renamed from tools/regression/bin/sh/expansion/arith12.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/expansion/arith13.0 (renamed from tools/regression/bin/sh/expansion/arith13.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/expansion/arith2.0 (renamed from tools/regression/bin/sh/expansion/arith2.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/expansion/arith3.0 (renamed from tools/regression/bin/sh/expansion/arith3.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/expansion/arith4.0 (renamed from tools/regression/bin/sh/expansion/arith4.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/expansion/arith5.0 (renamed from tools/regression/bin/sh/expansion/arith5.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/expansion/arith6.0 (renamed from tools/regression/bin/sh/expansion/arith6.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/expansion/arith7.0 (renamed from tools/regression/bin/sh/expansion/arith7.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/expansion/arith8.0 (renamed from tools/regression/bin/sh/expansion/arith8.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/expansion/arith9.0 (renamed from tools/regression/bin/sh/expansion/arith9.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/expansion/assign1.0 (renamed from tools/regression/bin/sh/expansion/assign1.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/expansion/cmdsubst1.0 (renamed from tools/regression/bin/sh/expansion/cmdsubst1.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/expansion/cmdsubst10.0 (renamed from tools/regression/bin/sh/expansion/cmdsubst10.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/expansion/cmdsubst11.0 (renamed from tools/regression/bin/sh/expansion/cmdsubst11.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/expansion/cmdsubst12.0 (renamed from tools/regression/bin/sh/expansion/cmdsubst12.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/expansion/cmdsubst13.0 (renamed from tools/regression/bin/sh/expansion/cmdsubst13.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/expansion/cmdsubst14.0 (renamed from tools/regression/bin/sh/expansion/cmdsubst14.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/expansion/cmdsubst15.0 (renamed from tools/regression/bin/sh/expansion/cmdsubst15.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/expansion/cmdsubst16.0 (renamed from tools/regression/bin/sh/expansion/cmdsubst16.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/expansion/cmdsubst17.0 (renamed from tools/regression/bin/sh/expansion/cmdsubst17.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/expansion/cmdsubst2.0 (renamed from tools/regression/bin/sh/expansion/cmdsubst2.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/expansion/cmdsubst3.0 (renamed from tools/regression/bin/sh/expansion/cmdsubst3.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/expansion/cmdsubst4.0 (renamed from tools/regression/bin/sh/expansion/cmdsubst4.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/expansion/cmdsubst5.0 (renamed from tools/regression/bin/sh/expansion/cmdsubst5.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/expansion/cmdsubst6.0 (renamed from tools/regression/bin/sh/expansion/cmdsubst6.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/expansion/cmdsubst7.0 (renamed from tools/regression/bin/sh/expansion/cmdsubst7.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/expansion/cmdsubst8.0 (renamed from tools/regression/bin/sh/expansion/cmdsubst8.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/expansion/cmdsubst9.0 (renamed from tools/regression/bin/sh/expansion/cmdsubst9.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/expansion/export1.0 (renamed from tools/regression/bin/sh/expansion/export1.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/expansion/export2.0 (renamed from tools/regression/bin/sh/expansion/export2.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/expansion/export3.0 (renamed from tools/regression/bin/sh/expansion/export3.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/expansion/heredoc1.0 (renamed from tools/regression/bin/sh/expansion/heredoc1.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/expansion/heredoc2.0 (renamed from tools/regression/bin/sh/expansion/heredoc2.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/expansion/ifs1.0 (renamed from tools/regression/bin/sh/expansion/ifs1.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/expansion/ifs2.0 (renamed from tools/regression/bin/sh/expansion/ifs2.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/expansion/ifs3.0 (renamed from tools/regression/bin/sh/expansion/ifs3.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/expansion/ifs4.0 (renamed from tools/regression/bin/sh/expansion/ifs4.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/expansion/length1.0 (renamed from tools/regression/bin/sh/expansion/length1.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/expansion/length2.0 (renamed from tools/regression/bin/sh/expansion/length2.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/expansion/length3.0 (renamed from tools/regression/bin/sh/expansion/length3.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/expansion/length4.0 (renamed from tools/regression/bin/sh/expansion/length4.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/expansion/length5.0 (renamed from tools/regression/bin/sh/expansion/length5.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/expansion/length6.0 (renamed from tools/regression/bin/sh/expansion/length6.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/expansion/length7.0 (renamed from tools/regression/bin/sh/expansion/length7.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/expansion/length8.0 (renamed from tools/regression/bin/sh/expansion/length8.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/expansion/local1.0 (renamed from tools/regression/bin/sh/expansion/local1.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/expansion/local2.0 (renamed from tools/regression/bin/sh/expansion/local2.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/expansion/pathname1.0 (renamed from tools/regression/bin/sh/expansion/pathname1.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/expansion/pathname2.0 (renamed from tools/regression/bin/sh/expansion/pathname2.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/expansion/pathname3.0 (renamed from tools/regression/bin/sh/expansion/pathname3.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/expansion/pathname4.0 (renamed from tools/regression/bin/sh/expansion/pathname4.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/expansion/plus-minus1.0 (renamed from tools/regression/bin/sh/expansion/plus-minus1.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/expansion/plus-minus2.0 (renamed from tools/regression/bin/sh/expansion/plus-minus2.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/expansion/plus-minus3.0 (renamed from tools/regression/bin/sh/expansion/plus-minus3.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/expansion/plus-minus4.0 (renamed from tools/regression/bin/sh/expansion/plus-minus4.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/expansion/plus-minus5.0 (renamed from tools/regression/bin/sh/expansion/plus-minus5.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/expansion/plus-minus6.0 (renamed from tools/regression/bin/sh/expansion/plus-minus6.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/expansion/plus-minus7.0 (renamed from tools/regression/bin/sh/expansion/plus-minus7.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/expansion/plus-minus8.0 (renamed from tools/regression/bin/sh/expansion/plus-minus8.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/expansion/question1.0 (renamed from tools/regression/bin/sh/expansion/question1.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/expansion/readonly1.0 (renamed from tools/regression/bin/sh/expansion/readonly1.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/expansion/set-u1.0 (renamed from tools/regression/bin/sh/expansion/set-u1.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/expansion/set-u2.0 (renamed from tools/regression/bin/sh/expansion/set-u2.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/expansion/set-u3.0 (renamed from tools/regression/bin/sh/expansion/set-u3.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/expansion/tilde1.0 (renamed from tools/regression/bin/sh/expansion/tilde1.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/expansion/tilde2.0 (renamed from tools/regression/bin/sh/expansion/tilde2.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/expansion/trim1.0 (renamed from tools/regression/bin/sh/expansion/trim1.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/expansion/trim2.0 (renamed from tools/regression/bin/sh/expansion/trim2.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/expansion/trim3.0 (renamed from tools/regression/bin/sh/expansion/trim3.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/expansion/trim4.0 (renamed from tools/regression/bin/sh/expansion/trim4.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/expansion/trim5.0 (renamed from tools/regression/bin/sh/expansion/trim5.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/expansion/trim6.0 (renamed from tools/regression/bin/sh/expansion/trim6.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/expansion/trim7.0 (renamed from tools/regression/bin/sh/expansion/trim7.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/expansion/trim8.0 (renamed from tools/regression/bin/sh/expansion/trim8.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/legacy_test.sh (renamed from tools/regression/bin/sh/regress.sh) | 16 | ||||
-rw-r--r-- | bin/sh/tests/parameters/Makefile | 19 | ||||
-rw-r--r-- | bin/sh/tests/parameters/env1.0 (renamed from tools/regression/bin/sh/parameters/env1.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/parameters/exitstatus1.0 (renamed from tools/regression/bin/sh/parameters/exitstatus1.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/parameters/mail1.0 (renamed from tools/regression/bin/sh/parameters/mail1.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/parameters/mail2.0 (renamed from tools/regression/bin/sh/parameters/mail2.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/parameters/optind1.0 (renamed from tools/regression/bin/sh/parameters/optind1.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/parameters/optind2.0 | 3 | ||||
-rw-r--r-- | bin/sh/tests/parameters/positional1.0 (renamed from tools/regression/bin/sh/parameters/positional1.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/parameters/positional2.0 (renamed from tools/regression/bin/sh/parameters/positional2.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/parameters/pwd1.0 (renamed from tools/regression/bin/sh/parameters/pwd1.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/parameters/pwd2.0 (renamed from tools/regression/bin/sh/parameters/pwd2.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/parser/Makefile | 64 | ||||
-rw-r--r-- | bin/sh/tests/parser/alias1.0 (renamed from tools/regression/bin/sh/parser/alias1.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/parser/alias10.0 (renamed from tools/regression/bin/sh/parser/alias10.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/parser/alias11.0 | 6 | ||||
-rw-r--r-- | bin/sh/tests/parser/alias12.0 | 6 | ||||
-rw-r--r-- | bin/sh/tests/parser/alias13.0 | 6 | ||||
-rw-r--r-- | bin/sh/tests/parser/alias14.0 | 6 | ||||
-rw-r--r-- | bin/sh/tests/parser/alias15.0 | 12 | ||||
-rw-r--r-- | bin/sh/tests/parser/alias15.0.stdout | 4 | ||||
-rw-r--r-- | bin/sh/tests/parser/alias2.0 (renamed from tools/regression/bin/sh/parser/alias2.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/parser/alias3.0 (renamed from tools/regression/bin/sh/parser/alias3.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/parser/alias4.0 (renamed from tools/regression/bin/sh/parser/alias4.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/parser/alias5.0 (renamed from tools/regression/bin/sh/parser/alias5.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/parser/alias6.0 (renamed from tools/regression/bin/sh/parser/alias6.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/parser/alias7.0 (renamed from tools/regression/bin/sh/parser/alias7.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/parser/alias8.0 (renamed from tools/regression/bin/sh/parser/alias8.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/parser/alias9.0 (renamed from tools/regression/bin/sh/parser/alias9.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/parser/and-pipe-not.0 (renamed from tools/regression/bin/sh/parser/and-pipe-not.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/parser/case1.0 (renamed from tools/regression/bin/sh/parser/case1.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/parser/case2.0 (renamed from tools/regression/bin/sh/parser/case2.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/parser/dollar-quote1.0 (renamed from tools/regression/bin/sh/parser/dollar-quote1.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/parser/dollar-quote10.0 (renamed from tools/regression/bin/sh/parser/dollar-quote10.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/parser/dollar-quote11.0 (renamed from tools/regression/bin/sh/parser/dollar-quote11.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/parser/dollar-quote2.0 (renamed from tools/regression/bin/sh/parser/dollar-quote2.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/parser/dollar-quote3.0 (renamed from tools/regression/bin/sh/parser/dollar-quote3.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/parser/dollar-quote4.0 (renamed from tools/regression/bin/sh/parser/dollar-quote4.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/parser/dollar-quote5.0 (renamed from tools/regression/bin/sh/parser/dollar-quote5.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/parser/dollar-quote6.0 (renamed from tools/regression/bin/sh/parser/dollar-quote6.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/parser/dollar-quote7.0 (renamed from tools/regression/bin/sh/parser/dollar-quote7.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/parser/dollar-quote8.0 (renamed from tools/regression/bin/sh/parser/dollar-quote8.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/parser/dollar-quote9.0 (renamed from tools/regression/bin/sh/parser/dollar-quote9.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/parser/empty-braces1.0 (renamed from tools/regression/bin/sh/parser/empty-braces1.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/parser/empty-cmd1.0 (renamed from tools/regression/bin/sh/parser/empty-cmd1.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/parser/for1.0 (renamed from tools/regression/bin/sh/parser/for1.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/parser/for2.0 (renamed from tools/regression/bin/sh/parser/for2.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/parser/func1.0 (renamed from tools/regression/bin/sh/parser/func1.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/parser/func2.0 (renamed from tools/regression/bin/sh/parser/func2.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/parser/func3.0 (renamed from tools/regression/bin/sh/parser/func3.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/parser/heredoc1.0 (renamed from tools/regression/bin/sh/parser/heredoc1.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/parser/heredoc10.0 (renamed from tools/regression/bin/sh/parser/heredoc10.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/parser/heredoc11.0 (renamed from tools/regression/bin/sh/parser/heredoc11.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/parser/heredoc2.0 (renamed from tools/regression/bin/sh/parser/heredoc2.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/parser/heredoc3.0 (renamed from tools/regression/bin/sh/parser/heredoc3.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/parser/heredoc4.0 (renamed from tools/regression/bin/sh/parser/heredoc4.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/parser/heredoc5.0 (renamed from tools/regression/bin/sh/parser/heredoc5.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/parser/heredoc6.0 (renamed from tools/regression/bin/sh/parser/heredoc6.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/parser/heredoc7.0 (renamed from tools/regression/bin/sh/parser/heredoc7.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/parser/heredoc8.0 (renamed from tools/regression/bin/sh/parser/heredoc8.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/parser/heredoc9.0 (renamed from tools/regression/bin/sh/parser/heredoc9.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/parser/no-space1.0 (renamed from tools/regression/bin/sh/parser/no-space1.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/parser/no-space2.0 (renamed from tools/regression/bin/sh/parser/no-space2.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/parser/only-redir1.0 (renamed from tools/regression/bin/sh/parser/only-redir1.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/parser/only-redir2.0 (renamed from tools/regression/bin/sh/parser/only-redir2.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/parser/only-redir3.0 (renamed from tools/regression/bin/sh/parser/only-redir3.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/parser/only-redir4.0 (renamed from tools/regression/bin/sh/parser/only-redir4.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/parser/pipe-not1.0 (renamed from tools/regression/bin/sh/parser/pipe-not1.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/parser/var-assign1.0 | 19 | ||||
-rw-r--r-- | bin/sh/tests/set-e/Makefile | 44 | ||||
-rw-r--r-- | bin/sh/tests/set-e/and1.0 (renamed from tools/regression/bin/sh/set-e/and1.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/set-e/and2.1 (renamed from tools/regression/bin/sh/set-e/and2.1) | 0 | ||||
-rw-r--r-- | bin/sh/tests/set-e/and3.0 (renamed from tools/regression/bin/sh/set-e/and3.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/set-e/and4.0 (renamed from tools/regression/bin/sh/set-e/and4.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/set-e/background1.0 (renamed from tools/regression/bin/sh/set-e/background1.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/set-e/cmd1.0 (renamed from tools/regression/bin/sh/set-e/cmd1.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/set-e/cmd2.1 (renamed from tools/regression/bin/sh/set-e/cmd2.1) | 0 | ||||
-rw-r--r-- | bin/sh/tests/set-e/elif1.0 (renamed from tools/regression/bin/sh/set-e/elif1.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/set-e/elif2.0 (renamed from tools/regression/bin/sh/set-e/elif2.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/set-e/eval1.0 (renamed from tools/regression/bin/sh/set-e/eval1.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/set-e/eval2.1 (renamed from tools/regression/bin/sh/set-e/eval2.1) | 0 | ||||
-rw-r--r-- | bin/sh/tests/set-e/for1.0 (renamed from tools/regression/bin/sh/set-e/for1.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/set-e/func1.0 (renamed from tools/regression/bin/sh/set-e/func1.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/set-e/func2.1 (renamed from tools/regression/bin/sh/set-e/func2.1) | 0 | ||||
-rw-r--r-- | bin/sh/tests/set-e/if1.0 (renamed from tools/regression/bin/sh/set-e/if1.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/set-e/if2.0 (renamed from tools/regression/bin/sh/set-e/if2.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/set-e/if3.0 (renamed from tools/regression/bin/sh/set-e/if3.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/set-e/not1.0 (renamed from tools/regression/bin/sh/set-e/not1.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/set-e/not2.0 (renamed from tools/regression/bin/sh/set-e/not2.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/set-e/or1.0 (renamed from tools/regression/bin/sh/set-e/or1.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/set-e/or2.0 (renamed from tools/regression/bin/sh/set-e/or2.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/set-e/or3.1 (renamed from tools/regression/bin/sh/set-e/or3.1) | 0 | ||||
-rw-r--r-- | bin/sh/tests/set-e/pipe1.1 (renamed from tools/regression/bin/sh/set-e/pipe1.1) | 0 | ||||
-rw-r--r-- | bin/sh/tests/set-e/pipe2.0 (renamed from tools/regression/bin/sh/set-e/pipe2.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/set-e/return1.0 (renamed from tools/regression/bin/sh/set-e/return1.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/set-e/semi1.1 (renamed from tools/regression/bin/sh/set-e/semi1.1) | 0 | ||||
-rw-r--r-- | bin/sh/tests/set-e/semi2.1 (renamed from tools/regression/bin/sh/set-e/semi2.1) | 0 | ||||
-rw-r--r-- | bin/sh/tests/set-e/subshell1.0 (renamed from tools/regression/bin/sh/set-e/subshell1.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/set-e/subshell2.1 (renamed from tools/regression/bin/sh/set-e/subshell2.1) | 0 | ||||
-rw-r--r-- | bin/sh/tests/set-e/until1.0 (renamed from tools/regression/bin/sh/set-e/until1.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/set-e/until2.0 (renamed from tools/regression/bin/sh/set-e/until2.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/set-e/until3.0 (renamed from tools/regression/bin/sh/set-e/until3.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/set-e/while1.0 (renamed from tools/regression/bin/sh/set-e/while1.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/set-e/while2.0 (renamed from tools/regression/bin/sh/set-e/while2.0) | 0 | ||||
-rw-r--r-- | bin/sh/tests/set-e/while3.0 (renamed from tools/regression/bin/sh/set-e/while3.0) | 0 | ||||
-rw-r--r-- | bin/sh/trap.c | 19 | ||||
-rw-r--r-- | bin/sh/trap.h | 1 | ||||
-rw-r--r-- | bin/sh/var.c | 24 | ||||
-rw-r--r-- | bin/sh/var.h | 1 | ||||
-rw-r--r-- | bin/test/Makefile | 6 | ||||
-rw-r--r-- | bin/test/tests/Makefile | 15 | ||||
-rw-r--r-- | bin/test/tests/legacy_test.sh (renamed from tools/regression/bin/test/regress.sh) | 0 | ||||
-rw-r--r-- | bin/tests/Makefile | 10 | ||||
-rw-r--r-- | etc/mtree/BSD.tests.dist | 26 | ||||
-rw-r--r-- | tools/regression/bin/Makefile | 5 | ||||
-rw-r--r-- | tools/regression/bin/date/Makefile | 4 | ||||
-rw-r--r-- | tools/regression/bin/date/regress.t | 6 | ||||
-rw-r--r-- | tools/regression/bin/mv/Makefile | 4 | ||||
-rw-r--r-- | tools/regression/bin/mv/regress.t | 6 | ||||
-rw-r--r-- | tools/regression/bin/pax/Makefile | 8 | ||||
-rw-r--r-- | tools/regression/bin/sh/Makefile | 7 | ||||
-rw-r--r-- | tools/regression/bin/sh/regress.t | 8 | ||||
-rw-r--r-- | tools/regression/bin/test/Makefile | 4 | ||||
-rw-r--r-- | tools/regression/bin/test/regress.t | 6 |
460 files changed, 907 insertions, 288 deletions
diff --git a/bin/Makefile b/bin/Makefile index 7b6a4ab..e4bc281 100644 --- a/bin/Makefile +++ b/bin/Makefile @@ -52,6 +52,10 @@ SUBDIR+= rmail SUBDIR+= csh .endif +.if ${MK_TESTS} != "no" +SUBDIR+= tests +.endif + .include <bsd.arch.inc.mk> SUBDIR:= ${SUBDIR:O} diff --git a/bin/date/Makefile b/bin/date/Makefile index 4f5c3fe..6da5848 100644 --- a/bin/date/Makefile +++ b/bin/date/Makefile @@ -1,7 +1,13 @@ # @(#)Makefile 8.1 (Berkeley) 5/31/93 # $FreeBSD$ +.include <bsd.own.mk> + PROG= date SRCS= date.c netdate.c vary.c +.if ${MK_TESTS} != "no" +SUBDIR+= tests +.endif + .include <bsd.prog.mk> diff --git a/bin/date/tests/Makefile b/bin/date/tests/Makefile new file mode 100644 index 0000000..540008b --- /dev/null +++ b/bin/date/tests/Makefile @@ -0,0 +1,9 @@ +# $FreeBSD$ + +.include <bsd.own.mk> + +TESTSDIR= ${TESTSBASE}/bin/date + +TAP_TESTS_SH= legacy_test + +.include <tap.test.mk> diff --git a/tools/regression/bin/date/regress.sh b/bin/date/tests/legacy_test.sh index 981bdd0..981bdd0 100644 --- a/tools/regression/bin/date/regress.sh +++ b/bin/date/tests/legacy_test.sh diff --git a/bin/mv/Makefile b/bin/mv/Makefile index 8405782..ad8cc4f 100644 --- a/bin/mv/Makefile +++ b/bin/mv/Makefile @@ -1,6 +1,12 @@ # @(#)Makefile 8.2 (Berkeley) 4/2/94 # $FreeBSD$ +.include <bsd.own.mk> + PROG= mv +.if ${MK_TESTS} != "no" +SUBDIR+= tests +.endif + .include <bsd.prog.mk> diff --git a/bin/mv/tests/Makefile b/bin/mv/tests/Makefile new file mode 100644 index 0000000..051a3b6 --- /dev/null +++ b/bin/mv/tests/Makefile @@ -0,0 +1,9 @@ +# $FreeBSD$ + +.include <bsd.own.mk> + +TESTSDIR= ${TESTSBASE}/bin/mv + +TAP_TESTS_SH= legacy_test + +.include <tap.test.mk> diff --git a/tools/regression/bin/mv/regress.sh b/bin/mv/tests/legacy_test.sh index d0a5e83..d0a5e83 100644 --- a/tools/regression/bin/mv/regress.sh +++ b/bin/mv/tests/legacy_test.sh diff --git a/bin/pax/Makefile b/bin/pax/Makefile index 9e8d4e1..95f18bb 100644 --- a/bin/pax/Makefile +++ b/bin/pax/Makefile @@ -1,6 +1,8 @@ # @(#)Makefile 8.1 (Berkeley) 5/31/93 # $FreeBSD$ +.include <bsd.own.mk> + # To install on versions prior to BSD 4.4 the following may have to be # defined with CFLAGS += # @@ -30,4 +32,8 @@ SRCS= ar_io.c ar_subs.c buf_subs.c cache.c cpio.c file_subs.c ftree.c \ gen_subs.c getoldopt.c options.c pat_rep.c pax.c sel_subs.c \ tables.c tar.c tty_subs.c +.if ${MK_TESTS} != "no" +SUBDIR+= tests +.endif + .include <bsd.prog.mk> diff --git a/bin/pax/tests/Makefile b/bin/pax/tests/Makefile new file mode 100644 index 0000000..f4f81ee --- /dev/null +++ b/bin/pax/tests/Makefile @@ -0,0 +1,9 @@ +# $FreeBSD$ + +.include <bsd.own.mk> + +TESTSDIR= ${TESTSBASE}/bin/pax + +TAP_TESTS_PERL= legacy_test + +.include <tap.test.mk> diff --git a/tools/regression/bin/pax/regress.t b/bin/pax/tests/legacy_test.pl index 7c392cb..dabba42 100755..100644 --- a/tools/regression/bin/pax/regress.t +++ b/bin/pax/tests/legacy_test.pl @@ -1,5 +1,3 @@ -#! /usr/bin/perl -# # $FreeBSD$ use strict; diff --git a/bin/sh/Makefile b/bin/sh/Makefile index 00d34fa..e1ce5fe 100644 --- a/bin/sh/Makefile +++ b/bin/sh/Makefile @@ -1,6 +1,8 @@ # @(#)Makefile 8.4 (Berkeley) 5/5/95 # $FreeBSD$ +.include <bsd.own.mk> + PROG= sh INSTALLFLAGS= -S SHSRCS= alias.c arith_yacc.c arith_yylex.c cd.c echo.c error.c eval.c \ @@ -59,7 +61,8 @@ syntax.c syntax.h: mksyntax token.h: mktokens sh ${.CURDIR}/mktokens -regress: - cd ${.CURDIR}/../../tools/regression/bin/sh && ${MAKE} SH=${.OBJDIR}/sh +.if ${MK_TESTS} != "no" +SUBDIR+= tests +.endif .include <bsd.prog.mk> diff --git a/bin/sh/alias.c b/bin/sh/alias.c index 044c869..9ebdcb5 100644 --- a/bin/sh/alias.c +++ b/bin/sh/alias.c @@ -68,18 +68,7 @@ setalias(const char *name, const char *val) if (equal(name, ap->name)) { INTOFF; ckfree(ap->val); - /* See HACK below. */ -#ifdef notyet ap->val = savestr(val); -#else - { - size_t len = strlen(val); - ap->val = ckmalloc(len + 2); - memcpy(ap->val, val, len); - ap->val[len] = ' '; - ap->val[len+1] = '\0'; - } -#endif INTON; return; } @@ -88,34 +77,7 @@ setalias(const char *name, const char *val) INTOFF; ap = ckmalloc(sizeof (struct alias)); ap->name = savestr(name); - /* - * XXX - HACK: in order that the parser will not finish reading the - * alias value off the input before processing the next alias, we - * dummy up an extra space at the end of the alias. This is a crock - * and should be re-thought. The idea (if you feel inclined to help) - * is to avoid alias recursions. The mechanism used is: when - * expanding an alias, the value of the alias is pushed back on the - * input as a string and a pointer to the alias is stored with the - * string. The alias is marked as being in use. When the input - * routine finishes reading the string, it marks the alias not - * in use. The problem is synchronization with the parser. Since - * it reads ahead, the alias is marked not in use before the - * resulting token(s) is next checked for further alias sub. The - * H A C K is that we add a little fluff after the alias value - * so that the string will not be exhausted. This is a good - * idea ------- ***NOT*** - */ -#ifdef notyet ap->val = savestr(val); -#else /* hack */ - { - size_t len = strlen(val); - ap->val = ckmalloc(len + 2); - memcpy(ap->val, val, len); - ap->val[len] = ' '; /* fluff */ - ap->val[len+1] = '\0'; - } -#endif ap->flag = 0; ap->next = *app; *app = ap; @@ -207,14 +169,8 @@ comparealiases(const void *p1, const void *p2) static void printalias(const struct alias *a) { - char *p; - out1fmt("%s=", a->name); - /* Don't print the space added above. */ - p = a->val + strlen(a->val) - 1; - *p = '\0'; out1qstr(a->val); - *p = ' '; out1c('\n'); } diff --git a/bin/sh/cd.c b/bin/sh/cd.c index fa6f492..7720fad 100644 --- a/bin/sh/cd.c +++ b/bin/sh/cd.c @@ -182,6 +182,7 @@ cdlogical(char *dest) struct stat statb; int first; int badstat; + size_t len; /* * Check each component of the path. If we find a symlink or @@ -189,8 +190,9 @@ cdlogical(char *dest) * next time we get the value of the current directory. */ badstat = 0; - cdcomppath = stalloc(strlen(dest) + 1); - scopy(dest, cdcomppath); + len = strlen(dest); + cdcomppath = stalloc(len + 1); + memcpy(cdcomppath, dest, len + 1); STARTSTACKSTR(p); if (*dest == '/') { STPUTC('/', p); @@ -275,6 +277,7 @@ findcwd(char *dir) { char *new; char *p; + size_t len; /* * If our argument is NULL, we don't know the current directory @@ -283,8 +286,9 @@ findcwd(char *dir) */ if (dir == NULL || curdir == NULL) return getpwd2(); - cdcomppath = stalloc(strlen(dir) + 1); - scopy(dir, cdcomppath); + len = strlen(dir); + cdcomppath = stalloc(len + 1); + memcpy(cdcomppath, dir, len + 1); STARTSTACKSTR(new); if (*dir != '/') { STPUTS(curdir, new); diff --git a/bin/sh/eval.c b/bin/sh/eval.c index b8f76d5..4f7559e 100644 --- a/bin/sh/eval.c +++ b/bin/sh/eval.c @@ -750,6 +750,45 @@ isdeclarationcmd(struct narg *arg) (have_command || !isfunc("local")))); } +static void +xtracecommand(struct arglist *varlist, struct arglist *arglist) +{ + struct strlist *sp; + char sep = 0; + const char *p, *ps4; + + ps4 = expandstr(ps4val()); + out2str(ps4 != NULL ? ps4 : ps4val()); + for (sp = varlist->list ; sp ; sp = sp->next) { + if (sep != 0) + out2c(' '); + p = strchr(sp->text, '='); + if (p != NULL) { + p++; + outbin(sp->text, p - sp->text, out2); + out2qstr(p); + } else + out2qstr(sp->text); + sep = ' '; + } + for (sp = arglist->list ; sp ; sp = sp->next) { + if (sep != 0) + out2c(' '); + /* Disambiguate command looking like assignment. */ + if (sp == arglist->list && + strchr(sp->text, '=') != NULL && + strchr(sp->text, '\'') == NULL) { + out2c('\''); + out2str(sp->text); + out2c('\''); + } else + out2qstr(sp->text); + sep = ' '; + } + out2c('\n'); + flushout(&errout); +} + /* * Check if a builtin can safely be executed in the same process, * even though it should be in a subshell (command substitution). @@ -847,40 +886,8 @@ evalcommand(union node *cmd, int flags, struct backcmd *backcmd) argv -= argc; /* Print the command if xflag is set. */ - if (xflag) { - char sep = 0; - const char *p, *ps4; - ps4 = expandstr(ps4val()); - out2str(ps4 != NULL ? ps4 : ps4val()); - for (sp = varlist.list ; sp ; sp = sp->next) { - if (sep != 0) - out2c(' '); - p = strchr(sp->text, '='); - if (p != NULL) { - p++; - outbin(sp->text, p - sp->text, out2); - out2qstr(p); - } else - out2qstr(sp->text); - sep = ' '; - } - for (sp = arglist.list ; sp ; sp = sp->next) { - if (sep != 0) - out2c(' '); - /* Disambiguate command looking like assignment. */ - if (sp == arglist.list && - strchr(sp->text, '=') != NULL && - strchr(sp->text, '\'') == NULL) { - out2c('\''); - out2str(sp->text); - out2c('\''); - } else - out2qstr(sp->text); - sep = ' '; - } - out2c('\n'); - flushout(&errout); - } + if (xflag) + xtracecommand(&varlist, &arglist); /* Now locate the command. */ if (argc == 0) { diff --git a/bin/sh/exec.c b/bin/sh/exec.c index 9f8e029..5f30ec6 100644 --- a/bin/sh/exec.c +++ b/bin/sh/exec.c @@ -187,14 +187,15 @@ padvance(const char **path, const char *name) { const char *p, *start; char *q; - size_t len; + size_t len, namelen; if (*path == NULL) return NULL; start = *path; for (p = start; *p && *p != ':' && *p != '%'; p++) ; /* nothing */ - len = p - start + strlen(name) + 2; /* "2" is for '/' and '\0' */ + namelen = strlen(name); + len = p - start + namelen + 2; /* "2" is for '/' and '\0' */ STARTSTACKSTR(q); CHECKSTRSPACE(len, q); if (p != start) { @@ -202,7 +203,7 @@ padvance(const char **path, const char *name) q += p - start; *q++ = '/'; } - strcpy(q, name); + memcpy(q, name, namelen + 1); pathopt = NULL; if (*p == '%') { pathopt = ++p; @@ -527,6 +528,7 @@ cmdlookup(const char *name, int add) const char *p; struct tblentry *cmdp; struct tblentry **pp; + size_t len; p = name; hashval = *p << 4; @@ -541,11 +543,11 @@ cmdlookup(const char *name, int add) } if (add && cmdp == NULL) { INTOFF; - cmdp = *pp = ckmalloc(sizeof (struct tblentry) - + strlen(name) + 1); + len = strlen(name); + cmdp = *pp = ckmalloc(sizeof (struct tblentry) + len + 1); cmdp->next = NULL; cmdp->cmdtype = CMDUNKNOWN; - strcpy(cmdp->cmdname, name); + memcpy(cmdp->cmdname, name, len + 1); INTON; } lastcmdentry = pp; @@ -672,9 +674,11 @@ typecmd_impl(int argc, char **argv, int cmd, const char *path) /* Then look at the aliases */ if ((ap = lookupalias(argv[i], 1)) != NULL) { - if (cmd == TYPECMD_SMALLV) - out1fmt("alias %s='%s'\n", argv[i], ap->val); - else + if (cmd == TYPECMD_SMALLV) { + out1fmt("alias %s=", argv[i]); + out1qstr(ap->val); + outcslow('\n', out1); + } else out1fmt("%s is an alias for %s\n", argv[i], ap->val); continue; diff --git a/bin/sh/expand.c b/bin/sh/expand.c index 414bfa7..cad0116 100644 --- a/bin/sh/expand.c +++ b/bin/sh/expand.c @@ -100,6 +100,7 @@ static struct arglist exparg; /* holds expanded arg list */ static void argstr(char *, int); static char *exptilde(char *, int); +static char *expari(char *); static void expbackq(union node *, int, int); static int subevalvar(char *, char *, int, int, int, int, int); static char *evalvar(char *, int); @@ -206,7 +207,7 @@ expandarg(union node *arg, struct arglist *arglist, int flag) /* * Perform parameter expansion, command substitution and arithmetic * expansion, and tilde expansion if requested via EXP_TILDE/EXP_VARTILDE. - * Processing ends at a CTLENDVAR character as well as '\0'. + * Processing ends at a CTLENDVAR or CTLENDARI character as well as '\0'. * This is used to expand word in ${var+word} etc. * If EXP_FULL, EXP_CASE or EXP_REDIR are set, keep and/or generate CTLESC * characters to allow for further processing. @@ -231,6 +232,7 @@ argstr(char *p, int flag) switch (c = *p++) { case '\0': case CTLENDVAR: + case CTLENDARI: goto breakloop; case CTLQUOTEMARK: lit_quoted = 1; @@ -261,8 +263,8 @@ argstr(char *p, int flag) expbackq(argbackq->n, c & CTLQUOTE, flag); argbackq = argbackq->next; break; - case CTLENDARI: - expari(flag); + case CTLARI: + p = expari(p); break; case ':': case '=': @@ -387,59 +389,56 @@ removerecordregions(int endoff) } /* - * Expand arithmetic expression. Backup to start of expression, - * evaluate, place result in (backed up) result, adjust string position. + * Expand arithmetic expression. + * Note that flag is not required as digits never require CTLESC characters. */ -void -expari(int flag) +static char * +expari(char *p) { - char *p, *q, *start; + char *q, *start; arith_t result; int begoff; - int quotes = flag & (EXP_FULL | EXP_CASE | EXP_REDIR); int quoted; + int c; + int nesting; + int adj; - /* - * This routine is slightly over-complicated for - * efficiency. First we make sure there is - * enough space for the result, which may be bigger - * than the expression. Next we - * scan backwards looking for the start of arithmetic. If the - * next previous character is a CTLESC character, then we - * have to rescan starting from the beginning since CTLESC - * characters have to be processed left to right. - */ - CHECKSTRSPACE(DIGITS(result) - 2, expdest); - USTPUTC('\0', expdest); - start = stackblock(); - p = expdest - 2; - while (p >= start && *p != CTLARI) - --p; - if (p < start || *p != CTLARI) - error("missing CTLARI (shouldn't happen)"); - if (p > start && *(p - 1) == CTLESC) - for (p = start; *p != CTLARI; p++) - if (*p == CTLESC) - p++; - - if (p[1] == '"') - quoted=1; - else - quoted=0; - begoff = p - start; + quoted = *p++ == '"'; + begoff = expdest - stackblock(); + argstr(p, 0); removerecordregions(begoff); - if (quotes) - rmescapes(p+2); + STPUTC('\0', expdest); + start = stackblock() + begoff; + q = grabstackstr(expdest); - result = arith(p+2); + result = arith(start); ungrabstackstr(q, expdest); - fmtstr(p, DIGITS(result), ARITH_FORMAT_STR, result); - while (*p++) - ; - if (quoted == 0) - recordregion(begoff, p - 1 - start, 0); - result = expdest - p + 1; - STADJUST(-result, expdest); + + start = stackblock() + begoff; + adj = start - expdest; + STADJUST(adj, expdest); + + CHECKSTRSPACE((int)(DIGITS(result) + 1), expdest); + fmtstr(expdest, DIGITS(result), ARITH_FORMAT_STR, result); + adj = strlen(expdest); + STADJUST(adj, expdest); + if (!quoted) + recordregion(begoff, expdest - stackblock(), 0); + nesting = 1; + while (nesting > 0) { + c = *p++; + if (c == CTLESC) + p++; + else if (c == CTLARI) + nesting++; + else if (c == CTLENDARI) + nesting--; + else if (c == CTLVAR) + p++; /* ignore variable substitution byte */ + else if (c == '\0') + return p - 1; + } + return p; } @@ -671,10 +670,8 @@ evalvar(char *p, int flag) again: /* jump here after setting a variable with ${var=text} */ if (varflags & VSLINENO) { set = 1; - special = 0; - val = var; - p[-1] = '\0'; /* temporarily overwrite '=' to have \0 - terminated string */ + special = 1; + val = NULL; } else if (special) { set = varisset(var, varflags & VSNUL); val = NULL; @@ -703,7 +700,10 @@ again: /* jump here after setting a variable with ${var=text} */ if (set && subtype != VSPLUS) { /* insert the value of the variable */ if (special) { - varvalue(var, varflags & VSQUOTE, subtype, flag); + if (varflags & VSLINENO) + STPUTBIN(var, p - var - 1, expdest); + else + varvalue(var, varflags & VSQUOTE, subtype, flag); if (subtype == VSLENGTH) { varlenb = expdest - stackblock() - startloc; varlen = varlenb; @@ -815,7 +815,6 @@ record: default: abort(); } - p[-1] = '='; /* recover overwritten '=' */ if (subtype != VSNORMAL) { /* skip to end of alternative */ int nesting = 1; @@ -1307,9 +1306,11 @@ addfname(char *name) { char *p; struct strlist *sp; + size_t len; - p = stalloc(strlen(name) + 1); - scopy(name, p); + len = strlen(name); + p = stalloc(len + 1); + memcpy(p, name, len + 1); sp = (struct strlist *)stalloc(sizeof *sp); sp->text = p; *exparg.lastp = sp; diff --git a/bin/sh/expand.h b/bin/sh/expand.h index 8d44321..7495a63 100644 --- a/bin/sh/expand.h +++ b/bin/sh/expand.h @@ -58,6 +58,5 @@ struct arglist { union node; void expandarg(union node *, struct arglist *, int); -void expari(int); void rmescapes(char *); int casematch(union node *, const char *); diff --git a/bin/sh/input.c b/bin/sh/input.c index e46095d..05cc1eb 100644 --- a/bin/sh/input.c +++ b/bin/sh/input.c @@ -162,20 +162,16 @@ preadfd(void) int nr; parsenextc = parsefile->buf; -#ifndef NO_HISTORY - if (el != NULL && gotwinch) { - gotwinch = 0; - el_resize(el); - } -#endif retry: #ifndef NO_HISTORY if (parsefile->fd == 0 && el) { static const char *rl_cp; static int el_len; - if (rl_cp == NULL) + if (rl_cp == NULL) { + el_resize(el); rl_cp = el_gets(el, &el_len); + } if (rl_cp == NULL) nr = el_len == 0 ? 0 : -1; else { @@ -228,10 +224,16 @@ preadbuffer(void) { char *p, *q; int more; - int something; char savec; - if (parsefile->strpush) { + while (parsefile->strpush) { + /* + * Add a space to the end of an alias to ensure that the + * alias remains in use while parsing its last word. + * This avoids alias recursions. + */ + if (parsenleft == -1 && parsefile->strpush->ap != NULL) + return ' '; popstring(); if (--parsenleft >= 0) return (*parsenextc++); @@ -252,24 +254,18 @@ again: q = p = parsefile->buf + (parsenextc - parsefile->buf); /* delete nul characters */ - something = 0; for (more = 1; more;) { switch (*p) { case '\0': p++; /* Skip nul */ goto check; - case '\t': - case ' ': - break; - case '\n': parsenleft = q - parsenextc; more = 0; /* Stop processing here */ break; default: - something = 1; break; } @@ -288,7 +284,8 @@ check: *q = '\0'; #ifndef NO_HISTORY - if (parsefile->fd == 0 && hist && something) { + if (parsefile->fd == 0 && hist && + parsenextc[strspn(parsenextc, " \t\n")] != '\0') { HistEvent he; INTOFF; history(hist, &he, whichprompt == 1 ? H_ENTER : H_ADD, @@ -370,12 +367,16 @@ popstring(void) struct strpush *sp = parsefile->strpush; INTOFF; + if (sp->ap) { + if (parsenextc != sp->ap->val && + (parsenextc[-1] == ' ' || parsenextc[-1] == '\t')) + forcealias(); + sp->ap->flag &= ~ALIASINUSE; + } parsenextc = sp->prevstring; parsenleft = sp->prevnleft; parselleft = sp->prevlleft; /*out2fmt_flush("*** calling popstring: restoring to '%s'\n", parsenextc);*/ - if (sp->ap) - sp->ap->flag &= ~ALIASINUSE; parsefile->strpush = sp->prev; if (sp != &(parsefile->basestrpush)) ckfree(sp); diff --git a/bin/sh/jobs.c b/bin/sh/jobs.c index bbb954a..1c0c6bd 100644 --- a/bin/sh/jobs.c +++ b/bin/sh/jobs.c @@ -978,7 +978,6 @@ int waitforjob(struct job *jp, int *origstatus) { #if JOBS - pid_t mypgrp = getpgrp(); int propagate_int = jp->jobctl && jp->foreground; #endif int status; @@ -992,7 +991,7 @@ waitforjob(struct job *jp, int *origstatus) dotrap(); #if JOBS if (jp->jobctl) { - if (tcsetpgrp(ttyfd, mypgrp) < 0) + if (tcsetpgrp(ttyfd, rootpid) < 0) error("tcsetpgrp failed, errno=%d\n", errno); } if (jp->state == JOBSTOPPED) diff --git a/bin/sh/memalloc.c b/bin/sh/memalloc.c index cb330d0..119f12e 100644 --- a/bin/sh/memalloc.c +++ b/bin/sh/memalloc.c @@ -98,9 +98,11 @@ char * savestr(const char *s) { char *p; + size_t len; - p = ckmalloc(strlen(s) + 1); - scopy(s, p); + len = strlen(s); + p = ckmalloc(len + 1); + memcpy(p, s, len + 1); return p; } diff --git a/bin/sh/mystring.c b/bin/sh/mystring.c index 67617ec..de7e9b6 100644 --- a/bin/sh/mystring.c +++ b/bin/sh/mystring.c @@ -42,7 +42,6 @@ __FBSDID("$FreeBSD$"); * String functions. * * equal(s1, s2) Return true if strings are equal. - * scopy(from, to) Copy a string. * number(s) Convert a string of digits to an integer. * is_number(s) Return true if s is a string of digits. */ @@ -60,10 +59,6 @@ char nullstr[1]; /* zero length string */ * equal - #defined in mystring.h */ -/* - * scopy - #defined in mystring.h - */ - /* * prefix -- see if pfx is a prefix of string. diff --git a/bin/sh/mystring.h b/bin/sh/mystring.h index 5a6e3d8..87b76c8 100644 --- a/bin/sh/mystring.h +++ b/bin/sh/mystring.h @@ -40,4 +40,3 @@ int number(const char *); int is_number(const char *); #define equal(s1, s2) (strcmp(s1, s2) == 0) -#define scopy(s1, s2) ((void)strcpy(s2, s1)) diff --git a/bin/sh/nodetypes b/bin/sh/nodetypes index 5e70c64..603c777 100644 --- a/bin/sh/nodetypes +++ b/bin/sh/nodetypes @@ -118,16 +118,16 @@ NFROMTO nfile # fd<> fname NAPPEND nfile # fd>> fname NCLOBBER nfile # fd>| fname type int - next nodeptr # next redirection in list fd int # file descriptor being redirected + next nodeptr # next redirection in list fname nodeptr # file name, in a NARG node expfname temp char *expfname # actual file name NTOFD ndup # fd<&dupfd NFROMFD ndup # fd>&dupfd type int - next nodeptr # next redirection in list fd int # file descriptor being redirected + next nodeptr # next redirection in list dupfd int # file descriptor to duplicate vname nodeptr # file name if fd>&$var @@ -135,8 +135,8 @@ NFROMFD ndup # fd>&dupfd NHERE nhere # fd<<\! NXHERE nhere # fd<<! type int - next nodeptr # next redirection in list fd int # file descriptor being redirected + next nodeptr # next redirection in list doc nodeptr # input to command (NARG node) expdoc temp char *expdoc # actual document (for NXHERE) diff --git a/bin/sh/parser.c b/bin/sh/parser.c index a0def64..e6e9f82 100644 --- a/bin/sh/parser.c +++ b/bin/sh/parser.c @@ -683,6 +683,12 @@ makebinary(int type, union node *n1, union node *n2) } void +forcealias(void) +{ + checkkwd |= CHKALIAS; +} + +void fixredir(union node *n, const char *text, int err) { TRACE(("Fix redir %s %d\n", text, err)); diff --git a/bin/sh/parser.h b/bin/sh/parser.h index d500d2f..5982594 100644 --- a/bin/sh/parser.h +++ b/bin/sh/parser.h @@ -76,6 +76,7 @@ extern const char *const parsekwd[]; union node *parsecmd(int); +void forcealias(void); void fixredir(union node *, const char *, int); int goodname(const char *); int isassignment(const char *); diff --git a/bin/sh/redir.c b/bin/sh/redir.c index 9325545..79728a0 100644 --- a/bin/sh/redir.c +++ b/bin/sh/redir.c @@ -69,6 +69,7 @@ __FBSDID("$FreeBSD$"); struct redirtab { struct redirtab *next; int renamed[10]; + int fd0_redirected; }; @@ -109,11 +110,14 @@ redirect(union node *redir, int flags) sv = ckmalloc(sizeof (struct redirtab)); for (i = 0 ; i < 10 ; i++) sv->renamed[i] = EMPTY; + sv->fd0_redirected = fd0_redirected; sv->next = redirlist; redirlist = sv; } for (n = redir ; n ; n = n->nfile.next) { fd = n->nfile.fd; + if (fd == 0) + fd0_redirected = 1; if ((n->nfile.type == NTOFD || n->nfile.type == NFROMFD) && n->ndup.dupfd == fd) continue; /* redirect from/to same file descriptor */ @@ -134,8 +138,6 @@ redirect(union node *redir, int flags) sv->renamed[fd] = i; INTON; } - if (fd == 0) - fd0_redirected++; openredirect(n, memory); } if (memory[1]) @@ -303,8 +305,6 @@ popredir(void) for (i = 0 ; i < 10 ; i++) { if (rp->renamed[i] != EMPTY) { - if (i == 0) - fd0_redirected--; if (rp->renamed[i] >= 0) { dup2(rp->renamed[i], i); close(rp->renamed[i]); @@ -314,6 +314,7 @@ popredir(void) } } INTOFF; + fd0_redirected = rp->fd0_redirected; redirlist = rp->next; ckfree(rp); INTON; diff --git a/bin/sh/sh.1 b/bin/sh/sh.1 index ff29be6..b5916a8 100644 --- a/bin/sh/sh.1 +++ b/bin/sh/sh.1 @@ -32,7 +32,7 @@ .\" from: @(#)sh.1 8.6 (Berkeley) 5/4/95 .\" $FreeBSD$ .\" -.Dd June 14, 2013 +.Dd January 26, 2014 .Dt SH 1 .Os .Sh NAME @@ -235,10 +235,16 @@ or .Dq Li || operator; or if the command is a pipeline preceded by the .Ic !\& -operator. +keyword. If a shell function is executed and its exit status is explicitly tested, all commands of the function are considered to be tested as well. +.Pp +It is recommended to check for failures explicitly +instead of relying on +.Fl e +because it tends to behave in unexpected ways, +particularly in larger scripts. .It Fl f Li noglob Disable pathname expansion. .It Fl h Li trackall @@ -527,6 +533,20 @@ would become .Pp .Dl "ls -F foobar" .Pp +Aliases are also recognized after an alias +whose value ends with a space or tab. +For example, if there is also an alias called +.Dq Li nohup +with the value +.Dq Li "nohup " , +then the input +.Pp +.Dl "nohup lf foobar" +.Pp +would become +.Pp +.Dl "nohup ls -F foobar" +.Pp Aliases provide a convenient way for naive users to create shorthands for commands without having to learn how to create functions with arguments. diff --git a/bin/sh/show.c b/bin/sh/show.c index 7cb3547..db18ae9 100644 --- a/bin/sh/show.c +++ b/bin/sh/show.c @@ -390,11 +390,11 @@ opentrace(void) else p = "/tmp"; } - scopy(p, s); + strcpy(s, p); strcat(s, "/trace"); } #else - scopy("./trace", s); + strcpy(s, "./trace"); #endif /* not_this_way */ if ((tracefile = fopen(s, "a")) == NULL) { fprintf(stderr, "Can't open %s: %s\n", s, strerror(errno)); diff --git a/bin/sh/tests/Makefile b/bin/sh/tests/Makefile new file mode 100644 index 0000000..f6ddb8a --- /dev/null +++ b/bin/sh/tests/Makefile @@ -0,0 +1,18 @@ +# $FreeBSD$ + +.include <bsd.own.mk> + +TESTSDIR= ${TESTSBASE}/bin/sh + +TAP_TESTS_SH= legacy_test +TAP_TESTS_SH_SED_legacy_test= -e 's,__SH__,/bin/sh,g' +# Some tests in here are silently not run when the tests are executed as +# root. Explicitly tell Kyua to drop privileges. +# +# TODO(jmmv): Kyua needs to do this by default, not only when explicitly +# requested. See https://code.google.com/p/kyua/issues/detail?id=6 +TEST_METADATA.legacy_test+= required_user="unprivileged" + +SUBDIR+= builtins errors execution expansion parameters parser set-e + +.include <tap.test.mk> diff --git a/bin/sh/tests/builtins/Makefile b/bin/sh/tests/builtins/Makefile new file mode 100644 index 0000000..6f60f84 --- /dev/null +++ b/bin/sh/tests/builtins/Makefile @@ -0,0 +1,148 @@ +# $FreeBSD$ + +.include <bsd.own.mk> + +FILESDIR= ${TESTSBASE}/bin/sh/builtins +KYUAFILE= no + +FILES= alias.0 alias.0.stdout +FILES+= alias.1 alias.1.stderr +FILES+= alias3.0 alias3.0.stdout +FILES+= alias4.0 +FILES+= break1.0 +FILES+= break2.0 break2.0.stdout +FILES+= break3.0 +FILES+= break4.4 +FILES+= break5.4 +FILES+= builtin1.0 +FILES+= case1.0 +FILES+= case2.0 +FILES+= case3.0 +FILES+= case4.0 +FILES+= case5.0 +FILES+= case6.0 +FILES+= case7.0 +FILES+= case8.0 +FILES+= case9.0 +FILES+= case10.0 +FILES+= case11.0 +FILES+= case12.0 +FILES+= case13.0 +FILES+= case14.0 +FILES+= case15.0 +FILES+= case16.0 +FILES+= case17.0 +FILES+= case18.0 +FILES+= case19.0 +FILES+= cd1.0 +FILES+= cd2.0 +FILES+= cd3.0 +FILES+= cd4.0 +FILES+= cd5.0 +FILES+= cd6.0 +FILES+= cd7.0 +FILES+= cd8.0 +FILES+= command1.0 +FILES+= command2.0 +FILES+= command3.0 +FILES+= command3.0.stdout +FILES+= command4.0 +FILES+= command5.0 +FILES+= command5.0.stdout +FILES+= command6.0 +FILES+= command6.0.stdout +FILES+= command7.0 +FILES+= command8.0 +FILES+= command9.0 +FILES+= command10.0 +FILES+= command11.0 +FILES+= command12.0 +FILES+= dot1.0 +FILES+= dot2.0 +FILES+= dot3.0 +FILES+= dot4.0 +FILES+= eval1.0 +FILES+= eval2.0 +FILES+= eval3.0 +FILES+= eval4.0 +FILES+= eval5.0 +FILES+= eval6.0 +FILES+= exec1.0 +FILES+= exec2.0 +FILES+= exit1.0 +FILES+= exit2.8 +FILES+= exit3.0 +FILES+= export1.0 +FILES+= fc1.0 +FILES+= fc2.0 +FILES+= for1.0 +FILES+= for2.0 +FILES+= for3.0 +FILES+= getopts1.0 getopts1.0.stdout +FILES+= getopts2.0 getopts2.0.stdout +FILES+= hash1.0 hash1.0.stdout +FILES+= hash2.0 hash2.0.stdout +FILES+= hash3.0 hash3.0.stdout +FILES+= hash4.0 +FILES+= jobid1.0 +FILES+= jobid2.0 +FILES+= lineno.0 lineno.0.stdout +FILES+= lineno2.0 +FILES+= local1.0 +FILES+= local2.0 +FILES+= local3.0 +FILES+= local4.0 +FILES+= locale1.0 +FILES+= printf1.0 +FILES+= printf2.0 +FILES+= printf3.0 +FILES+= printf4.0 +FILES+= read1.0 read1.0.stdout +FILES+= read2.0 +FILES+= read3.0 read3.0.stdout +FILES+= read4.0 read4.0.stdout +FILES+= read5.0 +FILES+= read6.0 +FILES+= read7.0 +FILES+= return1.0 +FILES+= return2.1 +FILES+= return3.1 +FILES+= return4.0 +FILES+= return5.0 +FILES+= return6.4 +FILES+= return7.4 +FILES+= return8.0 +FILES+= set1.0 +FILES+= set2.0 +FILES+= trap1.0 +FILES+= trap10.0 +FILES+= trap11.0 +FILES+= trap12.0 +FILES+= trap13.0 +FILES+= trap14.0 +FILES+= trap2.0 +FILES+= trap3.0 +FILES+= trap4.0 +FILES+= trap5.0 +FILES+= trap6.0 +FILES+= trap7.0 +FILES+= trap8.0 +FILES+= trap9.0 +FILES+= type1.0 type1.0.stderr +FILES+= type2.0 +FILES+= type3.0 +FILES+= unalias.0 +FILES+= var-assign.0 +FILES+= var-assign2.0 +FILES+= wait1.0 +FILES+= wait2.0 +FILES+= wait3.0 +FILES+= wait4.0 +FILES+= wait5.0 +FILES+= wait6.0 +FILES+= wait7.0 +FILES+= wait8.0 +FILES+= wait9.127 +FILES+= wait10.0 + +.include <bsd.test.mk> diff --git a/tools/regression/bin/sh/builtins/alias.0 b/bin/sh/tests/builtins/alias.0 index d9b2796..d9b2796 100644 --- a/tools/regression/bin/sh/builtins/alias.0 +++ b/bin/sh/tests/builtins/alias.0 diff --git a/tools/regression/bin/sh/builtins/alias.0.stdout b/bin/sh/tests/builtins/alias.0.stdout index 52efaf0..52efaf0 100644 --- a/tools/regression/bin/sh/builtins/alias.0.stdout +++ b/bin/sh/tests/builtins/alias.0.stdout diff --git a/tools/regression/bin/sh/builtins/alias.1 b/bin/sh/tests/builtins/alias.1 index 31403dc..31403dc 100644 --- a/tools/regression/bin/sh/builtins/alias.1 +++ b/bin/sh/tests/builtins/alias.1 diff --git a/tools/regression/bin/sh/builtins/alias.1.stderr b/bin/sh/tests/builtins/alias.1.stderr index c9f4011..c9f4011 100644 --- a/tools/regression/bin/sh/builtins/alias.1.stderr +++ b/bin/sh/tests/builtins/alias.1.stderr diff --git a/tools/regression/bin/sh/builtins/alias3.0 b/bin/sh/tests/builtins/alias3.0 index fe65e31f..fe65e31f 100644 --- a/tools/regression/bin/sh/builtins/alias3.0 +++ b/bin/sh/tests/builtins/alias3.0 diff --git a/tools/regression/bin/sh/builtins/alias3.0.stdout b/bin/sh/tests/builtins/alias3.0.stdout index 52efaf0..52efaf0 100644 --- a/tools/regression/bin/sh/builtins/alias3.0.stdout +++ b/bin/sh/tests/builtins/alias3.0.stdout diff --git a/tools/regression/bin/sh/builtins/alias4.0 b/bin/sh/tests/builtins/alias4.0 index 3d5efec..3d5efec 100644 --- a/tools/regression/bin/sh/builtins/alias4.0 +++ b/bin/sh/tests/builtins/alias4.0 diff --git a/tools/regression/bin/sh/builtins/break1.0 b/bin/sh/tests/builtins/break1.0 index ba0cbb4..ba0cbb4 100644 --- a/tools/regression/bin/sh/builtins/break1.0 +++ b/bin/sh/tests/builtins/break1.0 diff --git a/tools/regression/bin/sh/builtins/break2.0 b/bin/sh/tests/builtins/break2.0 index ff52dd3..ff52dd3 100644 --- a/tools/regression/bin/sh/builtins/break2.0 +++ b/bin/sh/tests/builtins/break2.0 diff --git a/tools/regression/bin/sh/builtins/break2.0.stdout b/bin/sh/tests/builtins/break2.0.stdout index 12799cc..12799cc 100644 --- a/tools/regression/bin/sh/builtins/break2.0.stdout +++ b/bin/sh/tests/builtins/break2.0.stdout diff --git a/tools/regression/bin/sh/builtins/break3.0 b/bin/sh/tests/builtins/break3.0 index 10a5ca8..10a5ca8 100644 --- a/tools/regression/bin/sh/builtins/break3.0 +++ b/bin/sh/tests/builtins/break3.0 diff --git a/tools/regression/bin/sh/builtins/break4.4 b/bin/sh/tests/builtins/break4.4 index d52ff52..d52ff52 100644 --- a/tools/regression/bin/sh/builtins/break4.4 +++ b/bin/sh/tests/builtins/break4.4 diff --git a/tools/regression/bin/sh/builtins/break5.4 b/bin/sh/tests/builtins/break5.4 index 7df8e18..7df8e18 100644 --- a/tools/regression/bin/sh/builtins/break5.4 +++ b/bin/sh/tests/builtins/break5.4 diff --git a/tools/regression/bin/sh/builtins/builtin1.0 b/bin/sh/tests/builtins/builtin1.0 index b608385..b608385 100644 --- a/tools/regression/bin/sh/builtins/builtin1.0 +++ b/bin/sh/tests/builtins/builtin1.0 diff --git a/tools/regression/bin/sh/builtins/case1.0 b/bin/sh/tests/builtins/case1.0 index 860fc67..860fc67 100644 --- a/tools/regression/bin/sh/builtins/case1.0 +++ b/bin/sh/tests/builtins/case1.0 diff --git a/tools/regression/bin/sh/builtins/case10.0 b/bin/sh/tests/builtins/case10.0 index a627b5c..a627b5c 100644 --- a/tools/regression/bin/sh/builtins/case10.0 +++ b/bin/sh/tests/builtins/case10.0 diff --git a/tools/regression/bin/sh/builtins/case11.0 b/bin/sh/tests/builtins/case11.0 index 0e66e11..0e66e11 100644 --- a/tools/regression/bin/sh/builtins/case11.0 +++ b/bin/sh/tests/builtins/case11.0 diff --git a/tools/regression/bin/sh/builtins/case12.0 b/bin/sh/tests/builtins/case12.0 index 2a442ba..2a442ba 100644 --- a/tools/regression/bin/sh/builtins/case12.0 +++ b/bin/sh/tests/builtins/case12.0 diff --git a/tools/regression/bin/sh/builtins/case13.0 b/bin/sh/tests/builtins/case13.0 index 78f4e9b..78f4e9b 100644 --- a/tools/regression/bin/sh/builtins/case13.0 +++ b/bin/sh/tests/builtins/case13.0 diff --git a/tools/regression/bin/sh/builtins/case14.0 b/bin/sh/tests/builtins/case14.0 index 0338e8a..0338e8a 100644 --- a/tools/regression/bin/sh/builtins/case14.0 +++ b/bin/sh/tests/builtins/case14.0 diff --git a/tools/regression/bin/sh/builtins/case15.0 b/bin/sh/tests/builtins/case15.0 index 09b0e11..09b0e11 100644 --- a/tools/regression/bin/sh/builtins/case15.0 +++ b/bin/sh/tests/builtins/case15.0 diff --git a/tools/regression/bin/sh/builtins/case16.0 b/bin/sh/tests/builtins/case16.0 index 2430302..2430302 100644 --- a/tools/regression/bin/sh/builtins/case16.0 +++ b/bin/sh/tests/builtins/case16.0 diff --git a/tools/regression/bin/sh/builtins/case17.0 b/bin/sh/tests/builtins/case17.0 index ed1d25f..ed1d25f 100644 --- a/tools/regression/bin/sh/builtins/case17.0 +++ b/bin/sh/tests/builtins/case17.0 diff --git a/tools/regression/bin/sh/builtins/case18.0 b/bin/sh/tests/builtins/case18.0 index 470253f..470253f 100644 --- a/tools/regression/bin/sh/builtins/case18.0 +++ b/bin/sh/tests/builtins/case18.0 diff --git a/tools/regression/bin/sh/builtins/case19.0 b/bin/sh/tests/builtins/case19.0 index 215066a..215066a 100644 --- a/tools/regression/bin/sh/builtins/case19.0 +++ b/bin/sh/tests/builtins/case19.0 diff --git a/tools/regression/bin/sh/builtins/case2.0 b/bin/sh/tests/builtins/case2.0 index e319148..e319148 100644 --- a/tools/regression/bin/sh/builtins/case2.0 +++ b/bin/sh/tests/builtins/case2.0 diff --git a/tools/regression/bin/sh/builtins/case3.0 b/bin/sh/tests/builtins/case3.0 index 42e53d6..42e53d6 100644 --- a/tools/regression/bin/sh/builtins/case3.0 +++ b/bin/sh/tests/builtins/case3.0 diff --git a/tools/regression/bin/sh/builtins/case4.0 b/bin/sh/tests/builtins/case4.0 index 18219f5..18219f5 100644 --- a/tools/regression/bin/sh/builtins/case4.0 +++ b/bin/sh/tests/builtins/case4.0 diff --git a/tools/regression/bin/sh/builtins/case5.0 b/bin/sh/tests/builtins/case5.0 index 8c6db5a..8c6db5a 100644 --- a/tools/regression/bin/sh/builtins/case5.0 +++ b/bin/sh/tests/builtins/case5.0 diff --git a/tools/regression/bin/sh/builtins/case6.0 b/bin/sh/tests/builtins/case6.0 index 8d79183..8d79183 100644 --- a/tools/regression/bin/sh/builtins/case6.0 +++ b/bin/sh/tests/builtins/case6.0 diff --git a/tools/regression/bin/sh/builtins/case7.0 b/bin/sh/tests/builtins/case7.0 index 96b9de6..96b9de6 100644 --- a/tools/regression/bin/sh/builtins/case7.0 +++ b/bin/sh/tests/builtins/case7.0 diff --git a/tools/regression/bin/sh/builtins/case8.0 b/bin/sh/tests/builtins/case8.0 index 8d9f8b6..8d9f8b6 100644 --- a/tools/regression/bin/sh/builtins/case8.0 +++ b/bin/sh/tests/builtins/case8.0 diff --git a/tools/regression/bin/sh/builtins/case9.0 b/bin/sh/tests/builtins/case9.0 index 476caec..476caec 100644 --- a/tools/regression/bin/sh/builtins/case9.0 +++ b/bin/sh/tests/builtins/case9.0 diff --git a/tools/regression/bin/sh/builtins/cd1.0 b/bin/sh/tests/builtins/cd1.0 index bc5108e..bc5108e 100644 --- a/tools/regression/bin/sh/builtins/cd1.0 +++ b/bin/sh/tests/builtins/cd1.0 diff --git a/tools/regression/bin/sh/builtins/cd2.0 b/bin/sh/tests/builtins/cd2.0 index f2b6416..f2b6416 100644 --- a/tools/regression/bin/sh/builtins/cd2.0 +++ b/bin/sh/tests/builtins/cd2.0 diff --git a/tools/regression/bin/sh/builtins/cd3.0 b/bin/sh/tests/builtins/cd3.0 index 7729c54..7729c54 100644 --- a/tools/regression/bin/sh/builtins/cd3.0 +++ b/bin/sh/tests/builtins/cd3.0 diff --git a/tools/regression/bin/sh/builtins/cd4.0 b/bin/sh/tests/builtins/cd4.0 index df3a9a4..df3a9a4 100644 --- a/tools/regression/bin/sh/builtins/cd4.0 +++ b/bin/sh/tests/builtins/cd4.0 diff --git a/tools/regression/bin/sh/builtins/cd5.0 b/bin/sh/tests/builtins/cd5.0 index 3dff604..3dff604 100644 --- a/tools/regression/bin/sh/builtins/cd5.0 +++ b/bin/sh/tests/builtins/cd5.0 diff --git a/tools/regression/bin/sh/builtins/cd6.0 b/bin/sh/tests/builtins/cd6.0 index 083a061..083a061 100644 --- a/tools/regression/bin/sh/builtins/cd6.0 +++ b/bin/sh/tests/builtins/cd6.0 diff --git a/tools/regression/bin/sh/builtins/cd7.0 b/bin/sh/tests/builtins/cd7.0 index 9adda86..9adda86 100644 --- a/tools/regression/bin/sh/builtins/cd7.0 +++ b/bin/sh/tests/builtins/cd7.0 diff --git a/tools/regression/bin/sh/builtins/cd8.0 b/bin/sh/tests/builtins/cd8.0 index a68f77f..a68f77f 100644 --- a/tools/regression/bin/sh/builtins/cd8.0 +++ b/bin/sh/tests/builtins/cd8.0 diff --git a/tools/regression/bin/sh/builtins/command1.0 b/bin/sh/tests/builtins/command1.0 index fd0afdf..fd0afdf 100644 --- a/tools/regression/bin/sh/builtins/command1.0 +++ b/bin/sh/tests/builtins/command1.0 diff --git a/tools/regression/bin/sh/builtins/command10.0 b/bin/sh/tests/builtins/command10.0 index 2c1adf1..2c1adf1 100644 --- a/tools/regression/bin/sh/builtins/command10.0 +++ b/bin/sh/tests/builtins/command10.0 diff --git a/tools/regression/bin/sh/builtins/command11.0 b/bin/sh/tests/builtins/command11.0 index 10c8647..10c8647 100644 --- a/tools/regression/bin/sh/builtins/command11.0 +++ b/bin/sh/tests/builtins/command11.0 diff --git a/bin/sh/tests/builtins/command12.0 b/bin/sh/tests/builtins/command12.0 new file mode 100644 index 0000000..f981db3 --- /dev/null +++ b/bin/sh/tests/builtins/command12.0 @@ -0,0 +1,7 @@ +# $FreeBSD$ + +alias aa=echo\ \'\"\' +cmd=$(command -v aa) +alias aa=echo\ bad +eval "$cmd" +[ "$(eval aa)" = \" ] diff --git a/tools/regression/bin/sh/builtins/command2.0 b/bin/sh/tests/builtins/command2.0 index ff7b5f2..ff7b5f2 100644 --- a/tools/regression/bin/sh/builtins/command2.0 +++ b/bin/sh/tests/builtins/command2.0 diff --git a/tools/regression/bin/sh/builtins/command3.0 b/bin/sh/tests/builtins/command3.0 index 9d4ae89..9d4ae89 100644 --- a/tools/regression/bin/sh/builtins/command3.0 +++ b/bin/sh/tests/builtins/command3.0 diff --git a/tools/regression/bin/sh/builtins/command3.0.stdout b/bin/sh/tests/builtins/command3.0.stdout index 239c53f..67b8691 100644 --- a/tools/regression/bin/sh/builtins/command3.0.stdout +++ b/bin/sh/tests/builtins/command3.0.stdout @@ -4,4 +4,4 @@ true fun break if -alias foo='bar ' +alias foo=bar diff --git a/tools/regression/bin/sh/builtins/command4.0 b/bin/sh/tests/builtins/command4.0 index 3e49613..3e49613 100644 --- a/tools/regression/bin/sh/builtins/command4.0 +++ b/bin/sh/tests/builtins/command4.0 diff --git a/tools/regression/bin/sh/builtins/command5.0 b/bin/sh/tests/builtins/command5.0 index 13b3fe1..13b3fe1 100644 --- a/tools/regression/bin/sh/builtins/command5.0 +++ b/bin/sh/tests/builtins/command5.0 diff --git a/tools/regression/bin/sh/builtins/command5.0.stdout b/bin/sh/tests/builtins/command5.0.stdout index 4cb2b11..523f7b2 100644 --- a/tools/regression/bin/sh/builtins/command5.0.stdout +++ b/bin/sh/tests/builtins/command5.0.stdout @@ -5,4 +5,4 @@ fun is a shell function break is a special shell builtin if is a shell keyword { is a shell keyword -foo is an alias for bar +foo is an alias for bar diff --git a/tools/regression/bin/sh/builtins/command6.0 b/bin/sh/tests/builtins/command6.0 index 5b63bfe..5b63bfe 100644 --- a/tools/regression/bin/sh/builtins/command6.0 +++ b/bin/sh/tests/builtins/command6.0 diff --git a/tools/regression/bin/sh/builtins/command6.0.stdout b/bin/sh/tests/builtins/command6.0.stdout index df4d647..3180207 100644 --- a/tools/regression/bin/sh/builtins/command6.0.stdout +++ b/bin/sh/tests/builtins/command6.0.stdout @@ -4,4 +4,4 @@ fun is a shell function break is a special shell builtin if is a shell keyword { is a shell keyword -foo is an alias for bar +foo is an alias for bar diff --git a/tools/regression/bin/sh/builtins/command7.0 b/bin/sh/tests/builtins/command7.0 index fc652f2..fc652f2 100644 --- a/tools/regression/bin/sh/builtins/command7.0 +++ b/bin/sh/tests/builtins/command7.0 diff --git a/tools/regression/bin/sh/builtins/command8.0 b/bin/sh/tests/builtins/command8.0 index 9e3a2b6..9e3a2b6 100644 --- a/tools/regression/bin/sh/builtins/command8.0 +++ b/bin/sh/tests/builtins/command8.0 diff --git a/tools/regression/bin/sh/builtins/command9.0 b/bin/sh/tests/builtins/command9.0 index 212e52a..212e52a 100644 --- a/tools/regression/bin/sh/builtins/command9.0 +++ b/bin/sh/tests/builtins/command9.0 diff --git a/tools/regression/bin/sh/builtins/dot1.0 b/bin/sh/tests/builtins/dot1.0 index 43eab0d..43eab0d 100644 --- a/tools/regression/bin/sh/builtins/dot1.0 +++ b/bin/sh/tests/builtins/dot1.0 diff --git a/tools/regression/bin/sh/builtins/dot2.0 b/bin/sh/tests/builtins/dot2.0 index ed6379b..ed6379b 100644 --- a/tools/regression/bin/sh/builtins/dot2.0 +++ b/bin/sh/tests/builtins/dot2.0 diff --git a/tools/regression/bin/sh/builtins/dot3.0 b/bin/sh/tests/builtins/dot3.0 index b337f0f..b337f0f 100644 --- a/tools/regression/bin/sh/builtins/dot3.0 +++ b/bin/sh/tests/builtins/dot3.0 diff --git a/tools/regression/bin/sh/builtins/dot4.0 b/bin/sh/tests/builtins/dot4.0 index b898131..b898131 100644 --- a/tools/regression/bin/sh/builtins/dot4.0 +++ b/bin/sh/tests/builtins/dot4.0 diff --git a/tools/regression/bin/sh/builtins/eval1.0 b/bin/sh/tests/builtins/eval1.0 index 04606a4..04606a4 100644 --- a/tools/regression/bin/sh/builtins/eval1.0 +++ b/bin/sh/tests/builtins/eval1.0 diff --git a/tools/regression/bin/sh/builtins/eval2.0 b/bin/sh/tests/builtins/eval2.0 index bf06b6e..bf06b6e 100644 --- a/tools/regression/bin/sh/builtins/eval2.0 +++ b/bin/sh/tests/builtins/eval2.0 diff --git a/tools/regression/bin/sh/builtins/eval3.0 b/bin/sh/tests/builtins/eval3.0 index dfb8357..dfb8357 100644 --- a/tools/regression/bin/sh/builtins/eval3.0 +++ b/bin/sh/tests/builtins/eval3.0 diff --git a/tools/regression/bin/sh/builtins/eval4.0 b/bin/sh/tests/builtins/eval4.0 index 67da2f5..67da2f5 100644 --- a/tools/regression/bin/sh/builtins/eval4.0 +++ b/bin/sh/tests/builtins/eval4.0 diff --git a/tools/regression/bin/sh/builtins/eval5.0 b/bin/sh/tests/builtins/eval5.0 index 3e86de9..3e86de9 100644 --- a/tools/regression/bin/sh/builtins/eval5.0 +++ b/bin/sh/tests/builtins/eval5.0 diff --git a/tools/regression/bin/sh/builtins/eval6.0 b/bin/sh/tests/builtins/eval6.0 index 6752bb6..6752bb6 100644 --- a/tools/regression/bin/sh/builtins/eval6.0 +++ b/bin/sh/tests/builtins/eval6.0 diff --git a/tools/regression/bin/sh/builtins/exec1.0 b/bin/sh/tests/builtins/exec1.0 index dd30a4c..dd30a4c 100644 --- a/tools/regression/bin/sh/builtins/exec1.0 +++ b/bin/sh/tests/builtins/exec1.0 diff --git a/tools/regression/bin/sh/builtins/exec2.0 b/bin/sh/tests/builtins/exec2.0 index 3dcb6c4..3dcb6c4 100644 --- a/tools/regression/bin/sh/builtins/exec2.0 +++ b/bin/sh/tests/builtins/exec2.0 diff --git a/tools/regression/bin/sh/builtins/exit1.0 b/bin/sh/tests/builtins/exit1.0 index 496d448..496d448 100644 --- a/tools/regression/bin/sh/builtins/exit1.0 +++ b/bin/sh/tests/builtins/exit1.0 diff --git a/tools/regression/bin/sh/builtins/exit2.8 b/bin/sh/tests/builtins/exit2.8 index 124c32e..124c32e 100644 --- a/tools/regression/bin/sh/builtins/exit2.8 +++ b/bin/sh/tests/builtins/exit2.8 diff --git a/tools/regression/bin/sh/builtins/exit3.0 b/bin/sh/tests/builtins/exit3.0 index 80655ac..80655ac 100644 --- a/tools/regression/bin/sh/builtins/exit3.0 +++ b/bin/sh/tests/builtins/exit3.0 diff --git a/tools/regression/bin/sh/builtins/export1.0 b/bin/sh/tests/builtins/export1.0 index 7b08c9d..7b08c9d 100644 --- a/tools/regression/bin/sh/builtins/export1.0 +++ b/bin/sh/tests/builtins/export1.0 diff --git a/tools/regression/bin/sh/builtins/fc1.0 b/bin/sh/tests/builtins/fc1.0 index ab7a387..ab7a387 100644 --- a/tools/regression/bin/sh/builtins/fc1.0 +++ b/bin/sh/tests/builtins/fc1.0 diff --git a/tools/regression/bin/sh/builtins/fc2.0 b/bin/sh/tests/builtins/fc2.0 index 7eb92ac..7eb92ac 100644 --- a/tools/regression/bin/sh/builtins/fc2.0 +++ b/bin/sh/tests/builtins/fc2.0 diff --git a/tools/regression/bin/sh/builtins/for1.0 b/bin/sh/tests/builtins/for1.0 index cd55e2c..cd55e2c 100644 --- a/tools/regression/bin/sh/builtins/for1.0 +++ b/bin/sh/tests/builtins/for1.0 diff --git a/tools/regression/bin/sh/builtins/for2.0 b/bin/sh/tests/builtins/for2.0 index 48c22ce..48c22ce 100644 --- a/tools/regression/bin/sh/builtins/for2.0 +++ b/bin/sh/tests/builtins/for2.0 diff --git a/tools/regression/bin/sh/builtins/for3.0 b/bin/sh/tests/builtins/for3.0 index cc37238..cc37238 100644 --- a/tools/regression/bin/sh/builtins/for3.0 +++ b/bin/sh/tests/builtins/for3.0 diff --git a/tools/regression/bin/sh/builtins/getopts1.0 b/bin/sh/tests/builtins/getopts1.0 index af31d55..af31d55 100644 --- a/tools/regression/bin/sh/builtins/getopts1.0 +++ b/bin/sh/tests/builtins/getopts1.0 diff --git a/tools/regression/bin/sh/builtins/getopts1.0.stdout b/bin/sh/tests/builtins/getopts1.0.stdout index a0a347e..a0a347e 100644 --- a/tools/regression/bin/sh/builtins/getopts1.0.stdout +++ b/bin/sh/tests/builtins/getopts1.0.stdout diff --git a/tools/regression/bin/sh/builtins/getopts2.0 b/bin/sh/tests/builtins/getopts2.0 index 5a5dbe2..5a5dbe2 100644 --- a/tools/regression/bin/sh/builtins/getopts2.0 +++ b/bin/sh/tests/builtins/getopts2.0 diff --git a/tools/regression/bin/sh/builtins/getopts2.0.stdout b/bin/sh/tests/builtins/getopts2.0.stdout index 587be6b..587be6b 100644 --- a/tools/regression/bin/sh/builtins/getopts2.0.stdout +++ b/bin/sh/tests/builtins/getopts2.0.stdout diff --git a/tools/regression/bin/sh/builtins/hash1.0 b/bin/sh/tests/builtins/hash1.0 index 45cc300..45cc300 100644 --- a/tools/regression/bin/sh/builtins/hash1.0 +++ b/bin/sh/tests/builtins/hash1.0 diff --git a/tools/regression/bin/sh/builtins/hash1.0.stdout b/bin/sh/tests/builtins/hash1.0.stdout index 3afc3e7..3afc3e7 100644 --- a/tools/regression/bin/sh/builtins/hash1.0.stdout +++ b/bin/sh/tests/builtins/hash1.0.stdout diff --git a/tools/regression/bin/sh/builtins/hash2.0 b/bin/sh/tests/builtins/hash2.0 index e5cd21b..e5cd21b 100644 --- a/tools/regression/bin/sh/builtins/hash2.0 +++ b/bin/sh/tests/builtins/hash2.0 diff --git a/tools/regression/bin/sh/builtins/hash2.0.stdout b/bin/sh/tests/builtins/hash2.0.stdout index 3afc3e7..3afc3e7 100644 --- a/tools/regression/bin/sh/builtins/hash2.0.stdout +++ b/bin/sh/tests/builtins/hash2.0.stdout diff --git a/tools/regression/bin/sh/builtins/hash3.0 b/bin/sh/tests/builtins/hash3.0 index eade0b3..eade0b3 100644 --- a/tools/regression/bin/sh/builtins/hash3.0 +++ b/bin/sh/tests/builtins/hash3.0 diff --git a/tools/regression/bin/sh/builtins/hash3.0.stdout b/bin/sh/tests/builtins/hash3.0.stdout index a34864c..a34864c 100644 --- a/tools/regression/bin/sh/builtins/hash3.0.stdout +++ b/bin/sh/tests/builtins/hash3.0.stdout diff --git a/tools/regression/bin/sh/builtins/hash4.0 b/bin/sh/tests/builtins/hash4.0 index dec584c..dec584c 100644 --- a/tools/regression/bin/sh/builtins/hash4.0 +++ b/bin/sh/tests/builtins/hash4.0 diff --git a/tools/regression/bin/sh/builtins/jobid1.0 b/bin/sh/tests/builtins/jobid1.0 index 483fda2..483fda2 100644 --- a/tools/regression/bin/sh/builtins/jobid1.0 +++ b/bin/sh/tests/builtins/jobid1.0 diff --git a/tools/regression/bin/sh/builtins/jobid2.0 b/bin/sh/tests/builtins/jobid2.0 index 101831a..101831a 100644 --- a/tools/regression/bin/sh/builtins/jobid2.0 +++ b/bin/sh/tests/builtins/jobid2.0 diff --git a/tools/regression/bin/sh/builtins/lineno.0 b/bin/sh/tests/builtins/lineno.0 index c9311f8..c9311f8 100644 --- a/tools/regression/bin/sh/builtins/lineno.0 +++ b/bin/sh/tests/builtins/lineno.0 diff --git a/tools/regression/bin/sh/builtins/lineno.0.stdout b/bin/sh/tests/builtins/lineno.0.stdout index 82583a9..82583a9 100644 --- a/tools/regression/bin/sh/builtins/lineno.0.stdout +++ b/bin/sh/tests/builtins/lineno.0.stdout diff --git a/bin/sh/tests/builtins/lineno2.0 b/bin/sh/tests/builtins/lineno2.0 new file mode 100644 index 0000000..ddbd104 --- /dev/null +++ b/bin/sh/tests/builtins/lineno2.0 @@ -0,0 +1,10 @@ +# $FreeBSD$ + +f() { + : ${LINENO+${x?}} +} + +unset -v x +command eval f 2>/dev/null && exit 3 +x=1 +f diff --git a/tools/regression/bin/sh/builtins/local1.0 b/bin/sh/tests/builtins/local1.0 index b28837ec..b28837ec 100644 --- a/tools/regression/bin/sh/builtins/local1.0 +++ b/bin/sh/tests/builtins/local1.0 diff --git a/tools/regression/bin/sh/builtins/local2.0 b/bin/sh/tests/builtins/local2.0 index cc8c10f..cc8c10f 100644 --- a/tools/regression/bin/sh/builtins/local2.0 +++ b/bin/sh/tests/builtins/local2.0 diff --git a/tools/regression/bin/sh/builtins/local3.0 b/bin/sh/tests/builtins/local3.0 index 39ee370..39ee370 100644 --- a/tools/regression/bin/sh/builtins/local3.0 +++ b/bin/sh/tests/builtins/local3.0 diff --git a/tools/regression/bin/sh/builtins/local4.0 b/bin/sh/tests/builtins/local4.0 index 3955aaa..3955aaa 100644 --- a/tools/regression/bin/sh/builtins/local4.0 +++ b/bin/sh/tests/builtins/local4.0 diff --git a/tools/regression/bin/sh/builtins/locale1.0 b/bin/sh/tests/builtins/locale1.0 index 90b1094..90b1094 100644 --- a/tools/regression/bin/sh/builtins/locale1.0 +++ b/bin/sh/tests/builtins/locale1.0 diff --git a/tools/regression/bin/sh/builtins/printf1.0 b/bin/sh/tests/builtins/printf1.0 index 99a82d0..99a82d0 100644 --- a/tools/regression/bin/sh/builtins/printf1.0 +++ b/bin/sh/tests/builtins/printf1.0 diff --git a/tools/regression/bin/sh/builtins/printf2.0 b/bin/sh/tests/builtins/printf2.0 index 7763d6f..7763d6f 100644 --- a/tools/regression/bin/sh/builtins/printf2.0 +++ b/bin/sh/tests/builtins/printf2.0 diff --git a/tools/regression/bin/sh/builtins/printf3.0 b/bin/sh/tests/builtins/printf3.0 index 0e7ea85..0e7ea85 100644 --- a/tools/regression/bin/sh/builtins/printf3.0 +++ b/bin/sh/tests/builtins/printf3.0 diff --git a/tools/regression/bin/sh/builtins/printf4.0 b/bin/sh/tests/builtins/printf4.0 index 2dd3e72..2dd3e72 100644 --- a/tools/regression/bin/sh/builtins/printf4.0 +++ b/bin/sh/tests/builtins/printf4.0 diff --git a/tools/regression/bin/sh/builtins/read1.0 b/bin/sh/tests/builtins/read1.0 index 06a68fa..06a68fa 100644 --- a/tools/regression/bin/sh/builtins/read1.0 +++ b/bin/sh/tests/builtins/read1.0 diff --git a/tools/regression/bin/sh/builtins/read1.0.stdout b/bin/sh/tests/builtins/read1.0.stdout index dbcb1af..dbcb1af 100644 --- a/tools/regression/bin/sh/builtins/read1.0.stdout +++ b/bin/sh/tests/builtins/read1.0.stdout diff --git a/tools/regression/bin/sh/builtins/read2.0 b/bin/sh/tests/builtins/read2.0 index fc74511..fc74511 100644 --- a/tools/regression/bin/sh/builtins/read2.0 +++ b/bin/sh/tests/builtins/read2.0 diff --git a/tools/regression/bin/sh/builtins/read3.0 b/bin/sh/tests/builtins/read3.0 index c6ae9c1..c6ae9c1 100644 --- a/tools/regression/bin/sh/builtins/read3.0 +++ b/bin/sh/tests/builtins/read3.0 diff --git a/tools/regression/bin/sh/builtins/read3.0.stdout b/bin/sh/tests/builtins/read3.0.stdout index 8ed98ca..8ed98ca 100644 --- a/tools/regression/bin/sh/builtins/read3.0.stdout +++ b/bin/sh/tests/builtins/read3.0.stdout diff --git a/tools/regression/bin/sh/builtins/read4.0 b/bin/sh/tests/builtins/read4.0 index 7204a35..7204a35 100644 --- a/tools/regression/bin/sh/builtins/read4.0 +++ b/bin/sh/tests/builtins/read4.0 diff --git a/tools/regression/bin/sh/builtins/read4.0.stdout b/bin/sh/tests/builtins/read4.0.stdout index a8747a4..a8747a4 100644 --- a/tools/regression/bin/sh/builtins/read4.0.stdout +++ b/bin/sh/tests/builtins/read4.0.stdout diff --git a/tools/regression/bin/sh/builtins/read5.0 b/bin/sh/tests/builtins/read5.0 index 7d83391..7d83391 100644 --- a/tools/regression/bin/sh/builtins/read5.0 +++ b/bin/sh/tests/builtins/read5.0 diff --git a/tools/regression/bin/sh/builtins/read6.0 b/bin/sh/tests/builtins/read6.0 index 2168e10..2168e10 100644 --- a/tools/regression/bin/sh/builtins/read6.0 +++ b/bin/sh/tests/builtins/read6.0 diff --git a/tools/regression/bin/sh/builtins/read7.0 b/bin/sh/tests/builtins/read7.0 index e78f887..e78f887 100644 --- a/tools/regression/bin/sh/builtins/read7.0 +++ b/bin/sh/tests/builtins/read7.0 diff --git a/tools/regression/bin/sh/builtins/return1.0 b/bin/sh/tests/builtins/return1.0 index 787e892..787e892 100644 --- a/tools/regression/bin/sh/builtins/return1.0 +++ b/bin/sh/tests/builtins/return1.0 diff --git a/tools/regression/bin/sh/builtins/return2.1 b/bin/sh/tests/builtins/return2.1 index 0ef8171..0ef8171 100644 --- a/tools/regression/bin/sh/builtins/return2.1 +++ b/bin/sh/tests/builtins/return2.1 diff --git a/tools/regression/bin/sh/builtins/return3.1 b/bin/sh/tests/builtins/return3.1 index 605ec68..605ec68 100644 --- a/tools/regression/bin/sh/builtins/return3.1 +++ b/bin/sh/tests/builtins/return3.1 diff --git a/tools/regression/bin/sh/builtins/return4.0 b/bin/sh/tests/builtins/return4.0 index be5582b..be5582b 100644 --- a/tools/regression/bin/sh/builtins/return4.0 +++ b/bin/sh/tests/builtins/return4.0 diff --git a/tools/regression/bin/sh/builtins/return5.0 b/bin/sh/tests/builtins/return5.0 index 6e4b7bd..6e4b7bd 100644 --- a/tools/regression/bin/sh/builtins/return5.0 +++ b/bin/sh/tests/builtins/return5.0 diff --git a/tools/regression/bin/sh/builtins/return6.4 b/bin/sh/tests/builtins/return6.4 index e4d8e0d..e4d8e0d 100644 --- a/tools/regression/bin/sh/builtins/return6.4 +++ b/bin/sh/tests/builtins/return6.4 diff --git a/tools/regression/bin/sh/builtins/return7.4 b/bin/sh/tests/builtins/return7.4 index 2047373..2047373 100644 --- a/tools/regression/bin/sh/builtins/return7.4 +++ b/bin/sh/tests/builtins/return7.4 diff --git a/tools/regression/bin/sh/builtins/return8.0 b/bin/sh/tests/builtins/return8.0 index f00e859..f00e859 100644 --- a/tools/regression/bin/sh/builtins/return8.0 +++ b/bin/sh/tests/builtins/return8.0 diff --git a/tools/regression/bin/sh/builtins/set1.0 b/bin/sh/tests/builtins/set1.0 index fc39fad..fc39fad 100644 --- a/tools/regression/bin/sh/builtins/set1.0 +++ b/bin/sh/tests/builtins/set1.0 diff --git a/tools/regression/bin/sh/builtins/set2.0 b/bin/sh/tests/builtins/set2.0 index ad13eab..ad13eab 100644 --- a/tools/regression/bin/sh/builtins/set2.0 +++ b/bin/sh/tests/builtins/set2.0 diff --git a/tools/regression/bin/sh/builtins/trap1.0 b/bin/sh/tests/builtins/trap1.0 index 313f6a3..313f6a3 100644 --- a/tools/regression/bin/sh/builtins/trap1.0 +++ b/bin/sh/tests/builtins/trap1.0 diff --git a/tools/regression/bin/sh/builtins/trap10.0 b/bin/sh/tests/builtins/trap10.0 index fa0e35d..fa0e35d 100644 --- a/tools/regression/bin/sh/builtins/trap10.0 +++ b/bin/sh/tests/builtins/trap10.0 diff --git a/tools/regression/bin/sh/builtins/trap11.0 b/bin/sh/tests/builtins/trap11.0 index cfeea9e..cfeea9e 100644 --- a/tools/regression/bin/sh/builtins/trap11.0 +++ b/bin/sh/tests/builtins/trap11.0 diff --git a/tools/regression/bin/sh/builtins/trap12.0 b/bin/sh/tests/builtins/trap12.0 index 8c62ffd..8c62ffd 100644 --- a/tools/regression/bin/sh/builtins/trap12.0 +++ b/bin/sh/tests/builtins/trap12.0 diff --git a/bin/sh/tests/builtins/trap13.0 b/bin/sh/tests/builtins/trap13.0 new file mode 100644 index 0000000..d90eb08 --- /dev/null +++ b/bin/sh/tests/builtins/trap13.0 @@ -0,0 +1,8 @@ +# $FreeBSD$ + +{ + trap 'exit 0' INT + ${SH} -c 'kill -INT $PPID' + exit 3 +} & +wait $! diff --git a/bin/sh/tests/builtins/trap14.0 b/bin/sh/tests/builtins/trap14.0 new file mode 100644 index 0000000..97cce8d --- /dev/null +++ b/bin/sh/tests/builtins/trap14.0 @@ -0,0 +1,10 @@ +# $FreeBSD$ + +{ + trap - INT + ${SH} -c 'kill -INT $PPID' & + wait +} & +wait $! +r=$? +[ "$r" -gt 128 ] && [ "$(kill -l "$r")" = INT ] diff --git a/tools/regression/bin/sh/builtins/trap2.0 b/bin/sh/tests/builtins/trap2.0 index a05287a..a05287a 100644 --- a/tools/regression/bin/sh/builtins/trap2.0 +++ b/bin/sh/tests/builtins/trap2.0 diff --git a/tools/regression/bin/sh/builtins/trap3.0 b/bin/sh/tests/builtins/trap3.0 index 8160729..8160729 100644 --- a/tools/regression/bin/sh/builtins/trap3.0 +++ b/bin/sh/tests/builtins/trap3.0 diff --git a/tools/regression/bin/sh/builtins/trap4.0 b/bin/sh/tests/builtins/trap4.0 index 7f2080e..7f2080e 100644 --- a/tools/regression/bin/sh/builtins/trap4.0 +++ b/bin/sh/tests/builtins/trap4.0 diff --git a/tools/regression/bin/sh/builtins/trap5.0 b/bin/sh/tests/builtins/trap5.0 index 56e0fb1..56e0fb1 100644 --- a/tools/regression/bin/sh/builtins/trap5.0 +++ b/bin/sh/tests/builtins/trap5.0 diff --git a/tools/regression/bin/sh/builtins/trap6.0 b/bin/sh/tests/builtins/trap6.0 index bd2bf7e..bd2bf7e 100644 --- a/tools/regression/bin/sh/builtins/trap6.0 +++ b/bin/sh/tests/builtins/trap6.0 diff --git a/tools/regression/bin/sh/builtins/trap7.0 b/bin/sh/tests/builtins/trap7.0 index 35529b8..35529b8 100644 --- a/tools/regression/bin/sh/builtins/trap7.0 +++ b/bin/sh/tests/builtins/trap7.0 diff --git a/tools/regression/bin/sh/builtins/trap8.0 b/bin/sh/tests/builtins/trap8.0 index cdce976..cdce976 100644 --- a/tools/regression/bin/sh/builtins/trap8.0 +++ b/bin/sh/tests/builtins/trap8.0 diff --git a/tools/regression/bin/sh/builtins/trap9.0 b/bin/sh/tests/builtins/trap9.0 index 0f584ec..0f584ec 100644 --- a/tools/regression/bin/sh/builtins/trap9.0 +++ b/bin/sh/tests/builtins/trap9.0 diff --git a/tools/regression/bin/sh/builtins/type1.0 b/bin/sh/tests/builtins/type1.0 index c5e4564..c5e4564 100644 --- a/tools/regression/bin/sh/builtins/type1.0 +++ b/bin/sh/tests/builtins/type1.0 diff --git a/tools/regression/bin/sh/builtins/type1.0.stderr b/bin/sh/tests/builtins/type1.0.stderr index 7853418..7853418 100644 --- a/tools/regression/bin/sh/builtins/type1.0.stderr +++ b/bin/sh/tests/builtins/type1.0.stderr diff --git a/tools/regression/bin/sh/builtins/type2.0 b/bin/sh/tests/builtins/type2.0 index fe44d95..fe44d95 100644 --- a/tools/regression/bin/sh/builtins/type2.0 +++ b/bin/sh/tests/builtins/type2.0 diff --git a/tools/regression/bin/sh/builtins/type3.0 b/bin/sh/tests/builtins/type3.0 index 87cccdd..87cccdd 100644 --- a/tools/regression/bin/sh/builtins/type3.0 +++ b/bin/sh/tests/builtins/type3.0 diff --git a/tools/regression/bin/sh/builtins/unalias.0 b/bin/sh/tests/builtins/unalias.0 index 34d8d6e..34d8d6e 100644 --- a/tools/regression/bin/sh/builtins/unalias.0 +++ b/bin/sh/tests/builtins/unalias.0 diff --git a/tools/regression/bin/sh/builtins/var-assign.0 b/bin/sh/tests/builtins/var-assign.0 index ace39c0..ace39c0 100644 --- a/tools/regression/bin/sh/builtins/var-assign.0 +++ b/bin/sh/tests/builtins/var-assign.0 diff --git a/tools/regression/bin/sh/builtins/var-assign2.0 b/bin/sh/tests/builtins/var-assign2.0 index eafec89..eafec89 100644 --- a/tools/regression/bin/sh/builtins/var-assign2.0 +++ b/bin/sh/tests/builtins/var-assign2.0 diff --git a/tools/regression/bin/sh/builtins/wait1.0 b/bin/sh/tests/builtins/wait1.0 index 1ca8530..1ca8530 100644 --- a/tools/regression/bin/sh/builtins/wait1.0 +++ b/bin/sh/tests/builtins/wait1.0 diff --git a/tools/regression/bin/sh/builtins/wait10.0 b/bin/sh/tests/builtins/wait10.0 index 864fc78..864fc78 100644 --- a/tools/regression/bin/sh/builtins/wait10.0 +++ b/bin/sh/tests/builtins/wait10.0 diff --git a/tools/regression/bin/sh/builtins/wait2.0 b/bin/sh/tests/builtins/wait2.0 index e61455c..e61455c 100644 --- a/tools/regression/bin/sh/builtins/wait2.0 +++ b/bin/sh/tests/builtins/wait2.0 diff --git a/tools/regression/bin/sh/builtins/wait3.0 b/bin/sh/tests/builtins/wait3.0 index 1ed5299..1ed5299 100644 --- a/tools/regression/bin/sh/builtins/wait3.0 +++ b/bin/sh/tests/builtins/wait3.0 diff --git a/tools/regression/bin/sh/builtins/wait4.0 b/bin/sh/tests/builtins/wait4.0 index 7935131..7935131 100644 --- a/tools/regression/bin/sh/builtins/wait4.0 +++ b/bin/sh/tests/builtins/wait4.0 diff --git a/tools/regression/bin/sh/builtins/wait5.0 b/bin/sh/tests/builtins/wait5.0 index 6874bf6..6874bf6 100644 --- a/tools/regression/bin/sh/builtins/wait5.0 +++ b/bin/sh/tests/builtins/wait5.0 diff --git a/tools/regression/bin/sh/builtins/wait6.0 b/bin/sh/tests/builtins/wait6.0 index 20e3c68..20e3c68 100644 --- a/tools/regression/bin/sh/builtins/wait6.0 +++ b/bin/sh/tests/builtins/wait6.0 diff --git a/tools/regression/bin/sh/builtins/wait7.0 b/bin/sh/tests/builtins/wait7.0 index 0fb092f..0fb092f 100644 --- a/tools/regression/bin/sh/builtins/wait7.0 +++ b/bin/sh/tests/builtins/wait7.0 diff --git a/tools/regression/bin/sh/builtins/wait8.0 b/bin/sh/tests/builtins/wait8.0 index b59ff59..b59ff59 100644 --- a/tools/regression/bin/sh/builtins/wait8.0 +++ b/bin/sh/tests/builtins/wait8.0 diff --git a/tools/regression/bin/sh/builtins/wait9.127 b/bin/sh/tests/builtins/wait9.127 index 661f275..661f275 100644 --- a/tools/regression/bin/sh/builtins/wait9.127 +++ b/bin/sh/tests/builtins/wait9.127 diff --git a/bin/sh/tests/errors/Makefile b/bin/sh/tests/errors/Makefile new file mode 100644 index 0000000..9f8b0f2 --- /dev/null +++ b/bin/sh/tests/errors/Makefile @@ -0,0 +1,30 @@ +# $FreeBSD$ + +.include <bsd.own.mk> + +FILESDIR= ${TESTSBASE}/bin/sh/errors +KYUAFILE= no + +FILES= assignment-error1.0 +FILES+= assignment-error2.0 +FILES+= backquote-error1.0 +FILES+= backquote-error2.0 +FILES+= bad-binary1.126 +FILES+= bad-keyword1.0 +FILES+= bad-parm-exp1.0 +FILES+= bad-parm-exp2.2 bad-parm-exp2.2.stderr +FILES+= bad-parm-exp3.2 bad-parm-exp3.2.stderr +FILES+= bad-parm-exp4.2 bad-parm-exp4.2.stderr +FILES+= bad-parm-exp5.2 bad-parm-exp5.2.stderr +FILES+= bad-parm-exp6.2 bad-parm-exp6.2.stderr +FILES+= option-error.0 +FILES+= redirection-error.0 +FILES+= redirection-error2.2 +FILES+= redirection-error3.0 +FILES+= redirection-error4.0 +FILES+= redirection-error5.0 +FILES+= redirection-error6.0 +FILES+= redirection-error7.0 +FILES+= write-error1.0 + +.include <bsd.test.mk> diff --git a/tools/regression/bin/sh/errors/assignment-error1.0 b/bin/sh/tests/errors/assignment-error1.0 index 00eaed9..00eaed9 100644 --- a/tools/regression/bin/sh/errors/assignment-error1.0 +++ b/bin/sh/tests/errors/assignment-error1.0 diff --git a/tools/regression/bin/sh/errors/assignment-error2.0 b/bin/sh/tests/errors/assignment-error2.0 index ff4e629..ff4e629 100644 --- a/tools/regression/bin/sh/errors/assignment-error2.0 +++ b/bin/sh/tests/errors/assignment-error2.0 diff --git a/tools/regression/bin/sh/errors/backquote-error1.0 b/bin/sh/tests/errors/backquote-error1.0 index 43e3303..43e3303 100644 --- a/tools/regression/bin/sh/errors/backquote-error1.0 +++ b/bin/sh/tests/errors/backquote-error1.0 diff --git a/tools/regression/bin/sh/errors/backquote-error2.0 b/bin/sh/tests/errors/backquote-error2.0 index 5b49e2b..5b49e2b 100644 --- a/tools/regression/bin/sh/errors/backquote-error2.0 +++ b/bin/sh/tests/errors/backquote-error2.0 diff --git a/tools/regression/bin/sh/errors/bad-binary1.126 b/bin/sh/tests/errors/bad-binary1.126 index d92e9de..d92e9de 100644 --- a/tools/regression/bin/sh/errors/bad-binary1.126 +++ b/bin/sh/tests/errors/bad-binary1.126 diff --git a/tools/regression/bin/sh/errors/bad-keyword1.0 b/bin/sh/tests/errors/bad-keyword1.0 index ac01536..ac01536 100644 --- a/tools/regression/bin/sh/errors/bad-keyword1.0 +++ b/bin/sh/tests/errors/bad-keyword1.0 diff --git a/tools/regression/bin/sh/errors/bad-parm-exp1.0 b/bin/sh/tests/errors/bad-parm-exp1.0 index 6e94994..6e94994 100644 --- a/tools/regression/bin/sh/errors/bad-parm-exp1.0 +++ b/bin/sh/tests/errors/bad-parm-exp1.0 diff --git a/tools/regression/bin/sh/errors/bad-parm-exp2.2 b/bin/sh/tests/errors/bad-parm-exp2.2 index 7e13d2b..7e13d2b 100644 --- a/tools/regression/bin/sh/errors/bad-parm-exp2.2 +++ b/bin/sh/tests/errors/bad-parm-exp2.2 diff --git a/tools/regression/bin/sh/errors/bad-parm-exp2.2.stderr b/bin/sh/tests/errors/bad-parm-exp2.2.stderr index d027a5a..d027a5a 100644 --- a/tools/regression/bin/sh/errors/bad-parm-exp2.2.stderr +++ b/bin/sh/tests/errors/bad-parm-exp2.2.stderr diff --git a/tools/regression/bin/sh/errors/bad-parm-exp3.2 b/bin/sh/tests/errors/bad-parm-exp3.2 index a5ecba5..a5ecba5 100644 --- a/tools/regression/bin/sh/errors/bad-parm-exp3.2 +++ b/bin/sh/tests/errors/bad-parm-exp3.2 diff --git a/tools/regression/bin/sh/errors/bad-parm-exp3.2.stderr b/bin/sh/tests/errors/bad-parm-exp3.2.stderr index ef40251..ef40251 100644 --- a/tools/regression/bin/sh/errors/bad-parm-exp3.2.stderr +++ b/bin/sh/tests/errors/bad-parm-exp3.2.stderr diff --git a/tools/regression/bin/sh/errors/bad-parm-exp4.2 b/bin/sh/tests/errors/bad-parm-exp4.2 index 9eec8d0..9eec8d0 100644 --- a/tools/regression/bin/sh/errors/bad-parm-exp4.2 +++ b/bin/sh/tests/errors/bad-parm-exp4.2 diff --git a/tools/regression/bin/sh/errors/bad-parm-exp4.2.stderr b/bin/sh/tests/errors/bad-parm-exp4.2.stderr index 89bd80f..89bd80f 100644 --- a/tools/regression/bin/sh/errors/bad-parm-exp4.2.stderr +++ b/bin/sh/tests/errors/bad-parm-exp4.2.stderr diff --git a/tools/regression/bin/sh/errors/bad-parm-exp5.2 b/bin/sh/tests/errors/bad-parm-exp5.2 index 459281f..459281f 100644 --- a/tools/regression/bin/sh/errors/bad-parm-exp5.2 +++ b/bin/sh/tests/errors/bad-parm-exp5.2 diff --git a/tools/regression/bin/sh/errors/bad-parm-exp5.2.stderr b/bin/sh/tests/errors/bad-parm-exp5.2.stderr index 89b1997..89b1997 100644 --- a/tools/regression/bin/sh/errors/bad-parm-exp5.2.stderr +++ b/bin/sh/tests/errors/bad-parm-exp5.2.stderr diff --git a/tools/regression/bin/sh/errors/bad-parm-exp6.2 b/bin/sh/tests/errors/bad-parm-exp6.2 index ba51442..ba51442 100644 --- a/tools/regression/bin/sh/errors/bad-parm-exp6.2 +++ b/bin/sh/tests/errors/bad-parm-exp6.2 diff --git a/tools/regression/bin/sh/errors/bad-parm-exp6.2.stderr b/bin/sh/tests/errors/bad-parm-exp6.2.stderr index dbf14b5..dbf14b5 100644 --- a/tools/regression/bin/sh/errors/bad-parm-exp6.2.stderr +++ b/bin/sh/tests/errors/bad-parm-exp6.2.stderr diff --git a/tools/regression/bin/sh/errors/option-error.0 b/bin/sh/tests/errors/option-error.0 index b4b44c4..b4b44c4 100644 --- a/tools/regression/bin/sh/errors/option-error.0 +++ b/bin/sh/tests/errors/option-error.0 diff --git a/tools/regression/bin/sh/errors/redirection-error.0 b/bin/sh/tests/errors/redirection-error.0 index cb8c0b1..cb8c0b1 100644 --- a/tools/regression/bin/sh/errors/redirection-error.0 +++ b/bin/sh/tests/errors/redirection-error.0 diff --git a/tools/regression/bin/sh/errors/redirection-error2.2 b/bin/sh/tests/errors/redirection-error2.2 index 32bccd8..32bccd8 100644 --- a/tools/regression/bin/sh/errors/redirection-error2.2 +++ b/bin/sh/tests/errors/redirection-error2.2 diff --git a/tools/regression/bin/sh/errors/redirection-error3.0 b/bin/sh/tests/errors/redirection-error3.0 index 8a07d03..8a07d03 100644 --- a/tools/regression/bin/sh/errors/redirection-error3.0 +++ b/bin/sh/tests/errors/redirection-error3.0 diff --git a/tools/regression/bin/sh/errors/redirection-error4.0 b/bin/sh/tests/errors/redirection-error4.0 index 2060974..2060974 100644 --- a/tools/regression/bin/sh/errors/redirection-error4.0 +++ b/bin/sh/tests/errors/redirection-error4.0 diff --git a/tools/regression/bin/sh/errors/redirection-error5.0 b/bin/sh/tests/errors/redirection-error5.0 index 1fcd47e..1fcd47e 100644 --- a/tools/regression/bin/sh/errors/redirection-error5.0 +++ b/bin/sh/tests/errors/redirection-error5.0 diff --git a/tools/regression/bin/sh/errors/redirection-error6.0 b/bin/sh/tests/errors/redirection-error6.0 index 17d1109..17d1109 100644 --- a/tools/regression/bin/sh/errors/redirection-error6.0 +++ b/bin/sh/tests/errors/redirection-error6.0 diff --git a/tools/regression/bin/sh/errors/redirection-error7.0 b/bin/sh/tests/errors/redirection-error7.0 index 5b20f04..5b20f04 100644 --- a/tools/regression/bin/sh/errors/redirection-error7.0 +++ b/bin/sh/tests/errors/redirection-error7.0 diff --git a/tools/regression/bin/sh/errors/write-error1.0 b/bin/sh/tests/errors/write-error1.0 index fcb52e7..fcb52e7 100644 --- a/tools/regression/bin/sh/errors/write-error1.0 +++ b/bin/sh/tests/errors/write-error1.0 diff --git a/bin/sh/tests/execution/Makefile b/bin/sh/tests/execution/Makefile new file mode 100644 index 0000000..302d0d8 --- /dev/null +++ b/bin/sh/tests/execution/Makefile @@ -0,0 +1,53 @@ +# $FreeBSD$ + +.include <bsd.own.mk> + +FILESDIR= ${TESTSBASE}/bin/sh/execution +KYUAFILE= no + +FILES= bg1.0 +FILES+= bg2.0 +FILES+= bg3.0 +FILES+= bg4.0 +FILES+= bg5.0 +FILES+= bg6.0 bg6.0.stdout +FILES+= bg7.0 +FILES+= bg8.0 +FILES+= bg9.0 +FILES+= bg10.0 bg10.0.stdout +FILES+= fork1.0 +FILES+= fork2.0 +FILES+= fork3.0 +FILES+= func1.0 +FILES+= func2.0 +FILES+= func3.0 +FILES+= hash1.0 +FILES+= int-cmd1.0 +FILES+= killed1.0 +FILES+= killed2.0 +FILES+= not1.0 +FILES+= not2.0 +FILES+= path1.0 +FILES+= redir1.0 +FILES+= redir2.0 +FILES+= redir3.0 +FILES+= redir4.0 +FILES+= redir5.0 +FILES+= redir6.0 +FILES+= redir7.0 +FILES+= set-n1.0 +FILES+= set-n2.0 +FILES+= set-n3.0 +FILES+= set-n4.0 +FILES+= set-x1.0 +FILES+= set-x2.0 +FILES+= set-x3.0 +FILES+= shellproc1.0 +FILES+= subshell1.0 subshell1.0.stdout +FILES+= subshell2.0 +FILES+= subshell3.0 +FILES+= subshell4.0 +FILES+= unknown1.0 +FILES+= var-assign1.0 + +.include <bsd.test.mk> diff --git a/tools/regression/bin/sh/execution/bg1.0 b/bin/sh/tests/execution/bg1.0 index edb92ae..edb92ae 100644 --- a/tools/regression/bin/sh/execution/bg1.0 +++ b/bin/sh/tests/execution/bg1.0 diff --git a/bin/sh/tests/execution/bg10.0 b/bin/sh/tests/execution/bg10.0 new file mode 100644 index 0000000..44a25dc --- /dev/null +++ b/bin/sh/tests/execution/bg10.0 @@ -0,0 +1,4 @@ +# $FreeBSD$ +# The redirection overrides the </dev/null implicit in a background command. + +echo yes | ${SH} -c '{ cat & wait; } <&0' diff --git a/bin/sh/tests/execution/bg10.0.stdout b/bin/sh/tests/execution/bg10.0.stdout new file mode 100644 index 0000000..7cfab5b --- /dev/null +++ b/bin/sh/tests/execution/bg10.0.stdout @@ -0,0 +1 @@ +yes diff --git a/tools/regression/bin/sh/execution/bg2.0 b/bin/sh/tests/execution/bg2.0 index 2e2fbc5..2e2fbc5 100644 --- a/tools/regression/bin/sh/execution/bg2.0 +++ b/bin/sh/tests/execution/bg2.0 diff --git a/tools/regression/bin/sh/execution/bg3.0 b/bin/sh/tests/execution/bg3.0 index 359fc6f..359fc6f 100644 --- a/tools/regression/bin/sh/execution/bg3.0 +++ b/bin/sh/tests/execution/bg3.0 diff --git a/tools/regression/bin/sh/execution/bg4.0 b/bin/sh/tests/execution/bg4.0 index 25e4f4e..25e4f4e 100644 --- a/tools/regression/bin/sh/execution/bg4.0 +++ b/bin/sh/tests/execution/bg4.0 diff --git a/bin/sh/tests/execution/bg5.0 b/bin/sh/tests/execution/bg5.0 new file mode 100644 index 0000000..cc9ceaa --- /dev/null +++ b/bin/sh/tests/execution/bg5.0 @@ -0,0 +1,4 @@ +# $FreeBSD$ +# A background command has an implicit </dev/null redirection. + +echo bad | ${SH} -c '{ cat & wait; }' diff --git a/bin/sh/tests/execution/bg6.0 b/bin/sh/tests/execution/bg6.0 new file mode 100644 index 0000000..b0faf9e --- /dev/null +++ b/bin/sh/tests/execution/bg6.0 @@ -0,0 +1,4 @@ +# $FreeBSD$ +# The redirection overrides the </dev/null implicit in a background command. + +echo yes | ${SH} -c '{ cat & wait; } </dev/stdin' diff --git a/bin/sh/tests/execution/bg6.0.stdout b/bin/sh/tests/execution/bg6.0.stdout new file mode 100644 index 0000000..7cfab5b --- /dev/null +++ b/bin/sh/tests/execution/bg6.0.stdout @@ -0,0 +1 @@ +yes diff --git a/bin/sh/tests/execution/bg7.0 b/bin/sh/tests/execution/bg7.0 new file mode 100644 index 0000000..f771edc --- /dev/null +++ b/bin/sh/tests/execution/bg7.0 @@ -0,0 +1,5 @@ +# $FreeBSD$ +# The redirection does not apply to the background command, and therefore +# does not override the implicit </dev/null. + +echo bad | ${SH} -c '</dev/null; { cat & wait; }' diff --git a/bin/sh/tests/execution/bg8.0 b/bin/sh/tests/execution/bg8.0 new file mode 100644 index 0000000..33667cb --- /dev/null +++ b/bin/sh/tests/execution/bg8.0 @@ -0,0 +1,5 @@ +# $FreeBSD$ +# The redirection does not apply to the background command, and therefore +# does not override the implicit </dev/null. + +echo bad | ${SH} -c 'command eval \) </dev/null 2>/dev/null; { cat & wait; }' diff --git a/bin/sh/tests/execution/bg9.0 b/bin/sh/tests/execution/bg9.0 new file mode 100644 index 0000000..64fde3e --- /dev/null +++ b/bin/sh/tests/execution/bg9.0 @@ -0,0 +1,5 @@ +# $FreeBSD$ +# The redirection does not apply to the background command, and therefore +# does not override the implicit </dev/null. + +echo bad | ${SH} -c 'command eval eval \\\) \</dev/null 2>/dev/null; { cat & wait; }' diff --git a/tools/regression/bin/sh/execution/fork1.0 b/bin/sh/tests/execution/fork1.0 index 2eeac79..2eeac79 100644 --- a/tools/regression/bin/sh/execution/fork1.0 +++ b/bin/sh/tests/execution/fork1.0 diff --git a/tools/regression/bin/sh/execution/fork2.0 b/bin/sh/tests/execution/fork2.0 index 62a2537..62a2537 100644 --- a/tools/regression/bin/sh/execution/fork2.0 +++ b/bin/sh/tests/execution/fork2.0 diff --git a/tools/regression/bin/sh/execution/fork3.0 b/bin/sh/tests/execution/fork3.0 index 3cb678c..3cb678c 100644 --- a/tools/regression/bin/sh/execution/fork3.0 +++ b/bin/sh/tests/execution/fork3.0 diff --git a/tools/regression/bin/sh/execution/func1.0 b/bin/sh/tests/execution/func1.0 index 29fcc07..29fcc07 100644 --- a/tools/regression/bin/sh/execution/func1.0 +++ b/bin/sh/tests/execution/func1.0 diff --git a/tools/regression/bin/sh/execution/func2.0 b/bin/sh/tests/execution/func2.0 index 9830b5e..9830b5e 100644 --- a/tools/regression/bin/sh/execution/func2.0 +++ b/bin/sh/tests/execution/func2.0 diff --git a/tools/regression/bin/sh/execution/func3.0 b/bin/sh/tests/execution/func3.0 index e0ed581..e0ed581 100644 --- a/tools/regression/bin/sh/execution/func3.0 +++ b/bin/sh/tests/execution/func3.0 diff --git a/tools/regression/bin/sh/execution/hash1.0 b/bin/sh/tests/execution/hash1.0 index a645c2a..a645c2a 100644 --- a/tools/regression/bin/sh/execution/hash1.0 +++ b/bin/sh/tests/execution/hash1.0 diff --git a/tools/regression/bin/sh/execution/int-cmd1.0 b/bin/sh/tests/execution/int-cmd1.0 index a1f097b..a1f097b 100644 --- a/tools/regression/bin/sh/execution/int-cmd1.0 +++ b/bin/sh/tests/execution/int-cmd1.0 diff --git a/tools/regression/bin/sh/execution/killed1.0 b/bin/sh/tests/execution/killed1.0 index 41d3e05..41d3e05 100644 --- a/tools/regression/bin/sh/execution/killed1.0 +++ b/bin/sh/tests/execution/killed1.0 diff --git a/tools/regression/bin/sh/execution/killed2.0 b/bin/sh/tests/execution/killed2.0 index 7ff3fe2..7ff3fe2 100644 --- a/tools/regression/bin/sh/execution/killed2.0 +++ b/bin/sh/tests/execution/killed2.0 diff --git a/tools/regression/bin/sh/execution/not1.0 b/bin/sh/tests/execution/not1.0 index 12c6265..12c6265 100644 --- a/tools/regression/bin/sh/execution/not1.0 +++ b/bin/sh/tests/execution/not1.0 diff --git a/tools/regression/bin/sh/execution/not2.0 b/bin/sh/tests/execution/not2.0 index 1b128d0..1b128d0 100644 --- a/tools/regression/bin/sh/execution/not2.0 +++ b/bin/sh/tests/execution/not2.0 diff --git a/tools/regression/bin/sh/execution/path1.0 b/bin/sh/tests/execution/path1.0 index 50829d6..50829d6 100644 --- a/tools/regression/bin/sh/execution/path1.0 +++ b/bin/sh/tests/execution/path1.0 diff --git a/tools/regression/bin/sh/execution/redir1.0 b/bin/sh/tests/execution/redir1.0 index dd0011f..dd0011f 100644 --- a/tools/regression/bin/sh/execution/redir1.0 +++ b/bin/sh/tests/execution/redir1.0 diff --git a/tools/regression/bin/sh/execution/redir2.0 b/bin/sh/tests/execution/redir2.0 index 1588105..1588105 100644 --- a/tools/regression/bin/sh/execution/redir2.0 +++ b/bin/sh/tests/execution/redir2.0 diff --git a/tools/regression/bin/sh/execution/redir3.0 b/bin/sh/tests/execution/redir3.0 index d68e450..d68e450 100644 --- a/tools/regression/bin/sh/execution/redir3.0 +++ b/bin/sh/tests/execution/redir3.0 diff --git a/tools/regression/bin/sh/execution/redir4.0 b/bin/sh/tests/execution/redir4.0 index 57054c1..57054c1 100644 --- a/tools/regression/bin/sh/execution/redir4.0 +++ b/bin/sh/tests/execution/redir4.0 diff --git a/tools/regression/bin/sh/execution/redir5.0 b/bin/sh/tests/execution/redir5.0 index 707ca68..707ca68 100644 --- a/tools/regression/bin/sh/execution/redir5.0 +++ b/bin/sh/tests/execution/redir5.0 diff --git a/tools/regression/bin/sh/execution/redir6.0 b/bin/sh/tests/execution/redir6.0 index 4e3ac0c..4e3ac0c 100644 --- a/tools/regression/bin/sh/execution/redir6.0 +++ b/bin/sh/tests/execution/redir6.0 diff --git a/tools/regression/bin/sh/execution/redir7.0 b/bin/sh/tests/execution/redir7.0 index 2487bcf..2487bcf 100644 --- a/tools/regression/bin/sh/execution/redir7.0 +++ b/bin/sh/tests/execution/redir7.0 diff --git a/tools/regression/bin/sh/execution/set-n1.0 b/bin/sh/tests/execution/set-n1.0 index 14c9b93..14c9b93 100644 --- a/tools/regression/bin/sh/execution/set-n1.0 +++ b/bin/sh/tests/execution/set-n1.0 diff --git a/tools/regression/bin/sh/execution/set-n2.0 b/bin/sh/tests/execution/set-n2.0 index c7f3162..c7f3162 100644 --- a/tools/regression/bin/sh/execution/set-n2.0 +++ b/bin/sh/tests/execution/set-n2.0 diff --git a/tools/regression/bin/sh/execution/set-n3.0 b/bin/sh/tests/execution/set-n3.0 index 24a9159..24a9159 100644 --- a/tools/regression/bin/sh/execution/set-n3.0 +++ b/bin/sh/tests/execution/set-n3.0 diff --git a/tools/regression/bin/sh/execution/set-n4.0 b/bin/sh/tests/execution/set-n4.0 index 3698508..3698508 100644 --- a/tools/regression/bin/sh/execution/set-n4.0 +++ b/bin/sh/tests/execution/set-n4.0 diff --git a/tools/regression/bin/sh/execution/set-x1.0 b/bin/sh/tests/execution/set-x1.0 index 7fe1dbf..7fe1dbf 100644 --- a/tools/regression/bin/sh/execution/set-x1.0 +++ b/bin/sh/tests/execution/set-x1.0 diff --git a/tools/regression/bin/sh/execution/set-x2.0 b/bin/sh/tests/execution/set-x2.0 index 56d54e3..56d54e3 100644 --- a/tools/regression/bin/sh/execution/set-x2.0 +++ b/bin/sh/tests/execution/set-x2.0 diff --git a/tools/regression/bin/sh/execution/set-x3.0 b/bin/sh/tests/execution/set-x3.0 index 1ca57ac..1ca57ac 100644 --- a/tools/regression/bin/sh/execution/set-x3.0 +++ b/bin/sh/tests/execution/set-x3.0 diff --git a/tools/regression/bin/sh/execution/shellproc1.0 b/bin/sh/tests/execution/shellproc1.0 index 1326bc2..1326bc2 100644 --- a/tools/regression/bin/sh/execution/shellproc1.0 +++ b/bin/sh/tests/execution/shellproc1.0 diff --git a/tools/regression/bin/sh/execution/subshell1.0 b/bin/sh/tests/execution/subshell1.0 index 347806e..347806e 100644 --- a/tools/regression/bin/sh/execution/subshell1.0 +++ b/bin/sh/tests/execution/subshell1.0 diff --git a/tools/regression/bin/sh/execution/subshell1.0.stdout b/bin/sh/tests/execution/subshell1.0.stdout index 8c71af3..8c71af3 100644 --- a/tools/regression/bin/sh/execution/subshell1.0.stdout +++ b/bin/sh/tests/execution/subshell1.0.stdout diff --git a/tools/regression/bin/sh/execution/subshell2.0 b/bin/sh/tests/execution/subshell2.0 index 3216449..3216449 100644 --- a/tools/regression/bin/sh/execution/subshell2.0 +++ b/bin/sh/tests/execution/subshell2.0 diff --git a/tools/regression/bin/sh/execution/subshell3.0 b/bin/sh/tests/execution/subshell3.0 index 9a87acb..9a87acb 100644 --- a/tools/regression/bin/sh/execution/subshell3.0 +++ b/bin/sh/tests/execution/subshell3.0 diff --git a/tools/regression/bin/sh/execution/subshell4.0 b/bin/sh/tests/execution/subshell4.0 index b39edb1..b39edb1 100644 --- a/tools/regression/bin/sh/execution/subshell4.0 +++ b/bin/sh/tests/execution/subshell4.0 diff --git a/tools/regression/bin/sh/execution/unknown1.0 b/bin/sh/tests/execution/unknown1.0 index 45f541e..45f541e 100644 --- a/tools/regression/bin/sh/execution/unknown1.0 +++ b/bin/sh/tests/execution/unknown1.0 diff --git a/tools/regression/bin/sh/execution/var-assign1.0 b/bin/sh/tests/execution/var-assign1.0 index 26e5424..26e5424 100644 --- a/tools/regression/bin/sh/execution/var-assign1.0 +++ b/bin/sh/tests/execution/var-assign1.0 diff --git a/bin/sh/tests/expansion/Makefile b/bin/sh/tests/expansion/Makefile new file mode 100644 index 0000000..bd24319 --- /dev/null +++ b/bin/sh/tests/expansion/Makefile @@ -0,0 +1,86 @@ +# $FreeBSD$ + +.include <bsd.own.mk> + +FILESDIR= ${TESTSBASE}/bin/sh/expansion +KYUAFILE= no + +FILES= arith1.0 +FILES+= arith2.0 +FILES+= arith3.0 +FILES+= arith4.0 +FILES+= arith5.0 +FILES+= arith6.0 +FILES+= arith7.0 +FILES+= arith8.0 +FILES+= arith9.0 +FILES+= arith10.0 +FILES+= arith11.0 +FILES+= arith12.0 +FILES+= arith13.0 +FILES+= assign1.0 +FILES+= cmdsubst1.0 +FILES+= cmdsubst2.0 +FILES+= cmdsubst3.0 +FILES+= cmdsubst4.0 +FILES+= cmdsubst5.0 +FILES+= cmdsubst6.0 +FILES+= cmdsubst7.0 +FILES+= cmdsubst8.0 +FILES+= cmdsubst9.0 +FILES+= cmdsubst10.0 +FILES+= cmdsubst11.0 +FILES+= cmdsubst12.0 +FILES+= cmdsubst13.0 +FILES+= cmdsubst14.0 +FILES+= cmdsubst15.0 +FILES+= cmdsubst16.0 +FILES+= cmdsubst17.0 +FILES+= export1.0 +FILES+= export2.0 +FILES+= export3.0 +FILES+= heredoc1.0 +FILES+= heredoc2.0 +FILES+= ifs1.0 +FILES+= ifs2.0 +FILES+= ifs3.0 +FILES+= ifs4.0 +FILES+= length1.0 +FILES+= length2.0 +FILES+= length3.0 +FILES+= length4.0 +FILES+= length5.0 +FILES+= length6.0 +FILES+= length7.0 +FILES+= length8.0 +FILES+= local1.0 +FILES+= local2.0 +FILES+= pathname1.0 +FILES+= pathname2.0 +FILES+= pathname3.0 +FILES+= pathname4.0 +FILES+= plus-minus1.0 +FILES+= plus-minus2.0 +FILES+= plus-minus3.0 +FILES+= plus-minus4.0 +FILES+= plus-minus5.0 +FILES+= plus-minus6.0 +FILES+= plus-minus7.0 +FILES+= plus-minus8.0 +FILES+= question1.0 +FILES+= readonly1.0 +FILES+= set-u1.0 +FILES+= set-u2.0 +FILES+= set-u3.0 +FILES+= tilde1.0 +FILES+= tilde2.0 +FILES+= trim1.0 +FILES+= trim2.0 +FILES+= trim3.0 +FILES+= trim4.0 +FILES+= trim5.0 +FILES+= trim6.0 +FILES+= trim7.0 +FILES+= trim8.0 + +.include <bsd.test.mk> diff --git a/tools/regression/bin/sh/expansion/arith1.0 b/bin/sh/tests/expansion/arith1.0 index 118ba22..118ba22 100644 --- a/tools/regression/bin/sh/expansion/arith1.0 +++ b/bin/sh/tests/expansion/arith1.0 diff --git a/tools/regression/bin/sh/expansion/arith10.0 b/bin/sh/tests/expansion/arith10.0 index 1aaf619..1aaf619 100644 --- a/tools/regression/bin/sh/expansion/arith10.0 +++ b/bin/sh/tests/expansion/arith10.0 diff --git a/tools/regression/bin/sh/expansion/arith11.0 b/bin/sh/tests/expansion/arith11.0 index 6bc7369..6bc7369 100644 --- a/tools/regression/bin/sh/expansion/arith11.0 +++ b/bin/sh/tests/expansion/arith11.0 diff --git a/tools/regression/bin/sh/expansion/arith12.0 b/bin/sh/tests/expansion/arith12.0 index cb7da3b..cb7da3b 100644 --- a/tools/regression/bin/sh/expansion/arith12.0 +++ b/bin/sh/tests/expansion/arith12.0 diff --git a/tools/regression/bin/sh/expansion/arith13.0 b/bin/sh/tests/expansion/arith13.0 index 207e488..207e488 100644 --- a/tools/regression/bin/sh/expansion/arith13.0 +++ b/bin/sh/tests/expansion/arith13.0 diff --git a/tools/regression/bin/sh/expansion/arith2.0 b/bin/sh/tests/expansion/arith2.0 index 95b48a0..95b48a0 100644 --- a/tools/regression/bin/sh/expansion/arith2.0 +++ b/bin/sh/tests/expansion/arith2.0 diff --git a/tools/regression/bin/sh/expansion/arith3.0 b/bin/sh/tests/expansion/arith3.0 index b69159d..b69159d 100644 --- a/tools/regression/bin/sh/expansion/arith3.0 +++ b/bin/sh/tests/expansion/arith3.0 diff --git a/tools/regression/bin/sh/expansion/arith4.0 b/bin/sh/tests/expansion/arith4.0 index 610dad8..610dad8 100644 --- a/tools/regression/bin/sh/expansion/arith4.0 +++ b/bin/sh/tests/expansion/arith4.0 diff --git a/tools/regression/bin/sh/expansion/arith5.0 b/bin/sh/tests/expansion/arith5.0 index d0f2331..d0f2331 100644 --- a/tools/regression/bin/sh/expansion/arith5.0 +++ b/bin/sh/tests/expansion/arith5.0 diff --git a/tools/regression/bin/sh/expansion/arith6.0 b/bin/sh/tests/expansion/arith6.0 index fc4589c..fc4589c 100644 --- a/tools/regression/bin/sh/expansion/arith6.0 +++ b/bin/sh/tests/expansion/arith6.0 diff --git a/tools/regression/bin/sh/expansion/arith7.0 b/bin/sh/tests/expansion/arith7.0 index 5aada2b..5aada2b 100644 --- a/tools/regression/bin/sh/expansion/arith7.0 +++ b/bin/sh/tests/expansion/arith7.0 diff --git a/tools/regression/bin/sh/expansion/arith8.0 b/bin/sh/tests/expansion/arith8.0 index 2d03e50..2d03e50 100644 --- a/tools/regression/bin/sh/expansion/arith8.0 +++ b/bin/sh/tests/expansion/arith8.0 diff --git a/tools/regression/bin/sh/expansion/arith9.0 b/bin/sh/tests/expansion/arith9.0 index cc8b597..cc8b597 100644 --- a/tools/regression/bin/sh/expansion/arith9.0 +++ b/bin/sh/tests/expansion/arith9.0 diff --git a/tools/regression/bin/sh/expansion/assign1.0 b/bin/sh/tests/expansion/assign1.0 index d4fa772..d4fa772 100644 --- a/tools/regression/bin/sh/expansion/assign1.0 +++ b/bin/sh/tests/expansion/assign1.0 diff --git a/tools/regression/bin/sh/expansion/cmdsubst1.0 b/bin/sh/tests/expansion/cmdsubst1.0 index 515c7da..515c7da 100644 --- a/tools/regression/bin/sh/expansion/cmdsubst1.0 +++ b/bin/sh/tests/expansion/cmdsubst1.0 diff --git a/tools/regression/bin/sh/expansion/cmdsubst10.0 b/bin/sh/tests/expansion/cmdsubst10.0 index 7cf17a3..7cf17a3 100644 --- a/tools/regression/bin/sh/expansion/cmdsubst10.0 +++ b/bin/sh/tests/expansion/cmdsubst10.0 diff --git a/tools/regression/bin/sh/expansion/cmdsubst11.0 b/bin/sh/tests/expansion/cmdsubst11.0 index f1af547..f1af547 100644 --- a/tools/regression/bin/sh/expansion/cmdsubst11.0 +++ b/bin/sh/tests/expansion/cmdsubst11.0 diff --git a/tools/regression/bin/sh/expansion/cmdsubst12.0 b/bin/sh/tests/expansion/cmdsubst12.0 index 50394db..50394db 100644 --- a/tools/regression/bin/sh/expansion/cmdsubst12.0 +++ b/bin/sh/tests/expansion/cmdsubst12.0 diff --git a/tools/regression/bin/sh/expansion/cmdsubst13.0 b/bin/sh/tests/expansion/cmdsubst13.0 index 7fdc5b2..7fdc5b2 100644 --- a/tools/regression/bin/sh/expansion/cmdsubst13.0 +++ b/bin/sh/tests/expansion/cmdsubst13.0 diff --git a/tools/regression/bin/sh/expansion/cmdsubst14.0 b/bin/sh/tests/expansion/cmdsubst14.0 index bdbbb82..bdbbb82 100644 --- a/tools/regression/bin/sh/expansion/cmdsubst14.0 +++ b/bin/sh/tests/expansion/cmdsubst14.0 diff --git a/tools/regression/bin/sh/expansion/cmdsubst15.0 b/bin/sh/tests/expansion/cmdsubst15.0 index 31d85d4..31d85d4 100644 --- a/tools/regression/bin/sh/expansion/cmdsubst15.0 +++ b/bin/sh/tests/expansion/cmdsubst15.0 diff --git a/tools/regression/bin/sh/expansion/cmdsubst16.0 b/bin/sh/tests/expansion/cmdsubst16.0 index 71df562..71df562 100644 --- a/tools/regression/bin/sh/expansion/cmdsubst16.0 +++ b/bin/sh/tests/expansion/cmdsubst16.0 diff --git a/tools/regression/bin/sh/expansion/cmdsubst17.0 b/bin/sh/tests/expansion/cmdsubst17.0 index 8c29e83..8c29e83 100644 --- a/tools/regression/bin/sh/expansion/cmdsubst17.0 +++ b/bin/sh/tests/expansion/cmdsubst17.0 diff --git a/tools/regression/bin/sh/expansion/cmdsubst2.0 b/bin/sh/tests/expansion/cmdsubst2.0 index b86776e..b86776e 100644 --- a/tools/regression/bin/sh/expansion/cmdsubst2.0 +++ b/bin/sh/tests/expansion/cmdsubst2.0 diff --git a/tools/regression/bin/sh/expansion/cmdsubst3.0 b/bin/sh/tests/expansion/cmdsubst3.0 index abb6b22..abb6b22 100644 --- a/tools/regression/bin/sh/expansion/cmdsubst3.0 +++ b/bin/sh/tests/expansion/cmdsubst3.0 diff --git a/tools/regression/bin/sh/expansion/cmdsubst4.0 b/bin/sh/tests/expansion/cmdsubst4.0 index ee1ce73..ee1ce73 100644 --- a/tools/regression/bin/sh/expansion/cmdsubst4.0 +++ b/bin/sh/tests/expansion/cmdsubst4.0 diff --git a/tools/regression/bin/sh/expansion/cmdsubst5.0 b/bin/sh/tests/expansion/cmdsubst5.0 index afca371..afca371 100644 --- a/tools/regression/bin/sh/expansion/cmdsubst5.0 +++ b/bin/sh/tests/expansion/cmdsubst5.0 diff --git a/tools/regression/bin/sh/expansion/cmdsubst6.0 b/bin/sh/tests/expansion/cmdsubst6.0 index 6586f33..6586f33 100644 --- a/tools/regression/bin/sh/expansion/cmdsubst6.0 +++ b/bin/sh/tests/expansion/cmdsubst6.0 diff --git a/tools/regression/bin/sh/expansion/cmdsubst7.0 b/bin/sh/tests/expansion/cmdsubst7.0 index dbd1aec..dbd1aec 100644 --- a/tools/regression/bin/sh/expansion/cmdsubst7.0 +++ b/bin/sh/tests/expansion/cmdsubst7.0 diff --git a/tools/regression/bin/sh/expansion/cmdsubst8.0 b/bin/sh/tests/expansion/cmdsubst8.0 index 52adaea..52adaea 100644 --- a/tools/regression/bin/sh/expansion/cmdsubst8.0 +++ b/bin/sh/tests/expansion/cmdsubst8.0 diff --git a/tools/regression/bin/sh/expansion/cmdsubst9.0 b/bin/sh/tests/expansion/cmdsubst9.0 index 0b1f81f..0b1f81f 100644 --- a/tools/regression/bin/sh/expansion/cmdsubst9.0 +++ b/bin/sh/tests/expansion/cmdsubst9.0 diff --git a/tools/regression/bin/sh/expansion/export1.0 b/bin/sh/tests/expansion/export1.0 index 4ee3ef4..4ee3ef4 100644 --- a/tools/regression/bin/sh/expansion/export1.0 +++ b/bin/sh/tests/expansion/export1.0 diff --git a/tools/regression/bin/sh/expansion/export2.0 b/bin/sh/tests/expansion/export2.0 index 57f64e7..57f64e7 100644 --- a/tools/regression/bin/sh/expansion/export2.0 +++ b/bin/sh/tests/expansion/export2.0 diff --git a/tools/regression/bin/sh/expansion/export3.0 b/bin/sh/tests/expansion/export3.0 index a1a0e66..a1a0e66 100644 --- a/tools/regression/bin/sh/expansion/export3.0 +++ b/bin/sh/tests/expansion/export3.0 diff --git a/tools/regression/bin/sh/expansion/heredoc1.0 b/bin/sh/tests/expansion/heredoc1.0 index a67b2da..a67b2da 100644 --- a/tools/regression/bin/sh/expansion/heredoc1.0 +++ b/bin/sh/tests/expansion/heredoc1.0 diff --git a/tools/regression/bin/sh/expansion/heredoc2.0 b/bin/sh/tests/expansion/heredoc2.0 index 2551432..2551432 100644 --- a/tools/regression/bin/sh/expansion/heredoc2.0 +++ b/bin/sh/tests/expansion/heredoc2.0 diff --git a/tools/regression/bin/sh/expansion/ifs1.0 b/bin/sh/tests/expansion/ifs1.0 index e7f53c7..e7f53c7 100644 --- a/tools/regression/bin/sh/expansion/ifs1.0 +++ b/bin/sh/tests/expansion/ifs1.0 diff --git a/tools/regression/bin/sh/expansion/ifs2.0 b/bin/sh/tests/expansion/ifs2.0 index e91b867..e91b867 100644 --- a/tools/regression/bin/sh/expansion/ifs2.0 +++ b/bin/sh/tests/expansion/ifs2.0 diff --git a/tools/regression/bin/sh/expansion/ifs3.0 b/bin/sh/tests/expansion/ifs3.0 index 0569b57..0569b57 100644 --- a/tools/regression/bin/sh/expansion/ifs3.0 +++ b/bin/sh/tests/expansion/ifs3.0 diff --git a/tools/regression/bin/sh/expansion/ifs4.0 b/bin/sh/tests/expansion/ifs4.0 index 5b896a2..5b896a2 100644 --- a/tools/regression/bin/sh/expansion/ifs4.0 +++ b/bin/sh/tests/expansion/ifs4.0 diff --git a/tools/regression/bin/sh/expansion/length1.0 b/bin/sh/tests/expansion/length1.0 index 2aaebf9..2aaebf9 100644 --- a/tools/regression/bin/sh/expansion/length1.0 +++ b/bin/sh/tests/expansion/length1.0 diff --git a/tools/regression/bin/sh/expansion/length2.0 b/bin/sh/tests/expansion/length2.0 index d749b51..d749b51 100644 --- a/tools/regression/bin/sh/expansion/length2.0 +++ b/bin/sh/tests/expansion/length2.0 diff --git a/tools/regression/bin/sh/expansion/length3.0 b/bin/sh/tests/expansion/length3.0 index 2093eed..2093eed 100644 --- a/tools/regression/bin/sh/expansion/length3.0 +++ b/bin/sh/tests/expansion/length3.0 diff --git a/tools/regression/bin/sh/expansion/length4.0 b/bin/sh/tests/expansion/length4.0 index 5348be5..5348be5 100644 --- a/tools/regression/bin/sh/expansion/length4.0 +++ b/bin/sh/tests/expansion/length4.0 diff --git a/tools/regression/bin/sh/expansion/length5.0 b/bin/sh/tests/expansion/length5.0 index 322ca16..322ca16 100644 --- a/tools/regression/bin/sh/expansion/length5.0 +++ b/bin/sh/tests/expansion/length5.0 diff --git a/tools/regression/bin/sh/expansion/length6.0 b/bin/sh/tests/expansion/length6.0 index 6b78309..6b78309 100644 --- a/tools/regression/bin/sh/expansion/length6.0 +++ b/bin/sh/tests/expansion/length6.0 diff --git a/tools/regression/bin/sh/expansion/length7.0 b/bin/sh/tests/expansion/length7.0 index b79b116..b79b116 100644 --- a/tools/regression/bin/sh/expansion/length7.0 +++ b/bin/sh/tests/expansion/length7.0 diff --git a/tools/regression/bin/sh/expansion/length8.0 b/bin/sh/tests/expansion/length8.0 index 3cc6c15..3cc6c15 100644 --- a/tools/regression/bin/sh/expansion/length8.0 +++ b/bin/sh/tests/expansion/length8.0 diff --git a/tools/regression/bin/sh/expansion/local1.0 b/bin/sh/tests/expansion/local1.0 index 3477835..3477835 100644 --- a/tools/regression/bin/sh/expansion/local1.0 +++ b/bin/sh/tests/expansion/local1.0 diff --git a/tools/regression/bin/sh/expansion/local2.0 b/bin/sh/tests/expansion/local2.0 index 1984290..1984290 100644 --- a/tools/regression/bin/sh/expansion/local2.0 +++ b/bin/sh/tests/expansion/local2.0 diff --git a/tools/regression/bin/sh/expansion/pathname1.0 b/bin/sh/tests/expansion/pathname1.0 index 8c6b01c..8c6b01c 100644 --- a/tools/regression/bin/sh/expansion/pathname1.0 +++ b/bin/sh/tests/expansion/pathname1.0 diff --git a/tools/regression/bin/sh/expansion/pathname2.0 b/bin/sh/tests/expansion/pathname2.0 index 8a884ff..8a884ff 100644 --- a/tools/regression/bin/sh/expansion/pathname2.0 +++ b/bin/sh/tests/expansion/pathname2.0 diff --git a/tools/regression/bin/sh/expansion/pathname3.0 b/bin/sh/tests/expansion/pathname3.0 index d1672e0..d1672e0 100644 --- a/tools/regression/bin/sh/expansion/pathname3.0 +++ b/bin/sh/tests/expansion/pathname3.0 diff --git a/tools/regression/bin/sh/expansion/pathname4.0 b/bin/sh/tests/expansion/pathname4.0 index 18269c4..18269c4 100644 --- a/tools/regression/bin/sh/expansion/pathname4.0 +++ b/bin/sh/tests/expansion/pathname4.0 diff --git a/tools/regression/bin/sh/expansion/plus-minus1.0 b/bin/sh/tests/expansion/plus-minus1.0 index 9a6a53a..9a6a53a 100644 --- a/tools/regression/bin/sh/expansion/plus-minus1.0 +++ b/bin/sh/tests/expansion/plus-minus1.0 diff --git a/tools/regression/bin/sh/expansion/plus-minus2.0 b/bin/sh/tests/expansion/plus-minus2.0 index f5a8752..f5a8752 100644 --- a/tools/regression/bin/sh/expansion/plus-minus2.0 +++ b/bin/sh/tests/expansion/plus-minus2.0 diff --git a/tools/regression/bin/sh/expansion/plus-minus3.0 b/bin/sh/tests/expansion/plus-minus3.0 index 49fcdc2..49fcdc2 100644 --- a/tools/regression/bin/sh/expansion/plus-minus3.0 +++ b/bin/sh/tests/expansion/plus-minus3.0 diff --git a/tools/regression/bin/sh/expansion/plus-minus4.0 b/bin/sh/tests/expansion/plus-minus4.0 index 66dea38..66dea38 100644 --- a/tools/regression/bin/sh/expansion/plus-minus4.0 +++ b/bin/sh/tests/expansion/plus-minus4.0 diff --git a/tools/regression/bin/sh/expansion/plus-minus5.0 b/bin/sh/tests/expansion/plus-minus5.0 index 0b25e53..0b25e53 100644 --- a/tools/regression/bin/sh/expansion/plus-minus5.0 +++ b/bin/sh/tests/expansion/plus-minus5.0 diff --git a/tools/regression/bin/sh/expansion/plus-minus6.0 b/bin/sh/tests/expansion/plus-minus6.0 index bc66805..bc66805 100644 --- a/tools/regression/bin/sh/expansion/plus-minus6.0 +++ b/bin/sh/tests/expansion/plus-minus6.0 diff --git a/tools/regression/bin/sh/expansion/plus-minus7.0 b/bin/sh/tests/expansion/plus-minus7.0 index 9e81f58..9e81f58 100644 --- a/tools/regression/bin/sh/expansion/plus-minus7.0 +++ b/bin/sh/tests/expansion/plus-minus7.0 diff --git a/tools/regression/bin/sh/expansion/plus-minus8.0 b/bin/sh/tests/expansion/plus-minus8.0 index beba009..beba009 100644 --- a/tools/regression/bin/sh/expansion/plus-minus8.0 +++ b/bin/sh/tests/expansion/plus-minus8.0 diff --git a/tools/regression/bin/sh/expansion/question1.0 b/bin/sh/tests/expansion/question1.0 index 663c68d..663c68d 100644 --- a/tools/regression/bin/sh/expansion/question1.0 +++ b/bin/sh/tests/expansion/question1.0 diff --git a/tools/regression/bin/sh/expansion/readonly1.0 b/bin/sh/tests/expansion/readonly1.0 index 5ad0e14..5ad0e14 100644 --- a/tools/regression/bin/sh/expansion/readonly1.0 +++ b/bin/sh/tests/expansion/readonly1.0 diff --git a/tools/regression/bin/sh/expansion/set-u1.0 b/bin/sh/tests/expansion/set-u1.0 index 763eb7d..763eb7d 100644 --- a/tools/regression/bin/sh/expansion/set-u1.0 +++ b/bin/sh/tests/expansion/set-u1.0 diff --git a/tools/regression/bin/sh/expansion/set-u2.0 b/bin/sh/tests/expansion/set-u2.0 index f81aa62..f81aa62 100644 --- a/tools/regression/bin/sh/expansion/set-u2.0 +++ b/bin/sh/tests/expansion/set-u2.0 diff --git a/tools/regression/bin/sh/expansion/set-u3.0 b/bin/sh/tests/expansion/set-u3.0 index 7f199b4..7f199b4 100644 --- a/tools/regression/bin/sh/expansion/set-u3.0 +++ b/bin/sh/tests/expansion/set-u3.0 diff --git a/tools/regression/bin/sh/expansion/tilde1.0 b/bin/sh/tests/expansion/tilde1.0 index 7d8581b..7d8581b 100644 --- a/tools/regression/bin/sh/expansion/tilde1.0 +++ b/bin/sh/tests/expansion/tilde1.0 diff --git a/tools/regression/bin/sh/expansion/tilde2.0 b/bin/sh/tests/expansion/tilde2.0 index 4f8ed9b..4f8ed9b 100644 --- a/tools/regression/bin/sh/expansion/tilde2.0 +++ b/bin/sh/tests/expansion/tilde2.0 diff --git a/tools/regression/bin/sh/expansion/trim1.0 b/bin/sh/tests/expansion/trim1.0 index b548e52..b548e52 100644 --- a/tools/regression/bin/sh/expansion/trim1.0 +++ b/bin/sh/tests/expansion/trim1.0 diff --git a/tools/regression/bin/sh/expansion/trim2.0 b/bin/sh/tests/expansion/trim2.0 index 619ef65..619ef65 100644 --- a/tools/regression/bin/sh/expansion/trim2.0 +++ b/bin/sh/tests/expansion/trim2.0 diff --git a/tools/regression/bin/sh/expansion/trim3.0 b/bin/sh/tests/expansion/trim3.0 index b89a041..b89a041 100644 --- a/tools/regression/bin/sh/expansion/trim3.0 +++ b/bin/sh/tests/expansion/trim3.0 diff --git a/tools/regression/bin/sh/expansion/trim4.0 b/bin/sh/tests/expansion/trim4.0 index 1000bd3..1000bd3 100644 --- a/tools/regression/bin/sh/expansion/trim4.0 +++ b/bin/sh/tests/expansion/trim4.0 diff --git a/tools/regression/bin/sh/expansion/trim5.0 b/bin/sh/tests/expansion/trim5.0 index 937ec9a..937ec9a 100644 --- a/tools/regression/bin/sh/expansion/trim5.0 +++ b/bin/sh/tests/expansion/trim5.0 diff --git a/tools/regression/bin/sh/expansion/trim6.0 b/bin/sh/tests/expansion/trim6.0 index 3f753c4..3f753c4 100644 --- a/tools/regression/bin/sh/expansion/trim6.0 +++ b/bin/sh/tests/expansion/trim6.0 diff --git a/tools/regression/bin/sh/expansion/trim7.0 b/bin/sh/tests/expansion/trim7.0 index 352bdea..352bdea 100644 --- a/tools/regression/bin/sh/expansion/trim7.0 +++ b/bin/sh/tests/expansion/trim7.0 diff --git a/tools/regression/bin/sh/expansion/trim8.0 b/bin/sh/tests/expansion/trim8.0 index f7272f3..f7272f3 100644 --- a/tools/regression/bin/sh/expansion/trim8.0 +++ b/bin/sh/tests/expansion/trim8.0 diff --git a/tools/regression/bin/sh/regress.sh b/bin/sh/tests/legacy_test.sh index 60e5805..d43f5dd 100644 --- a/tools/regression/bin/sh/regress.sh +++ b/bin/sh/tests/legacy_test.sh @@ -1,10 +1,13 @@ # $FreeBSD$ -if [ -z "${SH}" ]; then - echo '${SH} is not set, please correct and re-run.' - exit 1 -fi -export SH=${SH} +: ${SH:="__SH__"} +export SH + +# TODO(jmmv): The Kyua TAP interface should be passing us the value of +# "srcdir" as an environment variable, just as it does with the ATF +# interface in the form of a configuration variable. For now, just try +# to guess this. +: ${TESTS_DATA:=$(dirname ${0})} COUNTER=1 @@ -17,6 +20,7 @@ do_test() { rm tmp.stdout tmp.stderr return fi + sed -I '' -e "s|^${TESTS_DATA}|.|" tmp.stderr for i in stdout stderr; do if [ -f ${1}.${i} ]; then if ! cmp -s tmp.${i} ${1}.${i}; then @@ -34,7 +38,7 @@ do_test() { rm tmp.stdout tmp.stderr } -TESTS=$(find -Es . -regex ".*\.[0-9]+") +TESTS=$(find -Es ${TESTS_DATA} -regex ".*\.[0-9]+") printf "1..%d\n" $(echo ${TESTS} | wc -w) for i in ${TESTS} ; do diff --git a/bin/sh/tests/parameters/Makefile b/bin/sh/tests/parameters/Makefile new file mode 100644 index 0000000..fafc059 --- /dev/null +++ b/bin/sh/tests/parameters/Makefile @@ -0,0 +1,19 @@ +# $FreeBSD$ + +.include <bsd.own.mk> + +FILESDIR= ${TESTSBASE}/bin/sh/parameters +KYUAFILE= no + +FILES= env1.0 +FILES+= exitstatus1.0 +FILES+= mail1.0 +FILES+= mail2.0 +FILES+= optind1.0 +FILES+= optind2.0 +FILES+= positional1.0 +FILES+= positional2.0 +FILES+= pwd1.0 +FILES+= pwd2.0 + +.include <bsd.test.mk> diff --git a/tools/regression/bin/sh/parameters/env1.0 b/bin/sh/tests/parameters/env1.0 index c0d4a2c..c0d4a2c 100644 --- a/tools/regression/bin/sh/parameters/env1.0 +++ b/bin/sh/tests/parameters/env1.0 diff --git a/tools/regression/bin/sh/parameters/exitstatus1.0 b/bin/sh/tests/parameters/exitstatus1.0 index 696823d..696823d 100644 --- a/tools/regression/bin/sh/parameters/exitstatus1.0 +++ b/bin/sh/tests/parameters/exitstatus1.0 diff --git a/tools/regression/bin/sh/parameters/mail1.0 b/bin/sh/tests/parameters/mail1.0 index 5791a5a..5791a5a 100644 --- a/tools/regression/bin/sh/parameters/mail1.0 +++ b/bin/sh/tests/parameters/mail1.0 diff --git a/tools/regression/bin/sh/parameters/mail2.0 b/bin/sh/tests/parameters/mail2.0 index 343c99d..343c99d 100644 --- a/tools/regression/bin/sh/parameters/mail2.0 +++ b/bin/sh/tests/parameters/mail2.0 diff --git a/tools/regression/bin/sh/parameters/optind1.0 b/bin/sh/tests/parameters/optind1.0 index 33e0288..33e0288 100644 --- a/tools/regression/bin/sh/parameters/optind1.0 +++ b/bin/sh/tests/parameters/optind1.0 diff --git a/bin/sh/tests/parameters/optind2.0 b/bin/sh/tests/parameters/optind2.0 new file mode 100644 index 0000000..a7689f6 --- /dev/null +++ b/bin/sh/tests/parameters/optind2.0 @@ -0,0 +1,3 @@ +# $FreeBSD$ + +[ "$(OPTIND=42 ${SH} -c 'printf %s "$OPTIND"')" = 1 ] diff --git a/tools/regression/bin/sh/parameters/positional1.0 b/bin/sh/tests/parameters/positional1.0 index 67d1951..67d1951 100644 --- a/tools/regression/bin/sh/parameters/positional1.0 +++ b/bin/sh/tests/parameters/positional1.0 diff --git a/tools/regression/bin/sh/parameters/positional2.0 b/bin/sh/tests/parameters/positional2.0 index fcec2a4..fcec2a4 100644 --- a/tools/regression/bin/sh/parameters/positional2.0 +++ b/bin/sh/tests/parameters/positional2.0 diff --git a/tools/regression/bin/sh/parameters/pwd1.0 b/bin/sh/tests/parameters/pwd1.0 index 0099379..0099379 100644 --- a/tools/regression/bin/sh/parameters/pwd1.0 +++ b/bin/sh/tests/parameters/pwd1.0 diff --git a/tools/regression/bin/sh/parameters/pwd2.0 b/bin/sh/tests/parameters/pwd2.0 index 2297f8b..2297f8b 100644 --- a/tools/regression/bin/sh/parameters/pwd2.0 +++ b/bin/sh/tests/parameters/pwd2.0 diff --git a/bin/sh/tests/parser/Makefile b/bin/sh/tests/parser/Makefile new file mode 100644 index 0000000..03650b1 --- /dev/null +++ b/bin/sh/tests/parser/Makefile @@ -0,0 +1,64 @@ +# $FreeBSD$ + +.include <bsd.own.mk> + +FILESDIR= ${TESTSBASE}/bin/sh/parser +KYUAFILE= no + +FILES= alias1.0 +FILES+= alias2.0 +FILES+= alias3.0 +FILES+= alias4.0 +FILES+= alias5.0 +FILES+= alias6.0 +FILES+= alias7.0 +FILES+= alias8.0 +FILES+= alias9.0 +FILES+= alias10.0 +FILES+= alias11.0 +FILES+= alias12.0 +FILES+= alias13.0 +FILES+= alias14.0 +FILES+= alias15.0 alias15.0.stdout +FILES+= and-pipe-not.0 +FILES+= case1.0 +FILES+= case2.0 +FILES+= dollar-quote1.0 +FILES+= dollar-quote2.0 +FILES+= dollar-quote3.0 +FILES+= dollar-quote4.0 +FILES+= dollar-quote5.0 +FILES+= dollar-quote6.0 +FILES+= dollar-quote7.0 +FILES+= dollar-quote8.0 +FILES+= dollar-quote9.0 +FILES+= dollar-quote10.0 +FILES+= dollar-quote11.0 +FILES+= empty-braces1.0 +FILES+= empty-cmd1.0 +FILES+= for1.0 +FILES+= for2.0 +FILES+= func1.0 +FILES+= func2.0 +FILES+= func3.0 +FILES+= heredoc1.0 +FILES+= heredoc2.0 +FILES+= heredoc3.0 +FILES+= heredoc4.0 +FILES+= heredoc5.0 +FILES+= heredoc6.0 +FILES+= heredoc7.0 +FILES+= heredoc8.0 +FILES+= heredoc9.0 +FILES+= heredoc10.0 +FILES+= heredoc11.0 +FILES+= no-space1.0 +FILES+= no-space2.0 +FILES+= only-redir1.0 +FILES+= only-redir2.0 +FILES+= only-redir3.0 +FILES+= only-redir4.0 +FILES+= pipe-not1.0 +FILES+= var-assign1.0 + +.include <bsd.test.mk> diff --git a/tools/regression/bin/sh/parser/alias1.0 b/bin/sh/tests/parser/alias1.0 index 75dd9ab..75dd9ab 100644 --- a/tools/regression/bin/sh/parser/alias1.0 +++ b/bin/sh/tests/parser/alias1.0 diff --git a/tools/regression/bin/sh/parser/alias10.0 b/bin/sh/tests/parser/alias10.0 index 30d99f4..30d99f4 100644 --- a/tools/regression/bin/sh/parser/alias10.0 +++ b/bin/sh/tests/parser/alias10.0 diff --git a/bin/sh/tests/parser/alias11.0 b/bin/sh/tests/parser/alias11.0 new file mode 100644 index 0000000..522264f --- /dev/null +++ b/bin/sh/tests/parser/alias11.0 @@ -0,0 +1,6 @@ +# $FreeBSD$ + +alias alias0=alias1 +alias alias1=exit +eval 'alias0 0' +exit 3 diff --git a/bin/sh/tests/parser/alias12.0 b/bin/sh/tests/parser/alias12.0 new file mode 100644 index 0000000..2e43791 --- /dev/null +++ b/bin/sh/tests/parser/alias12.0 @@ -0,0 +1,6 @@ +# $FreeBSD$ + +unalias -a +alias alias0=command +alias true='echo bad' +eval 'alias0 true' diff --git a/bin/sh/tests/parser/alias13.0 b/bin/sh/tests/parser/alias13.0 new file mode 100644 index 0000000..53b949d --- /dev/null +++ b/bin/sh/tests/parser/alias13.0 @@ -0,0 +1,6 @@ +# $FreeBSD$ + +unalias -a +alias command=command +alias true='echo bad' +eval 'command true' diff --git a/bin/sh/tests/parser/alias14.0 b/bin/sh/tests/parser/alias14.0 new file mode 100644 index 0000000..1b92fc0 --- /dev/null +++ b/bin/sh/tests/parser/alias14.0 @@ -0,0 +1,6 @@ +# $FreeBSD$ + +alias command='command ' +alias alias0=exit +eval 'command alias0 0' +exit 3 diff --git a/bin/sh/tests/parser/alias15.0 b/bin/sh/tests/parser/alias15.0 new file mode 100644 index 0000000..f0fbadb --- /dev/null +++ b/bin/sh/tests/parser/alias15.0 @@ -0,0 +1,12 @@ +# $FreeBSD$ + +f_echoanddo() { + printf '%s\n' "$*" + "$@" +} + +alias echoanddo='f_echoanddo ' +alias alias0='echo test2' +eval 'echoanddo echo test1' +eval 'echoanddo alias0' +exit 0 diff --git a/bin/sh/tests/parser/alias15.0.stdout b/bin/sh/tests/parser/alias15.0.stdout new file mode 100644 index 0000000..6dd179c --- /dev/null +++ b/bin/sh/tests/parser/alias15.0.stdout @@ -0,0 +1,4 @@ +echo test1 +test1 +echo test2 +test2 diff --git a/tools/regression/bin/sh/parser/alias2.0 b/bin/sh/tests/parser/alias2.0 index ae99b8a..ae99b8a 100644 --- a/tools/regression/bin/sh/parser/alias2.0 +++ b/bin/sh/tests/parser/alias2.0 diff --git a/tools/regression/bin/sh/parser/alias3.0 b/bin/sh/tests/parser/alias3.0 index e0721e2..e0721e2 100644 --- a/tools/regression/bin/sh/parser/alias3.0 +++ b/bin/sh/tests/parser/alias3.0 diff --git a/tools/regression/bin/sh/parser/alias4.0 b/bin/sh/tests/parser/alias4.0 index 19332ed..19332ed 100644 --- a/tools/regression/bin/sh/parser/alias4.0 +++ b/bin/sh/tests/parser/alias4.0 diff --git a/tools/regression/bin/sh/parser/alias5.0 b/bin/sh/tests/parser/alias5.0 index 3d0205f..3d0205f 100644 --- a/tools/regression/bin/sh/parser/alias5.0 +++ b/bin/sh/tests/parser/alias5.0 diff --git a/tools/regression/bin/sh/parser/alias6.0 b/bin/sh/tests/parser/alias6.0 index c723d08..c723d08 100644 --- a/tools/regression/bin/sh/parser/alias6.0 +++ b/bin/sh/tests/parser/alias6.0 diff --git a/tools/regression/bin/sh/parser/alias7.0 b/bin/sh/tests/parser/alias7.0 index b26f0dd..b26f0dd 100644 --- a/tools/regression/bin/sh/parser/alias7.0 +++ b/bin/sh/tests/parser/alias7.0 diff --git a/tools/regression/bin/sh/parser/alias8.0 b/bin/sh/tests/parser/alias8.0 index 7fc2f15..7fc2f15 100644 --- a/tools/regression/bin/sh/parser/alias8.0 +++ b/bin/sh/tests/parser/alias8.0 diff --git a/tools/regression/bin/sh/parser/alias9.0 b/bin/sh/tests/parser/alias9.0 index 6bd8808..6bd8808 100644 --- a/tools/regression/bin/sh/parser/alias9.0 +++ b/bin/sh/tests/parser/alias9.0 diff --git a/tools/regression/bin/sh/parser/and-pipe-not.0 b/bin/sh/tests/parser/and-pipe-not.0 index 35b125c..35b125c 100644 --- a/tools/regression/bin/sh/parser/and-pipe-not.0 +++ b/bin/sh/tests/parser/and-pipe-not.0 diff --git a/tools/regression/bin/sh/parser/case1.0 b/bin/sh/tests/parser/case1.0 index 49b4c45..49b4c45 100644 --- a/tools/regression/bin/sh/parser/case1.0 +++ b/bin/sh/tests/parser/case1.0 diff --git a/tools/regression/bin/sh/parser/case2.0 b/bin/sh/tests/parser/case2.0 index 14610e4..14610e4 100644 --- a/tools/regression/bin/sh/parser/case2.0 +++ b/bin/sh/tests/parser/case2.0 diff --git a/tools/regression/bin/sh/parser/dollar-quote1.0 b/bin/sh/tests/parser/dollar-quote1.0 index 1206141..1206141 100644 --- a/tools/regression/bin/sh/parser/dollar-quote1.0 +++ b/bin/sh/tests/parser/dollar-quote1.0 diff --git a/tools/regression/bin/sh/parser/dollar-quote10.0 b/bin/sh/tests/parser/dollar-quote10.0 index ad166da..ad166da 100644 --- a/tools/regression/bin/sh/parser/dollar-quote10.0 +++ b/bin/sh/tests/parser/dollar-quote10.0 diff --git a/tools/regression/bin/sh/parser/dollar-quote11.0 b/bin/sh/tests/parser/dollar-quote11.0 index 2e872ab..2e872ab 100644 --- a/tools/regression/bin/sh/parser/dollar-quote11.0 +++ b/bin/sh/tests/parser/dollar-quote11.0 diff --git a/tools/regression/bin/sh/parser/dollar-quote2.0 b/bin/sh/tests/parser/dollar-quote2.0 index 4617ed8..4617ed8 100644 --- a/tools/regression/bin/sh/parser/dollar-quote2.0 +++ b/bin/sh/tests/parser/dollar-quote2.0 diff --git a/tools/regression/bin/sh/parser/dollar-quote3.0 b/bin/sh/tests/parser/dollar-quote3.0 index a7e6852..a7e6852 100644 --- a/tools/regression/bin/sh/parser/dollar-quote3.0 +++ b/bin/sh/tests/parser/dollar-quote3.0 diff --git a/tools/regression/bin/sh/parser/dollar-quote4.0 b/bin/sh/tests/parser/dollar-quote4.0 index f620af5..f620af5 100644 --- a/tools/regression/bin/sh/parser/dollar-quote4.0 +++ b/bin/sh/tests/parser/dollar-quote4.0 diff --git a/tools/regression/bin/sh/parser/dollar-quote5.0 b/bin/sh/tests/parser/dollar-quote5.0 index c2c44ca..c2c44ca 100644 --- a/tools/regression/bin/sh/parser/dollar-quote5.0 +++ b/bin/sh/tests/parser/dollar-quote5.0 diff --git a/tools/regression/bin/sh/parser/dollar-quote6.0 b/bin/sh/tests/parser/dollar-quote6.0 index a4b1e3f..a4b1e3f 100644 --- a/tools/regression/bin/sh/parser/dollar-quote6.0 +++ b/bin/sh/tests/parser/dollar-quote6.0 diff --git a/tools/regression/bin/sh/parser/dollar-quote7.0 b/bin/sh/tests/parser/dollar-quote7.0 index c866b1a..c866b1a 100644 --- a/tools/regression/bin/sh/parser/dollar-quote7.0 +++ b/bin/sh/tests/parser/dollar-quote7.0 diff --git a/tools/regression/bin/sh/parser/dollar-quote8.0 b/bin/sh/tests/parser/dollar-quote8.0 index 8f0b41a..8f0b41a 100644 --- a/tools/regression/bin/sh/parser/dollar-quote8.0 +++ b/bin/sh/tests/parser/dollar-quote8.0 diff --git a/tools/regression/bin/sh/parser/dollar-quote9.0 b/bin/sh/tests/parser/dollar-quote9.0 index df64b7d..df64b7d 100644 --- a/tools/regression/bin/sh/parser/dollar-quote9.0 +++ b/bin/sh/tests/parser/dollar-quote9.0 diff --git a/tools/regression/bin/sh/parser/empty-braces1.0 b/bin/sh/tests/parser/empty-braces1.0 index 5ab443c..5ab443c 100644 --- a/tools/regression/bin/sh/parser/empty-braces1.0 +++ b/bin/sh/tests/parser/empty-braces1.0 diff --git a/tools/regression/bin/sh/parser/empty-cmd1.0 b/bin/sh/tests/parser/empty-cmd1.0 index f8b01e9..f8b01e9 100644 --- a/tools/regression/bin/sh/parser/empty-cmd1.0 +++ b/bin/sh/tests/parser/empty-cmd1.0 diff --git a/tools/regression/bin/sh/parser/for1.0 b/bin/sh/tests/parser/for1.0 index eb7c881..eb7c881 100644 --- a/tools/regression/bin/sh/parser/for1.0 +++ b/bin/sh/tests/parser/for1.0 diff --git a/tools/regression/bin/sh/parser/for2.0 b/bin/sh/tests/parser/for2.0 index 54ebfc3..54ebfc3 100644 --- a/tools/regression/bin/sh/parser/for2.0 +++ b/bin/sh/tests/parser/for2.0 diff --git a/tools/regression/bin/sh/parser/func1.0 b/bin/sh/tests/parser/func1.0 index 4e887b2..4e887b2 100644 --- a/tools/regression/bin/sh/parser/func1.0 +++ b/bin/sh/tests/parser/func1.0 diff --git a/tools/regression/bin/sh/parser/func2.0 b/bin/sh/tests/parser/func2.0 index 5fd4dda..5fd4dda 100644 --- a/tools/regression/bin/sh/parser/func2.0 +++ b/bin/sh/tests/parser/func2.0 diff --git a/tools/regression/bin/sh/parser/func3.0 b/bin/sh/tests/parser/func3.0 index dcac732..dcac732 100644 --- a/tools/regression/bin/sh/parser/func3.0 +++ b/bin/sh/tests/parser/func3.0 diff --git a/tools/regression/bin/sh/parser/heredoc1.0 b/bin/sh/tests/parser/heredoc1.0 index 5ce3897..5ce3897 100644 --- a/tools/regression/bin/sh/parser/heredoc1.0 +++ b/bin/sh/tests/parser/heredoc1.0 diff --git a/tools/regression/bin/sh/parser/heredoc10.0 b/bin/sh/tests/parser/heredoc10.0 index 27369a0..27369a0 100644 --- a/tools/regression/bin/sh/parser/heredoc10.0 +++ b/bin/sh/tests/parser/heredoc10.0 diff --git a/tools/regression/bin/sh/parser/heredoc11.0 b/bin/sh/tests/parser/heredoc11.0 index 5839e46..5839e46 100644 --- a/tools/regression/bin/sh/parser/heredoc11.0 +++ b/bin/sh/tests/parser/heredoc11.0 diff --git a/tools/regression/bin/sh/parser/heredoc2.0 b/bin/sh/tests/parser/heredoc2.0 index 4bb85ad..4bb85ad 100644 --- a/tools/regression/bin/sh/parser/heredoc2.0 +++ b/bin/sh/tests/parser/heredoc2.0 diff --git a/tools/regression/bin/sh/parser/heredoc3.0 b/bin/sh/tests/parser/heredoc3.0 index b250272..b250272 100644 --- a/tools/regression/bin/sh/parser/heredoc3.0 +++ b/bin/sh/tests/parser/heredoc3.0 diff --git a/tools/regression/bin/sh/parser/heredoc4.0 b/bin/sh/tests/parser/heredoc4.0 index fa3af5f..fa3af5f 100644 --- a/tools/regression/bin/sh/parser/heredoc4.0 +++ b/bin/sh/tests/parser/heredoc4.0 diff --git a/tools/regression/bin/sh/parser/heredoc5.0 b/bin/sh/tests/parser/heredoc5.0 index 84b0eb2..84b0eb2 100644 --- a/tools/regression/bin/sh/parser/heredoc5.0 +++ b/bin/sh/tests/parser/heredoc5.0 diff --git a/tools/regression/bin/sh/parser/heredoc6.0 b/bin/sh/tests/parser/heredoc6.0 index 3a634de..3a634de 100644 --- a/tools/regression/bin/sh/parser/heredoc6.0 +++ b/bin/sh/tests/parser/heredoc6.0 diff --git a/tools/regression/bin/sh/parser/heredoc7.0 b/bin/sh/tests/parser/heredoc7.0 index a150106..a150106 100644 --- a/tools/regression/bin/sh/parser/heredoc7.0 +++ b/bin/sh/tests/parser/heredoc7.0 diff --git a/tools/regression/bin/sh/parser/heredoc8.0 b/bin/sh/tests/parser/heredoc8.0 index 598358a..598358a 100644 --- a/tools/regression/bin/sh/parser/heredoc8.0 +++ b/bin/sh/tests/parser/heredoc8.0 diff --git a/tools/regression/bin/sh/parser/heredoc9.0 b/bin/sh/tests/parser/heredoc9.0 index 125a542..125a542 100644 --- a/tools/regression/bin/sh/parser/heredoc9.0 +++ b/bin/sh/tests/parser/heredoc9.0 diff --git a/tools/regression/bin/sh/parser/no-space1.0 b/bin/sh/tests/parser/no-space1.0 index 6df9f63..6df9f63 100644 --- a/tools/regression/bin/sh/parser/no-space1.0 +++ b/bin/sh/tests/parser/no-space1.0 diff --git a/tools/regression/bin/sh/parser/no-space2.0 b/bin/sh/tests/parser/no-space2.0 index 4e8447b..4e8447b 100644 --- a/tools/regression/bin/sh/parser/no-space2.0 +++ b/bin/sh/tests/parser/no-space2.0 diff --git a/tools/regression/bin/sh/parser/only-redir1.0 b/bin/sh/tests/parser/only-redir1.0 index 46076c8..46076c8 100644 --- a/tools/regression/bin/sh/parser/only-redir1.0 +++ b/bin/sh/tests/parser/only-redir1.0 diff --git a/tools/regression/bin/sh/parser/only-redir2.0 b/bin/sh/tests/parser/only-redir2.0 index b9e9501..b9e9501 100644 --- a/tools/regression/bin/sh/parser/only-redir2.0 +++ b/bin/sh/tests/parser/only-redir2.0 diff --git a/tools/regression/bin/sh/parser/only-redir3.0 b/bin/sh/tests/parser/only-redir3.0 index 128a483..128a483 100644 --- a/tools/regression/bin/sh/parser/only-redir3.0 +++ b/bin/sh/tests/parser/only-redir3.0 diff --git a/tools/regression/bin/sh/parser/only-redir4.0 b/bin/sh/tests/parser/only-redir4.0 index d804e12..d804e12 100644 --- a/tools/regression/bin/sh/parser/only-redir4.0 +++ b/bin/sh/tests/parser/only-redir4.0 diff --git a/tools/regression/bin/sh/parser/pipe-not1.0 b/bin/sh/tests/parser/pipe-not1.0 index 9842ff0..9842ff0 100644 --- a/tools/regression/bin/sh/parser/pipe-not1.0 +++ b/bin/sh/tests/parser/pipe-not1.0 diff --git a/bin/sh/tests/parser/var-assign1.0 b/bin/sh/tests/parser/var-assign1.0 new file mode 100644 index 0000000..1fd3b26 --- /dev/null +++ b/bin/sh/tests/parser/var-assign1.0 @@ -0,0 +1,19 @@ +# $FreeBSD$ +# In a variable assignment, both the name and the equals sign must be entirely +# unquoted. Therefore, there is only one assignment below; the other words +# containing equals signs are command words. + +abc=0 +\abc=1 2>/dev/null +a\bc=2 2>/dev/null +abc\=3 2>/dev/null +a\bc\=4 2>/dev/null +'abc'=5 2>/dev/null +a'b'c=6 2>/dev/null +abc'='7 2>/dev/null +'abc=8' 2>/dev/null +"abc"=9 2>/dev/null +a"b"c=10 2>/dev/null +abc"="11 2>/dev/null +"abc=12" 2>/dev/null +[ "$abc" = 0 ] diff --git a/bin/sh/tests/set-e/Makefile b/bin/sh/tests/set-e/Makefile new file mode 100644 index 0000000..55d7917 --- /dev/null +++ b/bin/sh/tests/set-e/Makefile @@ -0,0 +1,44 @@ +# $FreeBSD$ + +.include <bsd.own.mk> + +FILESDIR= ${TESTSBASE}/bin/sh/set-e +KYUAFILE= no + +FILES= and1.0 +FILES+= and2.1 +FILES+= and3.0 +FILES+= and4.0 +FILES+= background1.0 +FILES+= cmd1.0 +FILES+= cmd2.1 +FILES+= elif1.0 +FILES+= elif2.0 +FILES+= eval1.0 +FILES+= eval2.1 +FILES+= for1.0 +FILES+= func1.0 +FILES+= func2.1 +FILES+= if1.0 +FILES+= if2.0 +FILES+= if3.0 +FILES+= not1.0 +FILES+= not2.0 +FILES+= or1.0 +FILES+= or2.0 +FILES+= or3.1 +FILES+= pipe1.1 +FILES+= pipe2.0 +FILES+= return1.0 +FILES+= semi1.1 +FILES+= semi2.1 +FILES+= subshell1.0 +FILES+= subshell2.1 +FILES+= until1.0 +FILES+= until2.0 +FILES+= until3.0 +FILES+= while1.0 +FILES+= while2.0 +FILES+= while3.0 + +.include <bsd.test.mk> diff --git a/tools/regression/bin/sh/set-e/and1.0 b/bin/sh/tests/set-e/and1.0 index 607b7c3..607b7c3 100644 --- a/tools/regression/bin/sh/set-e/and1.0 +++ b/bin/sh/tests/set-e/and1.0 diff --git a/tools/regression/bin/sh/set-e/and2.1 b/bin/sh/tests/set-e/and2.1 index 78e203a..78e203a 100644 --- a/tools/regression/bin/sh/set-e/and2.1 +++ b/bin/sh/tests/set-e/and2.1 diff --git a/tools/regression/bin/sh/set-e/and3.0 b/bin/sh/tests/set-e/and3.0 index 9fafb1c..9fafb1c 100644 --- a/tools/regression/bin/sh/set-e/and3.0 +++ b/bin/sh/tests/set-e/and3.0 diff --git a/tools/regression/bin/sh/set-e/and4.0 b/bin/sh/tests/set-e/and4.0 index 25d0e61..25d0e61 100644 --- a/tools/regression/bin/sh/set-e/and4.0 +++ b/bin/sh/tests/set-e/and4.0 diff --git a/tools/regression/bin/sh/set-e/background1.0 b/bin/sh/tests/set-e/background1.0 index 21577f4..21577f4 100644 --- a/tools/regression/bin/sh/set-e/background1.0 +++ b/bin/sh/tests/set-e/background1.0 diff --git a/tools/regression/bin/sh/set-e/cmd1.0 b/bin/sh/tests/set-e/cmd1.0 index 67fdcbc..67fdcbc 100644 --- a/tools/regression/bin/sh/set-e/cmd1.0 +++ b/bin/sh/tests/set-e/cmd1.0 diff --git a/tools/regression/bin/sh/set-e/cmd2.1 b/bin/sh/tests/set-e/cmd2.1 index 7cd8b09..7cd8b09 100644 --- a/tools/regression/bin/sh/set-e/cmd2.1 +++ b/bin/sh/tests/set-e/cmd2.1 diff --git a/tools/regression/bin/sh/set-e/elif1.0 b/bin/sh/tests/set-e/elif1.0 index 6a5937d..6a5937d 100644 --- a/tools/regression/bin/sh/set-e/elif1.0 +++ b/bin/sh/tests/set-e/elif1.0 diff --git a/tools/regression/bin/sh/set-e/elif2.0 b/bin/sh/tests/set-e/elif2.0 index 9dbb4bf..9dbb4bf 100644 --- a/tools/regression/bin/sh/set-e/elif2.0 +++ b/bin/sh/tests/set-e/elif2.0 diff --git a/tools/regression/bin/sh/set-e/eval1.0 b/bin/sh/tests/set-e/eval1.0 index 9b7f67b..9b7f67b 100644 --- a/tools/regression/bin/sh/set-e/eval1.0 +++ b/bin/sh/tests/set-e/eval1.0 diff --git a/tools/regression/bin/sh/set-e/eval2.1 b/bin/sh/tests/set-e/eval2.1 index 8bb7f3a..8bb7f3a 100644 --- a/tools/regression/bin/sh/set-e/eval2.1 +++ b/bin/sh/tests/set-e/eval2.1 diff --git a/tools/regression/bin/sh/set-e/for1.0 b/bin/sh/tests/set-e/for1.0 index 67eb718..67eb718 100644 --- a/tools/regression/bin/sh/set-e/for1.0 +++ b/bin/sh/tests/set-e/for1.0 diff --git a/tools/regression/bin/sh/set-e/func1.0 b/bin/sh/tests/set-e/func1.0 index 3c6b704..3c6b704 100644 --- a/tools/regression/bin/sh/set-e/func1.0 +++ b/bin/sh/tests/set-e/func1.0 diff --git a/tools/regression/bin/sh/set-e/func2.1 b/bin/sh/tests/set-e/func2.1 index cc76d6e..cc76d6e 100644 --- a/tools/regression/bin/sh/set-e/func2.1 +++ b/bin/sh/tests/set-e/func2.1 diff --git a/tools/regression/bin/sh/set-e/if1.0 b/bin/sh/tests/set-e/if1.0 index 36aa4bd..36aa4bd 100644 --- a/tools/regression/bin/sh/set-e/if1.0 +++ b/bin/sh/tests/set-e/if1.0 diff --git a/tools/regression/bin/sh/set-e/if2.0 b/bin/sh/tests/set-e/if2.0 index 4955408..4955408 100644 --- a/tools/regression/bin/sh/set-e/if2.0 +++ b/bin/sh/tests/set-e/if2.0 diff --git a/tools/regression/bin/sh/set-e/if3.0 b/bin/sh/tests/set-e/if3.0 index a4916a8..a4916a8 100644 --- a/tools/regression/bin/sh/set-e/if3.0 +++ b/bin/sh/tests/set-e/if3.0 diff --git a/tools/regression/bin/sh/set-e/not1.0 b/bin/sh/tests/set-e/not1.0 index 21c089a..21c089a 100644 --- a/tools/regression/bin/sh/set-e/not1.0 +++ b/bin/sh/tests/set-e/not1.0 diff --git a/tools/regression/bin/sh/set-e/not2.0 b/bin/sh/tests/set-e/not2.0 index 7d93b4d..7d93b4d 100644 --- a/tools/regression/bin/sh/set-e/not2.0 +++ b/bin/sh/tests/set-e/not2.0 diff --git a/tools/regression/bin/sh/set-e/or1.0 b/bin/sh/tests/set-e/or1.0 index c2dcbe9..c2dcbe9 100644 --- a/tools/regression/bin/sh/set-e/or1.0 +++ b/bin/sh/tests/set-e/or1.0 diff --git a/tools/regression/bin/sh/set-e/or2.0 b/bin/sh/tests/set-e/or2.0 index 934e2a6..934e2a6 100644 --- a/tools/regression/bin/sh/set-e/or2.0 +++ b/bin/sh/tests/set-e/or2.0 diff --git a/tools/regression/bin/sh/set-e/or3.1 b/bin/sh/tests/set-e/or3.1 index 7a617a1..7a617a1 100644 --- a/tools/regression/bin/sh/set-e/or3.1 +++ b/bin/sh/tests/set-e/or3.1 diff --git a/tools/regression/bin/sh/set-e/pipe1.1 b/bin/sh/tests/set-e/pipe1.1 index c0bad0f..c0bad0f 100644 --- a/tools/regression/bin/sh/set-e/pipe1.1 +++ b/bin/sh/tests/set-e/pipe1.1 diff --git a/tools/regression/bin/sh/set-e/pipe2.0 b/bin/sh/tests/set-e/pipe2.0 index 1e25566..1e25566 100644 --- a/tools/regression/bin/sh/set-e/pipe2.0 +++ b/bin/sh/tests/set-e/pipe2.0 diff --git a/tools/regression/bin/sh/set-e/return1.0 b/bin/sh/tests/set-e/return1.0 index 961bd41..961bd41 100644 --- a/tools/regression/bin/sh/set-e/return1.0 +++ b/bin/sh/tests/set-e/return1.0 diff --git a/tools/regression/bin/sh/set-e/semi1.1 b/bin/sh/tests/set-e/semi1.1 index 90476a9..90476a9 100644 --- a/tools/regression/bin/sh/set-e/semi1.1 +++ b/bin/sh/tests/set-e/semi1.1 diff --git a/tools/regression/bin/sh/set-e/semi2.1 b/bin/sh/tests/set-e/semi2.1 index 8f510ac..8f510ac 100644 --- a/tools/regression/bin/sh/set-e/semi2.1 +++ b/bin/sh/tests/set-e/semi2.1 diff --git a/tools/regression/bin/sh/set-e/subshell1.0 b/bin/sh/tests/set-e/subshell1.0 index 8e5831b..8e5831b 100644 --- a/tools/regression/bin/sh/set-e/subshell1.0 +++ b/bin/sh/tests/set-e/subshell1.0 diff --git a/tools/regression/bin/sh/set-e/subshell2.1 b/bin/sh/tests/set-e/subshell2.1 index 619e98a..619e98a 100644 --- a/tools/regression/bin/sh/set-e/subshell2.1 +++ b/bin/sh/tests/set-e/subshell2.1 diff --git a/tools/regression/bin/sh/set-e/until1.0 b/bin/sh/tests/set-e/until1.0 index 71ea7f2..71ea7f2 100644 --- a/tools/regression/bin/sh/set-e/until1.0 +++ b/bin/sh/tests/set-e/until1.0 diff --git a/tools/regression/bin/sh/set-e/until2.0 b/bin/sh/tests/set-e/until2.0 index 24ea276..24ea276 100644 --- a/tools/regression/bin/sh/set-e/until2.0 +++ b/bin/sh/tests/set-e/until2.0 diff --git a/tools/regression/bin/sh/set-e/until3.0 b/bin/sh/tests/set-e/until3.0 index 597db59..597db59 100644 --- a/tools/regression/bin/sh/set-e/until3.0 +++ b/bin/sh/tests/set-e/until3.0 diff --git a/tools/regression/bin/sh/set-e/while1.0 b/bin/sh/tests/set-e/while1.0 index 371c94a..371c94a 100644 --- a/tools/regression/bin/sh/set-e/while1.0 +++ b/bin/sh/tests/set-e/while1.0 diff --git a/tools/regression/bin/sh/set-e/while2.0 b/bin/sh/tests/set-e/while2.0 index 124966c..124966c 100644 --- a/tools/regression/bin/sh/set-e/while2.0 +++ b/bin/sh/tests/set-e/while2.0 diff --git a/tools/regression/bin/sh/set-e/while3.0 b/bin/sh/tests/set-e/while3.0 index dd3c790..dd3c790 100644 --- a/tools/regression/bin/sh/set-e/while3.0 +++ b/bin/sh/tests/set-e/while3.0 diff --git a/bin/sh/trap.c b/bin/sh/trap.c index 3fc8566..e5a2a91 100644 --- a/bin/sh/trap.c +++ b/bin/sh/trap.c @@ -80,7 +80,6 @@ static char *volatile trap[NSIG]; /* trap handler commands */ static volatile sig_atomic_t gotsig[NSIG]; /* indicates specified signal received */ static int ignore_sigchld; /* Used while handling SIGCHLD traps. */ -volatile sig_atomic_t gotwinch; static int last_trapsig; static int exiting; /* exitshell() has been called */ @@ -293,12 +292,6 @@ setsignal(int signo) action = S_IGN; break; #endif -#ifndef NO_HISTORY - case SIGWINCH: - if (rootshell && iflag) - action = S_CATCH; - break; -#endif } } @@ -362,10 +355,12 @@ void ignoresig(int signo) { + if (sigmode[signo] == 0) + setsignal(signo); if (sigmode[signo] != S_IGN && sigmode[signo] != S_HARD_IGN) { signal(signo, SIG_IGN); + sigmode[signo] = S_IGN; } - sigmode[signo] = S_HARD_IGN; } @@ -398,11 +393,6 @@ onsig(int signo) gotsig[signo] = 1; pendingsig = signo; } - -#ifndef NO_HISTORY - if (signo == SIGWINCH) - gotwinch = 1; -#endif } @@ -488,9 +478,6 @@ setinteractive(int on) setsignal(SIGINT); setsignal(SIGQUIT); setsignal(SIGTERM); -#ifndef NO_HISTORY - setsignal(SIGWINCH); -#endif is_interactive = on; } diff --git a/bin/sh/trap.h b/bin/sh/trap.h index a962251..541b9b1 100644 --- a/bin/sh/trap.h +++ b/bin/sh/trap.h @@ -36,7 +36,6 @@ extern volatile sig_atomic_t pendingsig; extern volatile sig_atomic_t pendingsig_waitcmd; extern int in_dotrap; -extern volatile sig_atomic_t gotwinch; void clear_traps(void); int have_traps(void); diff --git a/bin/sh/var.c b/bin/sh/var.c index c20d032..1fd8c77 100644 --- a/bin/sh/var.c +++ b/bin/sh/var.c @@ -88,11 +88,9 @@ struct var vifs; struct var vmail; struct var vmpath; struct var vpath; -struct var vppid; struct var vps1; struct var vps2; struct var vps4; -struct var vvers; static struct var voptind; struct var vdisvfork; @@ -111,8 +109,6 @@ static const struct varinit varinit[] = { NULL }, { &vpath, 0, "PATH=" _PATH_DEFPATH, changepath }, - { &vppid, VUNSET, "PPID=", - NULL }, /* * vps1 depends on uid */ @@ -180,15 +176,14 @@ initvar(void) vps1.text = __DECONST(char *, geteuid() ? "PS1=$ " : "PS1=# "); vps1.flags = VSTRFIXED|VTEXTFIXED; } - if ((vppid.flags & VEXPORT) == 0) { - fmtstr(ppid, sizeof(ppid), "%d", (int)getppid()); - setvarsafe("PPID", ppid, 0); - } + fmtstr(ppid, sizeof(ppid), "%d", (int)getppid()); + setvarsafe("PPID", ppid, 0); for (envp = environ ; *envp ; envp++) { if (strchr(*envp, '=')) { setvareq(*envp, VEXPORT|VTEXTFIXED); } } + setvareq("OPTIND=1", VTEXTFIXED); } /* @@ -224,8 +219,9 @@ void setvar(const char *name, const char *val, int flags) { const char *p; - int len; - int namelen; + size_t len; + size_t namelen; + size_t vallen; char *nameeq; int isbad; @@ -244,18 +240,20 @@ setvar(const char *name, const char *val, int flags) } namelen = p - name; if (isbad) - error("%.*s: bad variable name", namelen, name); + error("%.*s: bad variable name", (int)namelen, name); len = namelen + 2; /* 2 is space for '=' and '\0' */ if (val == NULL) { flags |= VUNSET; + vallen = 0; } else { - len += strlen(val); + vallen = strlen(val); + len += vallen; } nameeq = ckmalloc(len); memcpy(nameeq, name, namelen); nameeq[namelen] = '='; if (val) - scopy(val, nameeq + namelen + 1); + memcpy(nameeq + namelen + 1, val, vallen + 1); else nameeq[namelen + 1] = '\0'; setvareq(nameeq, flags); diff --git a/bin/sh/var.h b/bin/sh/var.h index 6cdfbfe..6ce5b24 100644 --- a/bin/sh/var.h +++ b/bin/sh/var.h @@ -75,7 +75,6 @@ extern struct var vifs; extern struct var vmail; extern struct var vmpath; extern struct var vpath; -extern struct var vppid; extern struct var vps1; extern struct var vps2; extern struct var vps4; diff --git a/bin/test/Makefile b/bin/test/Makefile index 7c64b40..e9a0507 100644 --- a/bin/test/Makefile +++ b/bin/test/Makefile @@ -1,8 +1,14 @@ # @(#)Makefile 8.1 (Berkeley) 5/31/93 # $FreeBSD$ +.include <bsd.own.mk> + PROG= test LINKS= ${BINDIR}/test ${BINDIR}/[ MLINKS= test.1 [.1 +.if ${MK_TESTS} != "no" +SUBDIR+= tests +.endif + .include <bsd.prog.mk> diff --git a/bin/test/tests/Makefile b/bin/test/tests/Makefile new file mode 100644 index 0000000..be32dbb --- /dev/null +++ b/bin/test/tests/Makefile @@ -0,0 +1,15 @@ +# $FreeBSD$ + +.include <bsd.own.mk> + +TESTSDIR= ${TESTSBASE}/bin/test + +TAP_TESTS_SH= legacy_test +# Some tests in here are silently not run when the tests are executed as +# root. Explicitly tell Kyua to drop privileges. +# +# TODO(jmmv): Kyua needs to do this by default, not only when explicitly +# requested. See https://code.google.com/p/kyua/issues/detail?id=6 +TEST_METADATA.legacy_test+= required_user="unprivileged" + +.include <tap.test.mk> diff --git a/tools/regression/bin/test/regress.sh b/bin/test/tests/legacy_test.sh index 9229551..9229551 100644 --- a/tools/regression/bin/test/regress.sh +++ b/bin/test/tests/legacy_test.sh diff --git a/bin/tests/Makefile b/bin/tests/Makefile new file mode 100644 index 0000000..7a59b10 --- /dev/null +++ b/bin/tests/Makefile @@ -0,0 +1,10 @@ +# $FreeBSD$ + +.include <bsd.own.mk> + +TESTSDIR= ${TESTSBASE}/bin + +.PATH: ${.CURDIR:H:H}/tests +KYUAFILE= yes + +.include <bsd.test.mk> diff --git a/etc/mtree/BSD.tests.dist b/etc/mtree/BSD.tests.dist index acb0dcb..037c997 100644 --- a/etc/mtree/BSD.tests.dist +++ b/etc/mtree/BSD.tests.dist @@ -20,6 +20,32 @@ .. .. tests + bin + date + .. + mv + .. + pax + .. + sh + builtins + .. + errors + .. + execution + .. + expansion + .. + parameters + .. + parser + .. + set-e + .. + .. + test + .. + .. lib atf libatf-c diff --git a/tools/regression/bin/Makefile b/tools/regression/bin/Makefile deleted file mode 100644 index 1dcdbb3..0000000 --- a/tools/regression/bin/Makefile +++ /dev/null @@ -1,5 +0,0 @@ -# $FreeBSD$ - -SUBDIR= date mv pax sh test - -.include <bsd.subdir.mk> diff --git a/tools/regression/bin/date/Makefile b/tools/regression/bin/date/Makefile deleted file mode 100644 index 2c9ca59..0000000 --- a/tools/regression/bin/date/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -# $FreeBSD$ - -all: - sh regress.sh diff --git a/tools/regression/bin/date/regress.t b/tools/regression/bin/date/regress.t deleted file mode 100644 index c36d834..0000000 --- a/tools/regression/bin/date/regress.t +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/sh -# $FreeBSD$ - -cd `dirname $0` - -sh regress.sh diff --git a/tools/regression/bin/mv/Makefile b/tools/regression/bin/mv/Makefile deleted file mode 100644 index 2c9ca59..0000000 --- a/tools/regression/bin/mv/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -# $FreeBSD$ - -all: - sh regress.sh diff --git a/tools/regression/bin/mv/regress.t b/tools/regression/bin/mv/regress.t deleted file mode 100644 index c36d834..0000000 --- a/tools/regression/bin/mv/regress.t +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/sh -# $FreeBSD$ - -cd `dirname $0` - -sh regress.sh diff --git a/tools/regression/bin/pax/Makefile b/tools/regression/bin/pax/Makefile deleted file mode 100644 index 6855bca..0000000 --- a/tools/regression/bin/pax/Makefile +++ /dev/null @@ -1,8 +0,0 @@ -# $FreeBSD$ - -all test: - prove -vmw regress.t - -clean: - rm -rf ustar-pathnames-[12] - rm -f ustar.ok ustar.fail* diff --git a/tools/regression/bin/sh/Makefile b/tools/regression/bin/sh/Makefile deleted file mode 100644 index 82b9c09..0000000 --- a/tools/regression/bin/sh/Makefile +++ /dev/null @@ -1,7 +0,0 @@ -# $FreeBSD$ - -# Allow one to specify the 'sh' to regress. -SH?= /bin/sh - -all: - env SH=${SH} ${SH} regress.sh diff --git a/tools/regression/bin/sh/regress.t b/tools/regression/bin/sh/regress.t deleted file mode 100644 index 89b1828..0000000 --- a/tools/regression/bin/sh/regress.t +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/sh -# $FreeBSD$ - -export SH="${SH:-sh}" - -cd `dirname $0` - -${SH} regress.sh diff --git a/tools/regression/bin/test/Makefile b/tools/regression/bin/test/Makefile deleted file mode 100644 index 2c9ca59..0000000 --- a/tools/regression/bin/test/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -# $FreeBSD$ - -all: - sh regress.sh diff --git a/tools/regression/bin/test/regress.t b/tools/regression/bin/test/regress.t deleted file mode 100644 index c36d834..0000000 --- a/tools/regression/bin/test/regress.t +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/sh -# $FreeBSD$ - -cd `dirname $0` - -sh regress.sh |