From 5fd83771641d15c418f747bd343ba6738d3875f7 Mon Sep 17 00:00:00 2001 From: Cameron Katri Date: Sun, 9 May 2021 14:20:58 -0400 Subject: Import macOS userland adv_cmds-176 basic_cmds-55 bootstrap_cmds-116.100.1 developer_cmds-66 diskdev_cmds-667.40.1 doc_cmds-53.60.1 file_cmds-321.40.3 mail_cmds-35 misc_cmds-34 network_cmds-606.40.1 patch_cmds-17 remote_cmds-63 shell_cmds-216.60.1 system_cmds-880.60.2 text_cmds-106 --- shell_cmds/sh/tests/errors/Makefile | 35 +++++++++++++++ shell_cmds/sh/tests/errors/Makefile.depend | 11 +++++ shell_cmds/sh/tests/errors/assignment-error1.0 | 30 +++++++++++++ shell_cmds/sh/tests/errors/assignment-error2.0 | 8 ++++ shell_cmds/sh/tests/errors/backquote-error1.0 | 4 ++ shell_cmds/sh/tests/errors/backquote-error2.0 | 7 +++ shell_cmds/sh/tests/errors/bad-binary1.126 | 12 +++++ shell_cmds/sh/tests/errors/bad-keyword1.0 | 4 ++ shell_cmds/sh/tests/errors/bad-parm-exp1.0 | 7 +++ shell_cmds/sh/tests/errors/bad-parm-exp2.2 | 2 + shell_cmds/sh/tests/errors/bad-parm-exp2.2.stderr | 1 + shell_cmds/sh/tests/errors/bad-parm-exp3.2 | 2 + shell_cmds/sh/tests/errors/bad-parm-exp3.2.stderr | 1 + shell_cmds/sh/tests/errors/bad-parm-exp4.2 | 2 + shell_cmds/sh/tests/errors/bad-parm-exp4.2.stderr | 1 + shell_cmds/sh/tests/errors/bad-parm-exp5.2 | 2 + shell_cmds/sh/tests/errors/bad-parm-exp5.2.stderr | 1 + shell_cmds/sh/tests/errors/bad-parm-exp6.2 | 2 + shell_cmds/sh/tests/errors/bad-parm-exp6.2.stderr | 1 + shell_cmds/sh/tests/errors/bad-parm-exp7.0 | 4 ++ shell_cmds/sh/tests/errors/bad-parm-exp8.0 | 4 ++ shell_cmds/sh/tests/errors/option-error.0 | 46 +++++++++++++++++++ shell_cmds/sh/tests/errors/redirection-error.0 | 53 ++++++++++++++++++++++ shell_cmds/sh/tests/errors/redirection-error2.2 | 4 ++ shell_cmds/sh/tests/errors/redirection-error3.0 | 54 +++++++++++++++++++++++ shell_cmds/sh/tests/errors/redirection-error4.0 | 7 +++ shell_cmds/sh/tests/errors/redirection-error5.0 | 5 +++ shell_cmds/sh/tests/errors/redirection-error6.0 | 12 +++++ shell_cmds/sh/tests/errors/redirection-error7.0 | 7 +++ shell_cmds/sh/tests/errors/redirection-error8.0 | 5 +++ shell_cmds/sh/tests/errors/write-error1.0 | 3 ++ 31 files changed, 337 insertions(+) create mode 100644 shell_cmds/sh/tests/errors/Makefile create mode 100644 shell_cmds/sh/tests/errors/Makefile.depend create mode 100644 shell_cmds/sh/tests/errors/assignment-error1.0 create mode 100644 shell_cmds/sh/tests/errors/assignment-error2.0 create mode 100644 shell_cmds/sh/tests/errors/backquote-error1.0 create mode 100644 shell_cmds/sh/tests/errors/backquote-error2.0 create mode 100644 shell_cmds/sh/tests/errors/bad-binary1.126 create mode 100644 shell_cmds/sh/tests/errors/bad-keyword1.0 create mode 100644 shell_cmds/sh/tests/errors/bad-parm-exp1.0 create mode 100644 shell_cmds/sh/tests/errors/bad-parm-exp2.2 create mode 100644 shell_cmds/sh/tests/errors/bad-parm-exp2.2.stderr create mode 100644 shell_cmds/sh/tests/errors/bad-parm-exp3.2 create mode 100644 shell_cmds/sh/tests/errors/bad-parm-exp3.2.stderr create mode 100644 shell_cmds/sh/tests/errors/bad-parm-exp4.2 create mode 100644 shell_cmds/sh/tests/errors/bad-parm-exp4.2.stderr create mode 100644 shell_cmds/sh/tests/errors/bad-parm-exp5.2 create mode 100644 shell_cmds/sh/tests/errors/bad-parm-exp5.2.stderr create mode 100644 shell_cmds/sh/tests/errors/bad-parm-exp6.2 create mode 100644 shell_cmds/sh/tests/errors/bad-parm-exp6.2.stderr create mode 100644 shell_cmds/sh/tests/errors/bad-parm-exp7.0 create mode 100644 shell_cmds/sh/tests/errors/bad-parm-exp8.0 create mode 100644 shell_cmds/sh/tests/errors/option-error.0 create mode 100644 shell_cmds/sh/tests/errors/redirection-error.0 create mode 100644 shell_cmds/sh/tests/errors/redirection-error2.2 create mode 100644 shell_cmds/sh/tests/errors/redirection-error3.0 create mode 100644 shell_cmds/sh/tests/errors/redirection-error4.0 create mode 100644 shell_cmds/sh/tests/errors/redirection-error5.0 create mode 100644 shell_cmds/sh/tests/errors/redirection-error6.0 create mode 100644 shell_cmds/sh/tests/errors/redirection-error7.0 create mode 100644 shell_cmds/sh/tests/errors/redirection-error8.0 create mode 100644 shell_cmds/sh/tests/errors/write-error1.0 (limited to 'shell_cmds/sh/tests/errors') diff --git a/shell_cmds/sh/tests/errors/Makefile b/shell_cmds/sh/tests/errors/Makefile new file mode 100644 index 0000000..a234a05 --- /dev/null +++ b/shell_cmds/sh/tests/errors/Makefile @@ -0,0 +1,35 @@ +# $FreeBSD: head/bin/sh/tests/errors/Makefile 319575 2017-06-04 20:52:55Z jilles $ + +PACKAGE= tests + +TESTSDIR= ${TESTSBASE}/bin/sh/${.CURDIR:T} + +.PATH: ${.CURDIR:H} +ATF_TESTS_SH= functional_test + +${PACKAGE}FILES+= assignment-error1.0 +${PACKAGE}FILES+= assignment-error2.0 +${PACKAGE}FILES+= backquote-error1.0 +${PACKAGE}FILES+= backquote-error2.0 +${PACKAGE}FILES+= bad-binary1.126 +${PACKAGE}FILES+= bad-keyword1.0 +${PACKAGE}FILES+= bad-parm-exp1.0 +${PACKAGE}FILES+= bad-parm-exp2.2 bad-parm-exp2.2.stderr +${PACKAGE}FILES+= bad-parm-exp3.2 bad-parm-exp3.2.stderr +${PACKAGE}FILES+= bad-parm-exp4.2 bad-parm-exp4.2.stderr +${PACKAGE}FILES+= bad-parm-exp5.2 bad-parm-exp5.2.stderr +${PACKAGE}FILES+= bad-parm-exp6.2 bad-parm-exp6.2.stderr +${PACKAGE}FILES+= bad-parm-exp7.0 +${PACKAGE}FILES+= bad-parm-exp8.0 +${PACKAGE}FILES+= option-error.0 +${PACKAGE}FILES+= redirection-error.0 +${PACKAGE}FILES+= redirection-error2.2 +${PACKAGE}FILES+= redirection-error3.0 +${PACKAGE}FILES+= redirection-error4.0 +${PACKAGE}FILES+= redirection-error5.0 +${PACKAGE}FILES+= redirection-error6.0 +${PACKAGE}FILES+= redirection-error7.0 +${PACKAGE}FILES+= redirection-error8.0 +${PACKAGE}FILES+= write-error1.0 + +.include diff --git a/shell_cmds/sh/tests/errors/Makefile.depend b/shell_cmds/sh/tests/errors/Makefile.depend new file mode 100644 index 0000000..dbfdc34 --- /dev/null +++ b/shell_cmds/sh/tests/errors/Makefile.depend @@ -0,0 +1,11 @@ +# $FreeBSD: head/bin/sh/tests/errors/Makefile.depend 296587 2016-03-09 22:46:01Z bdrewery $ +# Autogenerated - do NOT edit! + +DIRDEPS = \ + + +.include + +.if ${DEP_RELDIR} == ${_DEP_RELDIR} +# local dependencies - needed for -jN in clean tree +.endif diff --git a/shell_cmds/sh/tests/errors/assignment-error1.0 b/shell_cmds/sh/tests/errors/assignment-error1.0 new file mode 100644 index 0000000..2106b5a --- /dev/null +++ b/shell_cmds/sh/tests/errors/assignment-error1.0 @@ -0,0 +1,30 @@ +# $FreeBSD: head/bin/sh/tests/errors/assignment-error1.0 213738 2010-10-12 18:20:38Z obrien $ +IFS=, + +SPECIAL="break,\ + :,\ + continue,\ + . /dev/null,\ + eval,\ + exec,\ + export -p,\ + readonly -p,\ + set,\ + shift,\ + times,\ + trap,\ + unset foo" + +# If there is no command word, the shell must abort on an assignment error. +${SH} -c "readonly a=0; a=2; exit 0" 2>/dev/null && exit 1 + +# Special built-in utilities must abort on an assignment error. +set -- ${SPECIAL} +for cmd in "$@" +do + ${SH} -c "readonly a=0; a=2 ${cmd}; exit 0" 2>/dev/null && exit 1 +done + +# Other utilities must not abort; we currently still execute them. +${SH} -c 'readonly a=0; a=1 true; exit $a' 2>/dev/null || exit 1 +${SH} -c 'readonly a=0; a=1 command :; exit $a' 2>/dev/null || exit 1 diff --git a/shell_cmds/sh/tests/errors/assignment-error2.0 b/shell_cmds/sh/tests/errors/assignment-error2.0 new file mode 100644 index 0000000..68f2d48 --- /dev/null +++ b/shell_cmds/sh/tests/errors/assignment-error2.0 @@ -0,0 +1,8 @@ +# $FreeBSD: head/bin/sh/tests/errors/assignment-error2.0 216870 2011-01-01 13:26:18Z jilles $ + +set -e +HOME=/ +readonly HOME +cd /sbin +{ HOME=/bin cd; } 2>/dev/null || : +[ "$(pwd)" != /bin ] diff --git a/shell_cmds/sh/tests/errors/backquote-error1.0 b/shell_cmds/sh/tests/errors/backquote-error1.0 new file mode 100644 index 0000000..d35d0b7 --- /dev/null +++ b/shell_cmds/sh/tests/errors/backquote-error1.0 @@ -0,0 +1,4 @@ +# $FreeBSD: head/bin/sh/tests/errors/backquote-error1.0 213738 2010-10-12 18:20:38Z obrien $ + +echo 'echo `for` echo ".BAD"CODE.' | ${SH} +m -i 2>&1 | grep -q BADCODE && exit 1 +exit 0 diff --git a/shell_cmds/sh/tests/errors/backquote-error2.0 b/shell_cmds/sh/tests/errors/backquote-error2.0 new file mode 100644 index 0000000..a5955dd --- /dev/null +++ b/shell_cmds/sh/tests/errors/backquote-error2.0 @@ -0,0 +1,7 @@ +# $FreeBSD: head/bin/sh/tests/errors/backquote-error2.0 213738 2010-10-12 18:20:38Z obrien $ + +${SH} -c 'echo `echo .BA"DCODE.` +echo ".BAD"CODE.' 2>&1 | grep -q BADCODE && exit 1 +echo '`"`' | ${SH} -n 2>/dev/null && exit 1 +echo '`'"'"'`' | ${SH} -n 2>/dev/null && exit 1 +exit 0 diff --git a/shell_cmds/sh/tests/errors/bad-binary1.126 b/shell_cmds/sh/tests/errors/bad-binary1.126 new file mode 100644 index 0000000..7c7c67f --- /dev/null +++ b/shell_cmds/sh/tests/errors/bad-binary1.126 @@ -0,0 +1,12 @@ +# $FreeBSD: head/bin/sh/tests/errors/bad-binary1.126 218320 2011-02-05 12:54:59Z jilles $ +# Checking for binary "scripts" without magic number is permitted but not +# required by POSIX. However, it is preferable to getting errors like +# Syntax error: word unexpected (expecting ")") +# from trying to execute ELF binaries for the wrong architecture. + +T=`mktemp -d "${TMPDIR:-/tmp}/sh-test.XXXXXXXX"` || exit +trap 'rm -rf "${T}"' 0 +printf '\0echo bad\n' >"$T/testshellproc" +chmod 755 "$T/testshellproc" +PATH=$T:$PATH +testshellproc 2>/dev/null diff --git a/shell_cmds/sh/tests/errors/bad-keyword1.0 b/shell_cmds/sh/tests/errors/bad-keyword1.0 new file mode 100644 index 0000000..d2680d6 --- /dev/null +++ b/shell_cmds/sh/tests/errors/bad-keyword1.0 @@ -0,0 +1,4 @@ +# $FreeBSD: head/bin/sh/tests/errors/bad-keyword1.0 216398 2010-12-12 21:18:16Z jilles $ + +echo ':; fi' | ${SH} -n 2>/dev/null && exit 1 +exit 0 diff --git a/shell_cmds/sh/tests/errors/bad-parm-exp1.0 b/shell_cmds/sh/tests/errors/bad-parm-exp1.0 new file mode 100644 index 0000000..f288294 --- /dev/null +++ b/shell_cmds/sh/tests/errors/bad-parm-exp1.0 @@ -0,0 +1,7 @@ +# $FreeBSD: head/bin/sh/tests/errors/bad-parm-exp1.0 164004 2006-11-05 18:41:23Z stefanf $ +false && { + ${} + ${foo/} + ${foo@bar} +} +: diff --git a/shell_cmds/sh/tests/errors/bad-parm-exp2.2 b/shell_cmds/sh/tests/errors/bad-parm-exp2.2 new file mode 100644 index 0000000..7424840 --- /dev/null +++ b/shell_cmds/sh/tests/errors/bad-parm-exp2.2 @@ -0,0 +1,2 @@ +# $FreeBSD: head/bin/sh/tests/errors/bad-parm-exp2.2 270101 2014-08-17 14:26:12Z jilles $ +eval '${}' diff --git a/shell_cmds/sh/tests/errors/bad-parm-exp2.2.stderr b/shell_cmds/sh/tests/errors/bad-parm-exp2.2.stderr new file mode 100644 index 0000000..51ea69c --- /dev/null +++ b/shell_cmds/sh/tests/errors/bad-parm-exp2.2.stderr @@ -0,0 +1 @@ +eval: ${}: Bad substitution diff --git a/shell_cmds/sh/tests/errors/bad-parm-exp3.2 b/shell_cmds/sh/tests/errors/bad-parm-exp3.2 new file mode 100644 index 0000000..56a52df --- /dev/null +++ b/shell_cmds/sh/tests/errors/bad-parm-exp3.2 @@ -0,0 +1,2 @@ +# $FreeBSD: head/bin/sh/tests/errors/bad-parm-exp3.2 270101 2014-08-17 14:26:12Z jilles $ +eval '${foo/}' diff --git a/shell_cmds/sh/tests/errors/bad-parm-exp3.2.stderr b/shell_cmds/sh/tests/errors/bad-parm-exp3.2.stderr new file mode 100644 index 0000000..70473f9 --- /dev/null +++ b/shell_cmds/sh/tests/errors/bad-parm-exp3.2.stderr @@ -0,0 +1 @@ +eval: ${foo/}: Bad substitution diff --git a/shell_cmds/sh/tests/errors/bad-parm-exp4.2 b/shell_cmds/sh/tests/errors/bad-parm-exp4.2 new file mode 100644 index 0000000..e0a7099 --- /dev/null +++ b/shell_cmds/sh/tests/errors/bad-parm-exp4.2 @@ -0,0 +1,2 @@ +# $FreeBSD: head/bin/sh/tests/errors/bad-parm-exp4.2 270101 2014-08-17 14:26:12Z jilles $ +eval '${foo:@abc}' diff --git a/shell_cmds/sh/tests/errors/bad-parm-exp4.2.stderr b/shell_cmds/sh/tests/errors/bad-parm-exp4.2.stderr new file mode 100644 index 0000000..3363f51 --- /dev/null +++ b/shell_cmds/sh/tests/errors/bad-parm-exp4.2.stderr @@ -0,0 +1 @@ +eval: ${foo:@...}: Bad substitution diff --git a/shell_cmds/sh/tests/errors/bad-parm-exp5.2 b/shell_cmds/sh/tests/errors/bad-parm-exp5.2 new file mode 100644 index 0000000..fa26259 --- /dev/null +++ b/shell_cmds/sh/tests/errors/bad-parm-exp5.2 @@ -0,0 +1,2 @@ +# $FreeBSD: head/bin/sh/tests/errors/bad-parm-exp5.2 270101 2014-08-17 14:26:12Z jilles $ +eval '${/}' diff --git a/shell_cmds/sh/tests/errors/bad-parm-exp5.2.stderr b/shell_cmds/sh/tests/errors/bad-parm-exp5.2.stderr new file mode 100644 index 0000000..13763f8 --- /dev/null +++ b/shell_cmds/sh/tests/errors/bad-parm-exp5.2.stderr @@ -0,0 +1 @@ +eval: ${/}: Bad substitution diff --git a/shell_cmds/sh/tests/errors/bad-parm-exp6.2 b/shell_cmds/sh/tests/errors/bad-parm-exp6.2 new file mode 100644 index 0000000..51858e8 --- /dev/null +++ b/shell_cmds/sh/tests/errors/bad-parm-exp6.2 @@ -0,0 +1,2 @@ +# $FreeBSD: head/bin/sh/tests/errors/bad-parm-exp6.2 270101 2014-08-17 14:26:12Z jilles $ +eval '${#foo^}' diff --git a/shell_cmds/sh/tests/errors/bad-parm-exp6.2.stderr b/shell_cmds/sh/tests/errors/bad-parm-exp6.2.stderr new file mode 100644 index 0000000..cc56f65 --- /dev/null +++ b/shell_cmds/sh/tests/errors/bad-parm-exp6.2.stderr @@ -0,0 +1 @@ +eval: ${foo...}: Bad substitution diff --git a/shell_cmds/sh/tests/errors/bad-parm-exp7.0 b/shell_cmds/sh/tests/errors/bad-parm-exp7.0 new file mode 100644 index 0000000..d7bff92 --- /dev/null +++ b/shell_cmds/sh/tests/errors/bad-parm-exp7.0 @@ -0,0 +1,4 @@ +# $FreeBSD: head/bin/sh/tests/errors/bad-parm-exp7.0 287081 2015-08-23 20:44:53Z jilles $ + +v=1 +eval ": $(printf '${v-${\372}}')" diff --git a/shell_cmds/sh/tests/errors/bad-parm-exp8.0 b/shell_cmds/sh/tests/errors/bad-parm-exp8.0 new file mode 100644 index 0000000..24f6bff --- /dev/null +++ b/shell_cmds/sh/tests/errors/bad-parm-exp8.0 @@ -0,0 +1,4 @@ +# $FreeBSD: head/bin/sh/tests/errors/bad-parm-exp8.0 287081 2015-08-23 20:44:53Z jilles $ + +v=1 +eval ": $(printf '${v-${w\372}}')" diff --git a/shell_cmds/sh/tests/errors/option-error.0 b/shell_cmds/sh/tests/errors/option-error.0 new file mode 100644 index 0000000..473c0b9 --- /dev/null +++ b/shell_cmds/sh/tests/errors/option-error.0 @@ -0,0 +1,46 @@ +# $FreeBSD: head/bin/sh/tests/errors/option-error.0 213738 2010-10-12 18:20:38Z obrien $ +IFS=, + +SPECIAL="break abc,\ + continue abc,\ + ., + exit abc, + export -x, + readonly -x, + return abc, + set -z, + shift abc, + trap -y, + unset -y" + +UTILS="alias -y,\ + cat -z,\ + cd abc def,\ + command break abc,\ + expr 1 +,\ + fc -z,\ + getopts,\ + hash -z,\ + jobs -z,\ + printf,\ + pwd abc,\ + read,\ + test abc =,\ + ulimit -z,\ + umask -z,\ + unalias -z,\ + wait abc" + +# Special built-in utilities must abort on an option or operand error. +set -- ${SPECIAL} +for cmd in "$@" +do + ${SH} -c "${cmd}; exit 0" 2>/dev/null && exit 1 +done + +# Other utilities must not abort. +set -- ${UTILS} +for cmd in "$@" +do + ${SH} -c "${cmd}; exit 0" 2>/dev/null || exit 1 +done diff --git a/shell_cmds/sh/tests/errors/redirection-error.0 b/shell_cmds/sh/tests/errors/redirection-error.0 new file mode 100644 index 0000000..2a67698 --- /dev/null +++ b/shell_cmds/sh/tests/errors/redirection-error.0 @@ -0,0 +1,53 @@ +# $FreeBSD: head/bin/sh/tests/errors/redirection-error.0 213738 2010-10-12 18:20:38Z obrien $ +IFS=, + +SPECIAL="break,\ + :,\ + continue,\ + . /dev/null, + eval, + exec, + export -p, + readonly -p, + set, + shift, + times, + trap, + unset foo" + +UTILS="alias,\ + bg,\ + bind,\ + cd,\ + command echo,\ + echo,\ + false,\ + fc -l,\ + fg,\ + getopts a -a,\ + hash,\ + jobs,\ + printf a,\ + pwd,\ + read var < /dev/null,\ + test,\ + true,\ + type ls,\ + ulimit,\ + umask,\ + unalias -a,\ + wait" + +# Special built-in utilities must abort on a redirection error. +set -- ${SPECIAL} +for cmd in "$@" +do + ${SH} -c "${cmd} > /; exit 0" 2>/dev/null && exit 1 +done + +# Other utilities must not abort. +set -- ${UTILS} +for cmd in "$@" +do + ${SH} -c "${cmd} > /; exit 0" 2>/dev/null || exit 1 +done diff --git a/shell_cmds/sh/tests/errors/redirection-error2.2 b/shell_cmds/sh/tests/errors/redirection-error2.2 new file mode 100644 index 0000000..595e959 --- /dev/null +++ b/shell_cmds/sh/tests/errors/redirection-error2.2 @@ -0,0 +1,4 @@ +# $FreeBSD: head/bin/sh/tests/errors/redirection-error2.2 213738 2010-10-12 18:20:38Z obrien $ + +# sh should fail gracefully on this bad redirect +${SH} -c 'echo 1 >&$a' 2>/dev/null diff --git a/shell_cmds/sh/tests/errors/redirection-error3.0 b/shell_cmds/sh/tests/errors/redirection-error3.0 new file mode 100644 index 0000000..fd7a334 --- /dev/null +++ b/shell_cmds/sh/tests/errors/redirection-error3.0 @@ -0,0 +1,54 @@ +# $FreeBSD: head/bin/sh/tests/errors/redirection-error3.0 213738 2010-10-12 18:20:38Z obrien $ +IFS=, + +SPECIAL="break,\ + :,\ + continue,\ + . /dev/null,\ + eval,\ + exec,\ + export -p,\ + readonly -p,\ + set,\ + shift,\ + times,\ + trap,\ + unset foo" + +UTILS="alias,\ + bg,\ + bind,\ + cd,\ + command echo,\ + echo,\ + false,\ + fc -l,\ + fg,\ + getopts a -a,\ + hash,\ + jobs,\ + printf a,\ + pwd,\ + read var < /dev/null,\ + test,\ + true,\ + type ls,\ + ulimit,\ + umask,\ + unalias -a,\ + wait" + +# When used with 'command', neither special built-in utilities nor other +# utilities must abort on a redirection error. + +set -- ${SPECIAL} +for cmd in "$@" +do + ${SH} -c "command ${cmd} > /; exit 0" 2>/dev/null || exit 1 +done + +set -- ${UTILS} +for cmd in "$@" +do + ${SH} -c "command ${cmd} > /; exit 0" 2>/dev/null || exit 1 +done diff --git a/shell_cmds/sh/tests/errors/redirection-error4.0 b/shell_cmds/sh/tests/errors/redirection-error4.0 new file mode 100644 index 0000000..ed58499 --- /dev/null +++ b/shell_cmds/sh/tests/errors/redirection-error4.0 @@ -0,0 +1,7 @@ +# $FreeBSD: head/bin/sh/tests/errors/redirection-error4.0 205138 2010-03-13 22:53:17Z jilles $ +# A redirection error should not abort the shell if there is no command word. +exec 2>/dev/null +/dev/null +( echo bad ) /dev/null +{ echo bad; } &1 >&2 2>&3 + ulimit -n 9 + exec 9<. +) && [ -n "$dummy" ] diff --git a/shell_cmds/sh/tests/errors/redirection-error8.0 b/shell_cmds/sh/tests/errors/redirection-error8.0 new file mode 100644 index 0000000..97364ac --- /dev/null +++ b/shell_cmds/sh/tests/errors/redirection-error8.0 @@ -0,0 +1,5 @@ +# $FreeBSD: head/bin/sh/tests/errors/redirection-error8.0 319575 2017-06-04 20:52:55Z jilles $ + +$SH -c '{ { :; } /dev/null || kill -INT $$; echo continued' +r=$? +[ "$r" -gt 128 ] && [ "$(kill -l "$r")" = INT ] diff --git a/shell_cmds/sh/tests/errors/write-error1.0 b/shell_cmds/sh/tests/errors/write-error1.0 new file mode 100644 index 0000000..3001e5c --- /dev/null +++ b/shell_cmds/sh/tests/errors/write-error1.0 @@ -0,0 +1,3 @@ +# $FreeBSD: head/bin/sh/tests/errors/write-error1.0 244924 2013-01-01 12:48:24Z jilles $ + +! echo >&- 2>/dev/null -- cgit v1.2.3-56-ge451