Testing mksh for conformance: # $MirOS: src/bin/mksh/check.t,v 1.637 2013/11/30 17:41:32 tg Exp $ @(#)MIRBSD KSH R48 2013/11/30 This shell is actually: @(#)MIRBSD KSH R48 2013/11/30 test.sh built for mksh R48 2013/11/30 Trying Perl interpreter 'perl5'... ./test.sh[70]: perl5: not found Errorlevel 127, running on '' => not using Trying Perl interpreter 'perl'... Errorlevel 0, running on 'syllable, Perl version 5.010000' => using it + perl ./check.pl -p /home/root/mksh/mksh -C shell:legacy-no,int:32,fastbox -v -s ./check.t pass ./check.t:KSH_VERSION pass ./check.t:selftest-1 pass ./check.t:selftest-2 pass ./check.t:selftest-3 pass ./check.t:selftest-direct-builtin-call pass ./check.t:alias-1 pass ./check.t:alias-2 pass ./check.t:alias-3 pass ./check.t:alias-4 pass ./check.t:alias-5 pass ./check.t:alias-6 pass ./check.t:alias-7 pass ./check.t:alias-8 pass ./check.t:alias-9 pass ./check.t:alias-10 pass ./check.t:arith-lazy-1 pass ./check.t:arith-lazy-2 pass ./check.t:arith-lazy-3 pass ./check.t:arith-lazy-4 pass ./check.t:arith-ternary-prec-1 pass ./check.t:arith-ternary-prec-2 pass ./check.t:arith-div-assoc-1 pass ./check.t:arith-div-byzero pass ./check.t:arith-div-intmin-by-minusone pass ./check.t:arith-assop-assoc-1 pass ./check.t:arith-mandatory pass ./check.t:arith-unsigned-1 pass ./check.t:arith-limit32-1 pass ./check.t:bksl-nl-ign-1 pass ./check.t:bksl-nl-ign-2 pass ./check.t:bksl-nl-ign-3 pass ./check.t:bksl-nl-ign-4 pass ./check.t:bksl-nl-ign-5 pass ./check.t:bksl-nl-1 pass ./check.t:bksl-nl-2 pass ./check.t:bksl-nl-3 pass ./check.t:bksl-nl-4 pass ./check.t:bksl-nl-5 pass ./check.t:bksl-nl-6 pass ./check.t:bksl-nl-7 pass ./check.t:bksl-nl-8 pass ./check.t:bksl-nl-9 pass ./check.t:bksl-nl-10 pass ./check.t:bksl-nl-ksh-1 pass ./check.t:bksl-nl-ksh-2 pass ./check.t:break-1 pass ./check.t:break-2 pass ./check.t:break-3 pass ./check.t:break-4 pass ./check.t:break-5 pass ./check.t:continue-1 pass ./check.t:continue-2 pass ./check.t:continue-3 pass ./check.t:continue-4 pass ./check.t:continue-5 pass ./check.t:cd-history pass ./check.t:cd-pe FAIL ./check.t:env-prompt Description: Check that prompt not printed when processing ENV unexpected stderr - first difference: line 1, char 1 (wanted 'X', got '/' wanted: XX [incomplete last line] got: /home/root/mksh/mksh: can't unlink HISTFILE : No such file or directory XX [incomplete last line] pass ./check.t:expand-ugly pass ./check.t:expand-unglob-dblq FAIL ./check.t:expand-unglob-unq Description: Check that regular ${foo+bar} constructs are parsed correctly unexpected exit status 9 (signal 9), expected 0 unexpected stdout - got too little output wanted: 1 plus norm foo baz 1 dash norm foo bar baz 1 eqal norm foo bar baz 1 qstn norm -> error 1 PLUS norm foo baz 1 DASH norm foo bar baz 1 EQAL norm foo bar baz 1 QSTN norm -> error 2 plus norm foo bar baz 2 dash norm foo baz 2 eqal norm foo baz 2 qstn norm foo baz 2 PLUS norm foo baz 2 DASH norm foo bar baz 2 EQAL norm foo bar baz 2 QSTN norm -> error 3 plus norm foo bar baz 3 dash norm foo x baz 3 eqal norm foo x baz 3 qstn norm foo x baz 3 PLUS norm foo bar baz 3 DASH norm foo x baz 3 EQAL norm foo x baz 3 QSTN norm foo x baz 4 plus parn foo baz 4 dash parn foo (bar) baz 4 eqal parn foo (bar) baz 4 qstn parn -> error 4 PLUS parn foo baz 4 DASH parn foo (bar) baz 4 EQAL parn foo (bar) baz 4 QSTN parn -> error 5 plus parn foo (bar) baz 5 dash parn foo baz 5 eqal parn foo baz 5 qstn parn foo baz 5 PLUS parn foo baz 5 DASH parn foo (bar) baz 5 EQAL parn foo (bar) baz 5 QSTN parn -> error 6 plus parn foo (bar) baz 6 dash parn foo x baz 6 eqal parn foo x baz 6 qstn parn foo x baz 6 PLUS parn foo (bar) baz 6 DASH parn foo x baz 6 EQAL parn foo x baz 6 QSTN parn foo x baz 7 plus brac foo c } baz 7 dash brac foo ax{{{}b c d{} baz 7 eqal brac foo ax{{{}b c ax{{{}b} baz 7 qstn brac -> error 7 PLUS brac foo c } baz 7 DASH brac foo ax{{{}b c d{} baz 7 EQAL brac foo ax{{{}b c ax{{{}b} baz 7 QSTN brac -> error 8 plus brac foo ax{{{}b c d{} baz 8 dash brac foo c } baz 8 eqal brac foo c } baz 8 qstn brac foo c } baz 8 PLUS brac foo c } baz 8 DASH brac foo ax{{{}b c d{} baz 8 EQAL brac foo ax{{{}b c ax{{{}b} baz 8 QSTN brac -> error 9 plus brac foo ax{{{}b c d{} baz 9 dash brac foo x c x} baz 9 eqal brac foo x c x} baz 9 qstn brac foo x c x} baz 9 PLUS brac foo ax{{{}b c d{} baz 9 DASH brac foo x c x} baz 9 EQAL brac foo x c x} baz 9 QSTN brac foo x c x} baz got: 1 plus norm foo baz 1 dash norm foo bar baz 1 eqal norm foo bar baz 1 qstn norm -> error 1 PLUS norm foo baz 1 DASH norm foo bar baz 1 EQAL norm foo bar baz 1 QSTN norm -> error 2 plus norm foo bar baz 2 dash norm foo baz 2 eqal norm foo baz 2 qstn norm foo baz 2 PLUS norm foo baz 2 DASH norm foo bar baz 2 EQAL norm foo bar baz 2 QSTN norm -> error 3 plus norm foo bar baz 3 dash norm foo x baz 3 eqal norm foo x baz 3 qstn norm foo x baz 3 PLUS norm foo bar baz 3 DASH norm foo x baz 3 EQAL norm foo x baz 3 QSTN norm foo x baz 4 plus parn foo baz 4 dash parn foo (bar) baz 4 eqal parn foo (bar) baz 4 qstn parn -> error 4 PLUS parn foo baz 4 DASH parn foo (bar) baz 4 EQAL parn foo (bar) baz 4 QSTN parn -> error 5 plus parn foo (bar) baz 5 dash parn foo baz 5 eqal parn foo baz 5 qstn parn foo baz 5 PLUS parn foo baz 5 DASH parn foo (bar) baz 5 EQAL parn foo (bar) baz 5 QSTN parn -> error 6 plus parn foo (bar) baz 6 dash parn foo x baz 6 eqal parn foo x baz 6 qstn parn foo x baz 6 PLUS parn foo (bar) baz 6 DASH parn foo x baz 6 EQAL parn foo x baz 6 QSTN parn foo x baz 7 plus brac foo c } baz 7 dash brac foo ax{{{}b c d{} baz 7 eqal brac foo ax{{{}b c ax{{{}b} baz 7 qstn brac -> error 7 PLUS brac foo c } baz 7 DASH brac foo ax{{{}b c d{} baz 7 EQAL brac foo ax{{{}b c ax{{{}b} baz 7 QSTN brac -> error 8 plus brac foo ax{{{}b c d{} baz 8 dash brac foo c } baz 8 eqal brac foo c } baz 8 qstn brac foo c } baz 8 PLUS brac foo c } baz 8 DASH brac foo ax{{{}b c d{} baz 8 EQAL brac foo ax{{{}b c ax{{{}b} baz 8 QSTN brac -> error 9 plus brac foo ax{{{}b c d{} baz 9 dash brac foo x c x} baz 9 eqal brac foo x c x} baz 9 qstn brac foo x c x} baz 9 PLUS brac foo ax{{{}b c d{} baz 9 DASH brac foo x c x} baz 9 EQAL brac foo x c x} baz pass ./check.t:expand-threecolons-dblq pass ./check.t:expand-threecolons-unq pass ./check.t:expand-weird-1 pass ./check.t:expand-weird-2 pass ./check.t:expand-weird-3 pass ./check.t:eglob-bad-1 pass ./check.t:eglob-bad-2 pass ./check.t:eglob-infinite-plus pass ./check.t:eglob-subst-1 pass ./check.t:eglob-nomatch-1 pass ./check.t:eglob-match-1 pass ./check.t:eglob-case-1 pass ./check.t:eglob-case-2 pass ./check.t:eglob-trim-1 pass ./check.t:eglob-trim-2 pass ./check.t:eglob-trim-3 pass ./check.t:eglob-substrpl-1 pass ./check.t:eglob-substrpl-2 pass ./check.t:eglob-substrpl-3a pass ./check.t:eglob-substrpl-3b pass ./check.t:eglob-substrpl-3c pass ./check.t:eglob-utf8-1 pass ./check.t:glob-bad-1 pass ./check.t:glob-bad-2 pass ./check.t:glob-range-1 pass ./check.t:glob-range-2 pass ./check.t:glob-range-3 pass ./check.t:glob-range-4 pass ./check.t:glob-range-5 pass ./check.t:glob-trim-1 pass ./check.t:heredoc-1 pass ./check.t:heredoc-2 pass ./check.t:heredoc-3 pass ./check.t:heredoc-4 pass ./check.t:heredoc-5 pass ./check.t:heredoc-6 pass ./check.t:heredoc-7 pass ./check.t:heredoc-8 pass ./check.t:heredoc-9a pass ./check.t:heredoc-9c pass ./check.t:heredoc-9d pass ./check.t:heredoc-9e pass ./check.t:heredoc-10 pass ./check.t:heredoc-11 pass ./check.t:heredoc-comsub-1 pass ./check.t:heredoc-comsub-2 pass ./check.t:heredoc-comsub-3 pass ./check.t:heredoc-comsub-4 pass ./check.t:heredoc-subshell-1 pass ./check.t:heredoc-subshell-2 pass ./check.t:heredoc-subshell-3 pass ./check.t:heredoc-weird-1 pass ./check.t:heredoc-weird-2 pass ./check.t:heredoc-weird-4 pass ./check.t:heredoc-weird-5 pass ./check.t:heredoc-tmpfile-1 pass ./check.t:heredoc-tmpfile-2 pass ./check.t:heredoc-tmpfile-3 pass ./check.t:heredoc-tmpfile-4 pass ./check.t:heredoc-tmpfile-5 pass ./check.t:heredoc-tmpfile-6 pass ./check.t:heredoc-tmpfile-7 pass ./check.t:heredoc-tmpfile-8 pass ./check.t:heredoc-quoting-unsubst pass ./check.t:heredoc-quoting-subst pass ./check.t:single-quotes-in-braces pass ./check.t:single-quotes-in-quoted-braces pass ./check.t:single-quotes-in-braces-nested pass ./check.t:single-quotes-in-brace-pattern pass ./check.t:single-quotes-in-heredoc-braces pass ./check.t:single-quotes-in-nested-braces pass ./check.t:single-quotes-in-nested-quoted-braces pass ./check.t:single-quotes-in-nested-braces-nested pass ./check.t:single-quotes-in-nested-brace-pattern pass ./check.t:single-quotes-in-heredoc-nested-braces pass ./check.t:history-basic pass ./check.t:history-dups pass ./check.t:history-unlink pass ./check.t:history-e-minus-1 pass ./check.t:history-e-minus-2 pass ./check.t:history-e-minus-3 pass ./check.t:history-e-minus-4 pass ./check.t:history-e-minus-5 pass ./check.t:history-list-1 pass ./check.t:history-list-2 pass ./check.t:history-list-3 pass ./check.t:history-list-4 pass ./check.t:history-list-5 pass ./check.t:history-list-6 pass ./check.t:history-list-7 pass ./check.t:history-list-r-1 pass ./check.t:history-list-r-2 pass ./check.t:history-list-r-3 pass ./check.t:history-subst-1 pass ./check.t:history-subst-2 pass ./check.t:history-subst-3 FAIL ./check.t:history-subst-4 Description: Global substitutions work (ksh88 and ksh93 do not have -g option) unexpected exit status 9 (signal 9), expected 0 pass ./check.t:history-subst-5 FAIL ./check.t:history-ed-1 (ignored) Description: Basic (ed) editing works (assumes you have generic ed editor that prints no prompts). This is for newish ed(1) and stderr. unexpected exit status 32512 (exit-code 127), expected 0 unexpected stdout - got too little output wanted: abc def FOOBAR def got: abc def unexpected stderr - wanted pattern: /^X*13\n16\necho FOOBAR def\nX*$/ got: XX/home/root/mksh/mksh: /bin/ed: not found X/home/root/mksh/mksh: [3]: s/abc/FOOBAR/: not found X/home/root/mksh/mksh: [4]: w: not found X/home/root/mksh/mksh: [5]: q: not found X [incomplete last line] FAIL ./check.t:history-ed-2 (ignored) Description: Correct command is edited when number given unexpected exit status 32512 (exit-code 127), expected 0 unexpected stdout - got too little output wanted: line 1 line 2 is here line 3 line 4 line 2 is changed got: line 1 line 2 is here line 3 line 4 unexpected stderr - wanted pattern: /^X*20\n23\necho line 2 is changed\nX*$/ got: XXXXX/home/root/mksh/mksh: /bin/ed: not found X/home/root/mksh/mksh: [6]: s/is: not found X/home/root/mksh/mksh: [7]: w: not found X/home/root/mksh/mksh: [8]: q: not found X [incomplete last line] FAIL ./check.t:history-ed-3 (ignored) Description: Newly created multi line commands show up as single command in history. unexpected stdout - first difference: line 2, char 1 (wanted 'F', got 'a' wanted: abc def FOOBAR def a new line 1 echo abc def 2 echo FOOBAR def 3 echo a new line got: abc def a new line 1 echo abc def 2 fc echo 3 s/abc/FOOBAR/ 4 $a 5 echo a new line 6 . 7 w 8 q unexpected stderr - wanted pattern: /^X*13\n32\necho FOOBAR def\necho a new line\nX*$/ got: XX/home/root/mksh/mksh: /bin/ed: not found X/home/root/mksh/mksh: [3]: s/abc/FOOBAR/: not found XXX/home/root/mksh/mksh: [6]: .: missing argument X/home/root/mksh/mksh: [7]: w: not found X/home/root/mksh/mksh: [8]: q: not found XX [incomplete last line] pass ./check.t:IFS-space-1 pass ./check.t:IFS-colon-1 pass ./check.t:IFS-null-1 pass ./check.t:IFS-space-colon-1 pass ./check.t:IFS-space-colon-2 pass ./check.t:IFS-space-colon-4 pass ./check.t:IFS-space-colon-5 pass ./check.t:IFS-subst-1 fail ./check.t:IFS-subst-2 (as expected) Description: Check leading whitespace after trim does not make a field unexpected stdout - first difference: line 1, char 15 (wanted '1', got '>' wanted: <1> <1> <2> got: <1> <> <1> <2> pass ./check.t:integer-base-err-1 pass ./check.t:integer-base-err-2 FAIL ./check.t:integer-base-err-3 Description: Syntax errors in expressions and effects on bases (interactive so errors don't cause exits) (ksh88 fails this test - shell exits, even with -i) unexpected stderr - wanted pattern: /^([#\$] )?.*:.*2+.*\n.*:.*2+.*\n$/ got: /home/root/mksh/mksh: can't unlink HISTFILE : No such file or directory # /home/root/mksh/mksh: [3]: 2+: unexpected 'end of expression' /home/root/mksh/mksh: [6]: 2+: unexpected 'end of expression' pass ./check.t:integer-base-err-4 pass ./check.t:integer-base-1 pass ./check.t:integer-base-2 pass ./check.t:integer-base-3 pass ./check.t:integer-base-4 pass ./check.t:integer-base-5 pass ./check.t:integer-base-6 pass ./check.t:integer-base-7 pass ./check.t:integer-base-check-flat pass ./check.t:integer-base-check-numeric-from pass ./check.t:integer-base-check-numeric-to pass ./check.t:integer-arithmetic-span pass ./check.t:lineno-stdin pass ./check.t:lineno-inc pass ./check.t:lineno-func pass ./check.t:lineno-unset pass ./check.t:lineno-unset-use pass ./check.t:lineno-trap pass ./check.t:unknown-trap pass ./check.t:read-IFS-1 pass ./check.t:read-ksh-1 pass ./check.t:read-regress-1 pass ./check.t:read-delim-1 pass ./check.t:read-ext-1 pass ./check.t:regression-1 pass ./check.t:regression-2 pass ./check.t:regression-6 pass ./check.t:regression-9 pass ./check.t:regression-10 pass ./check.t:regression-11 pass ./check.t:regression-12 pass ./check.t:regression-13 FAIL ./check.t:regression-14 Description: The command $ (foobar) 2> /dev/null generates no output under /bin/sh, but pdksh produces the error foobar: not found Also, the command $ foobar 2> /dev/null generates an error under /bin/sh and pdksh, but AT&T ksh88 produces no error (redirected to /dev/null). unexpected exit status 9 (signal 9), expected 0 pass ./check.t:regression-15 pass ./check.t:regression-16 pass ./check.t:regression-17 pass ./check.t:regression-19 pass ./check.t:regression-21 pass ./check.t:regression-22 pass ./check.t:regression-23 pass ./check.t:regression-25 pass ./check.t:regression-26 pass ./check.t:regression-27 pass ./check.t:regression-28 pass ./check.t:regression-29 pass ./check.t:regression-30 pass ./check.t:regression-31 pass ./check.t:regression-32 pass ./check.t:regression-33 pass ./check.t:regression-35 pass ./check.t:regression-36 pass ./check.t:regression-37 pass ./check.t:regression-38 pass ./check.t:regression-39 pass ./check.t:regression-40 pass ./check.t:regression-41 pass ./check.t:regression-42 pass ./check.t:regression-43 pass ./check.t:regression-45 pass ./check.t:regression-46 pass ./check.t:regression-47 pass ./check.t:regression-48 pass ./check.t:regression-49 FAIL ./check.t:regression-50 Description: Check that aliases do not use continuation prompt after trailing semi-colon. unexpected stderr - first difference: line 1, char 1 (wanted 'Y', got '/' wanted: YYYY [incomplete last line] got: /home/root/mksh/mksh: can't unlink HISTFILE : No such file or directory YYYY [incomplete last line] pass ./check.t:regression-51 FAIL ./check.t:regression-52 Description: Check that globbing works in pipelined commands unexpected stderr - first difference: line 1, char 1 (wanted 'P', got '/' wanted: PPPPP [incomplete last line] got: /home/root/mksh/mksh: can't unlink HISTFILE : No such file or directory PPPPP [incomplete last line] pass ./check.t:regression-53 pass ./check.t:regression-54 pass ./check.t:regression-55 pass ./check.t:regression-57 pass ./check.t:regression-58 pass ./check.t:regression-59 FAIL ./check.t:regression-60 Description: Check if default exit status is previous command unexpected exit status 9 (signal 9), expected 0 unexpected stdout - got too little output wanted: A 0 B 1 C 103 got nothing pass ./check.t:regression-61 pass ./check.t:regression-62 pass ./check.t:regression-63 pass ./check.t:regression-64 pass ./check.t:regression-65 pass ./check.t:regression-66 pass ./check.t:readonly-0 pass ./check.t:readonly-1 pass ./check.t:readonly-2a pass ./check.t:readonly-2b pass ./check.t:readonly-3 pass ./check.t:syntax-1 pass ./check.t:xxx-quoted-newline-1 pass ./check.t:xxx-quoted-newline-2 pass ./check.t:xxx-quoted-newline-3 pass ./check.t:xxx-multi-assignment-cmd pass ./check.t:xxx-multi-assignment-posix-cmd pass ./check.t:xxx-multi-assignment-posix-nocmd pass ./check.t:xxx-multi-assignment-posix-subassign pass ./check.t:xxx-exec-environment-1 pass ./check.t:xxx-exec-environment-2 pass ./check.t:exec-function-environment-1 pass ./check.t:xxx-what-do-you-call-this-1 pass ./check.t:xxx-prefix-strip-1 pass ./check.t:xxx-prefix-strip-2 pass ./check.t:xxx-variable-syntax-1 pass ./check.t:xxx-variable-syntax-2 pass ./check.t:xxx-variable-syntax-3 pass ./check.t:xxx-substitution-eval-order pass ./check.t:xxx-set-option-1 pass ./check.t:xxx-exec-1 pass ./check.t:xxx-while-1 pass ./check.t:xxx-status-1 pass ./check.t:xxx-status-2 pass ./check.t:xxx-clean-chars-1 pass ./check.t:xxx-param-subst-qmark-1 pass ./check.t:xxx-param-_-1 pass ./check.t:tilde-expand-1 pass ./check.t:tilde-expand-2 pass ./check.t:exit-err-1 pass ./check.t:exit-err-2 pass ./check.t:exit-err-3 pass ./check.t:exit-err-4 pass ./check.t:exit-err-5 pass ./check.t:exit-err-7 pass ./check.t:exit-err-8 pass ./check.t:exit-enoent-1 pass ./check.t:exit-eval-1 pass ./check.t:exit-trap-1 pass ./check.t:exit-trap-2 pass ./check.t:exit-trap-interactive pass ./check.t:test-stlt-1 pass ./check.t:test-precedence-1 pass ./check.t:test-option-1 pass ./check.t:mkshrc-1 pass ./check.t:mkshrc-2a pass ./check.t:mkshrc-2b pass ./check.t:mkshrc-3 pass ./check.t:sh-mode-1 pass ./check.t:sh-mode-2a pass ./check.t:pipeline-1 pass ./check.t:pipeline-2 pass ./check.t:pipeline-3 pass ./check.t:pipeline-4 pass ./check.t:persist-history-1 pass ./check.t:typeset-1 pass ./check.t:typeset-padding-1 pass ./check.t:typeset-padding-2 pass ./check.t:utf8bom-1 FAIL ./check.t:utf8bom-2 (ignored) Description: Check that we can execute BOM-shebangs (failures not fatal) XXX if the OS can already execute them, we lose note: cygwin execve(2) doesn't return to us with ENOEXEC, we lose note: Ultrix perl5 t4 returns 65280 (exit-code 255) and no text unexpected exit status 256 (exit-code 1), expected 0 unexpected stdout - got too little output wanted: 1 a=/nonexistant{FOO} 2 a=/nonexistant{FOO} 3 a=BAR 4 a=BAR got: 1 a=/nonexistant{FOO} pass ./check.t:utf8opt-1a pass ./check.t:utf8opt-2a pass ./check.t:utf8opt-3a FAIL ./check.t:utf8opt-3b Description: Ensure ±U on the command line is honoured, interactive shells unexpected stderr - got too much output wanted nothing got: /home/root/mksh/mksh: can't unlink HISTFILE : No such file or directory /home/root/mksh/mksh: can't unlink HISTFILE : No such file or directory pass ./check.t:aliases-1 pass ./check.t:aliases-2b pass ./check.t:aliases-3b pass ./check.t:aliases-cmdline pass ./check.t:aliases-funcdef-1 pass ./check.t:aliases-funcdef-2 pass ./check.t:aliases-funcdef-3 pass ./check.t:aliases-funcdef-4 pass ./check.t:arrays-1 pass ./check.t:arrays-2a pass ./check.t:arrays-2b pass ./check.t:arrays-3 pass ./check.t:arrays-4 pass ./check.t:arrays-5 pass ./check.t:arrays-6 pass ./check.t:arrays-7 pass ./check.t:arrays-8 pass ./check.t:arrays-9a pass ./check.t:arrays-9b pass ./check.t:arrassign-basic pass ./check.t:arrassign-fnc-none pass ./check.t:arrassign-fnc-local pass ./check.t:arrassign-fnc-global pass ./check.t:strassign-fnc-none pass ./check.t:strassign-fnc-local pass ./check.t:strassign-fnc-global pass ./check.t:varexpand-substr-1 pass ./check.t:varexpand-substr-2 pass ./check.t:varexpand-substr-3 pass ./check.t:varexpand-substr-4 pass ./check.t:varexpand-substr-5A pass ./check.t:varexpand-substr-5W pass ./check.t:varexpand-substr-6 pass ./check.t:varexpand-special-hash pass ./check.t:varexpand-special-quote pass ./check.t:varexpand-null-1 pass ./check.t:varexpand-null-2 pass ./check.t:print-funny-chars pass ./check.t:print-bksl-c pass ./check.t:print-cr pass ./check.t:print-nul-chars pass ./check.t:print-escapes pass ./check.t:dollar-doublequoted-strings pass ./check.t:dollar-quoted-strings pass ./check.t:dollar-quotes-in-heredocs-strings pass ./check.t:dot-needs-argument pass ./check.t:alias-function-no-conflict pass ./check.t:bash-function-parens pass ./check.t:integer-base-one-1 pass ./check.t:integer-base-one-2a pass ./check.t:integer-base-one-2b pass ./check.t:integer-base-one-2c1 pass ./check.t:integer-base-one-2c2 pass ./check.t:integer-base-one-2d1 pass ./check.t:integer-base-one-2d2 pass ./check.t:integer-base-one-2d3 pass ./check.t:integer-base-one-2d4 pass ./check.t:integer-base-one-2d5 pass ./check.t:integer-base-one-2d6 pass ./check.t:integer-base-one-3As pass ./check.t:integer-base-one-3Ws pass ./check.t:integer-base-one-3Ar pass ./check.t:integer-base-one-3Wr pass ./check.t:integer-base-one-4 pass ./check.t:integer-base-one-5A pass ./check.t:integer-base-one-5W pass ./check.t:redir-1 pass ./check.t:bashiop-1 pass ./check.t:bashiop-2a pass ./check.t:bashiop-2b pass ./check.t:bashiop-2c FAIL ./check.t:bashiop-3a Description: Check if GNU bash-like I/O redirection fails correctly Part 1: this is also supported by GNU bash unexpected stdout - first difference: line 1, char 1 (wanted '=', got 't' wanted: === mir got: tri === ras dwa unexpected stderr - wanted pattern: /.*: can't (create|overwrite) .*/ got nothing pass ./check.t:bashiop-3b pass ./check.t:bashiop-4 pass ./check.t:bashiop-5-normal pass ./check.t:mkshiop-1 pass ./check.t:mkshiop-2 pass ./check.t:oksh-eval pass ./check.t:oksh-and-list-error-1 pass ./check.t:oksh-and-list-error-2 pass ./check.t:oksh-or-list-error-1 FAIL ./check.t:oksh-longline-crash Description: This used to cause a core dump unexpected stderr - got too much output wanted nothing got: /home/root/mksh/mksh: [1]: ulimit: bad coredump(blocks) limit: Function not implemented pass ./check.t:oksh-seterror-1 pass ./check.t:oksh-seterror-2 pass ./check.t:oksh-seterror-3 pass ./check.t:oksh-seterror-4 pass ./check.t:oksh-seterror-5 pass ./check.t:oksh-seterror-6 pass ./check.t:oksh-seterror-7 pass ./check.t:oksh-input-comsub pass ./check.t:oksh-empty-for-list pass ./check.t:oksh-varfunction-mod1 pass ./check.t:fd-cloexec-1 pass ./check.t:fd-cloexec-2 pass ./check.t:comsub-1a pass ./check.t:comsub-1b pass ./check.t:comsub-2 pass ./check.t:comsub-3 pass ./check.t:comsub-4 pass ./check.t:comsub-5 pass ./check.t:comsub-torture pass ./check.t:comsub-torture-io pass ./check.t:funsub-1 pass ./check.t:funsub-2 pass ./check.t:valsub-1 pass ./check.t:test-stnze-1 pass ./check.t:test-stnze-2 pass ./check.t:event-subst-3 pass ./check.t:event-subst-0 pass ./check.t:nounset-1 pass ./check.t:nameref-1 pass ./check.t:nameref-2da pass ./check.t:nameref-3 pass ./check.t:nameref-4 pass ./check.t:better-parens-1a pass ./check.t:better-parens-1b pass ./check.t:better-parens-1c pass ./check.t:better-parens-2a pass ./check.t:better-parens-2b pass ./check.t:better-parens-2c pass ./check.t:better-parens-3a pass ./check.t:better-parens-3b pass ./check.t:better-parens-3c pass ./check.t:better-parens-4a pass ./check.t:better-parens-4b pass ./check.t:better-parens-4c pass ./check.t:echo-test-1 pass ./check.t:echo-test-2 pass ./check.t:echo-test-3-normal pass ./check.t:utilities-getopts-1 pass ./check.t:utilities-getopts-2 pass ./check.t:wcswidth-1 pass ./check.t:wcswidth-2 pass ./check.t:wcswidth-3 pass ./check.t:wcswidth-4a pass ./check.t:wcswidth-4b pass ./check.t:wcswidth-4c pass ./check.t:debian-117-1 pass ./check.t:debian-117-2 pass ./check.t:debian-117-3 pass ./check.t:debian-117-4 pass ./check.t:case-zsh pass ./check.t:case-braces pass ./check.t:command-shift pass ./check.t:duffs-device pass ./check.t:stateptr-underflow pass ./check.t:xtrace-1 Total failed: 16 (4 ignored) (11 unexpected) Total passed: 452