Testing mksh for conformance: # $MirOS: src/bin/mksh/check.t,v 1.565 2012/11/12 19:13:44 tg Exp $ @(#)MIRBSD KSH R40 2012/11/12 This shell is actually: Version AJM 93u+ 2012-08-01 test.sh built for mksh R40 2012/11/12 Trying Perl interpreter 'perl5'... ./test.sh[54]: perl5: not found [No such file or directory] Errorlevel 127, running on '' => not using Trying Perl interpreter 'perl'... Errorlevel 0, running on 'uwin-nt, Perl version 5.008001' => using it + perl ./check.pl -p /home/ITEDN32A/wctam/mksh/mksh -C shell:legacy-no,int:32,stdout-ed,no-stderr-ed,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 FAIL ./check.t:alias-9 Description: Check that recursion is detected/avoided in aliases. This check fails for slow machines or Cygwin, raise the time-limit clause (e.g. to 7) if this occurs. unexpected stdout - got too little output wanted: tf tf got: tf 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-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 FAIL ./check.t:cd-pe (ignored) Description: Check package for cd -Pe unexpected exit status 1280 (exit-code 5), expected 0 unexpected stdout - first difference: line 1, char 1 (wanted '0', got 'n' wanted: 0=0 1=0,noread/target 2=0,noread/target/subdir now with -e: 0=0 1=0,noread/target 2=1,noread/target/subdir got: now with -e: 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/ITEDN32A/wctam/mksh/mksh: j_init: tcgetpgrp failed: Not a typewriter /home/ITEDN32A/wctam/mksh/mksh: warning: won't have full job control XX [incomplete last line] FAIL ./check.t:expand-ugly Description: Check that weird ${foo+bar} constructs are parsed correctly unexpected stdout - first difference: line 4, char 4 (wanted 'o', got 'a' wanted: 1 }z 2 ''z} 3 foo 'bar baz 4 foo b c baz 5 foo b c baz 6 }z 7 }z 8 ""z} 9 "}"z 10 foo bar} baz 11 ''z} 12 }z 13 }z 14 }z 15 <}> . 16 hi there 17 hi there 18 hi there 19 hi there 20 hi there 21 hi there 22 hi there 23 hi there 24 'value' 25 'value' 26 $key 27 'value' 28 'x ~ x''x}"x}" # 29 <{}b> <}> . 30 . 32 . 33 . 34 . 35 . 36 . 37 . 38 xay / x'a'y . 39 x' / x' . 40 < b c> . got: 1 }z 2 ''z} 3 foo 'bar baz 4 failed in 4 5 failed in 5 6 }z 7 }z 8 ""z} 9 "}"z 10 foo bar} baz 11 ''z} 12 }z 13 }z 14 }z 15 . 16 hi there 17 hi there 18 hi there 19 hi there 20 hi there 21 hi there 22 hi there 23 hi there 24 failed in 24 25 failed in 25 26 failed in 26 27 failed in 27 28 failed in 28 29 . 30 . 32 . 33 . 34 . 35 . 36 . 37 . 38 xay / x'a'y . 39 x' / x' . 40 . pass ./check.t:expand-unglob-dblq pass ./check.t:expand-unglob-unq 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: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 FAIL ./check.t:heredoc-9a Description: Check that here strings work. unexpected exit status 1280 (exit-code 5), expected 0 unexpected stdout - got too little output wanted: sbb sbb one onm $one $one -sbb got nothing FAIL ./check.t:heredoc-9c Description: Check that a corner case of here strings works like ksh93, zsh unexpected exit status 1280 (exit-code 5), expected 0 unexpected stdout - got too little output wanted: one $sabeq onm got nothing FAIL ./check.t:heredoc-9d Description: Check another corner case of here strings unexpected exit status 1280 (exit-code 5), expected 0 unexpected stdout - got too little output wanted: one got nothing 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-quoting-unsubst pass ./check.t:heredoc-quoting-subst 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 FAIL ./check.t:history-basic Description: See if we can test history at all unexpected stderr - wanted pattern: /^X*$/ got: /home/ITEDN32A/wctam/mksh/mksh: j_init: tcgetpgrp failed: Not a typewriter /home/ITEDN32A/wctam/mksh/mksh: warning: won't have full job control XXX [incomplete last line] FAIL ./check.t:history-dups Description: Verify duplicates and spaces are not entered unexpected stderr - wanted pattern: /^X*$/ got: /home/ITEDN32A/wctam/mksh/mksh: j_init: tcgetpgrp failed: Not a typewriter /home/ITEDN32A/wctam/mksh/mksh: warning: won't have full job control XXXXX [incomplete last line] FAIL ./check.t:history-unlink Description: Check if broken HISTFILEs do not cause trouble unexpected exit status 1280 (exit-code 5), expected 0 FAIL ./check.t:history-e-minus-1 Description: Check if more recent command is executed unexpected stderr - wanted pattern: /^X*echo there\nX*$/ got: /home/ITEDN32A/wctam/mksh/mksh: j_init: tcgetpgrp failed: Not a typewriter /home/ITEDN32A/wctam/mksh/mksh: warning: won't have full job control XXXecho there X [incomplete last line] FAIL ./check.t:history-e-minus-2 Description: Check that repeated command is printed before command is re-executed. unexpected stderr - wanted pattern: /^X*$/ got: /home/ITEDN32A/wctam/mksh/mksh: j_init: tcgetpgrp failed: Not a typewriter /home/ITEDN32A/wctam/mksh/mksh: warning: won't have full job control X [incomplete last line] FAIL ./check.t:history-e-minus-3 Description: fc -e - fails when there is no history (ksh93 has a bug that causes this to fail) (ksh88 loops on this) unexpected stderr - wanted pattern: /^X*.*:.*history.*\nX*$/ got: /home/ITEDN32A/wctam/mksh/mksh: j_init: tcgetpgrp failed: Not a typewriter /home/ITEDN32A/wctam/mksh/mksh: warning: won't have full job control X/home/ITEDN32A/wctam/mksh/mksh: [1]: fc: no history (yet) XX [incomplete last line] FAIL ./check.t:history-e-minus-4 Description: Check if "fc -e -" command output goes to stdout. unexpected stderr - wanted pattern: /^X*echo abc\nX*/ got: /home/ITEDN32A/wctam/mksh/mksh: j_init: tcgetpgrp failed: Not a typewriter /home/ITEDN32A/wctam/mksh/mksh: warning: won't have full job control XXecho abc XX [incomplete last line] FAIL ./check.t:history-e-minus-5 Description: fc is replaced in history by new command. unexpected stderr - wanted pattern: /^X*echo ghi jkl\nX*$/ got: /home/ITEDN32A/wctam/mksh/mksh: j_init: tcgetpgrp failed: Not a typewriter /home/ITEDN32A/wctam/mksh/mksh: warning: won't have full job control XXXXecho ghi jkl XX [incomplete last line] FAIL ./check.t:history-list-1 Description: List lists correct range (ksh88 fails 'cause it lists the fc command) unexpected stderr - wanted pattern: /^X*$/ got: /home/ITEDN32A/wctam/mksh/mksh: j_init: tcgetpgrp failed: Not a typewriter /home/ITEDN32A/wctam/mksh/mksh: warning: won't have full job control XXXXX [incomplete last line] FAIL ./check.t:history-list-2 Description: Lists oldest history if given pre-historic number (ksh93 has a bug that causes this to fail) (ksh88 fails 'cause it lists the fc command) unexpected stderr - wanted pattern: /^X*$/ got: /home/ITEDN32A/wctam/mksh/mksh: j_init: tcgetpgrp failed: Not a typewriter /home/ITEDN32A/wctam/mksh/mksh: warning: won't have full job control XXXXX [incomplete last line] FAIL ./check.t:history-list-3 Description: Can give number 'options' to fc unexpected stderr - wanted pattern: /^X*$/ got: /home/ITEDN32A/wctam/mksh/mksh: j_init: tcgetpgrp failed: Not a typewriter /home/ITEDN32A/wctam/mksh/mksh: warning: won't have full job control XXXXXX [incomplete last line] FAIL ./check.t:history-list-4 Description: -1 refers to previous command unexpected stderr - wanted pattern: /^X*$/ got: /home/ITEDN32A/wctam/mksh/mksh: j_init: tcgetpgrp failed: Not a typewriter /home/ITEDN32A/wctam/mksh/mksh: warning: won't have full job control XXXXXX [incomplete last line] FAIL ./check.t:history-list-5 Description: List command stays in history unexpected stderr - wanted pattern: /^X*$/ got: /home/ITEDN32A/wctam/mksh/mksh: j_init: tcgetpgrp failed: Not a typewriter /home/ITEDN32A/wctam/mksh/mksh: warning: won't have full job control XXXXXXX [incomplete last line] FAIL ./check.t:history-list-6 Description: HISTSIZE limits about of history kept. (ksh88 fails 'cause it lists the fc command) unexpected stderr - wanted pattern: /^X*$/ got: /home/ITEDN32A/wctam/mksh/mksh: j_init: tcgetpgrp failed: Not a typewriter /home/ITEDN32A/wctam/mksh/mksh: warning: won't have full job control XXXXXXX [incomplete last line] FAIL ./check.t:history-list-7 Description: fc allows too old/new errors in range specification unexpected stderr - wanted pattern: /^X*$/ got: /home/ITEDN32A/wctam/mksh/mksh: j_init: tcgetpgrp failed: Not a typewriter /home/ITEDN32A/wctam/mksh/mksh: warning: won't have full job control XXXXXXX [incomplete last line] FAIL ./check.t:history-list-r-1 Description: test -r flag in history unexpected stderr - wanted pattern: /^X*$/ got: /home/ITEDN32A/wctam/mksh/mksh: j_init: tcgetpgrp failed: Not a typewriter /home/ITEDN32A/wctam/mksh/mksh: warning: won't have full job control XXXXXXX [incomplete last line] FAIL ./check.t:history-list-r-2 Description: If first is newer than last, -r is implied. unexpected stderr - wanted pattern: /^X*$/ got: /home/ITEDN32A/wctam/mksh/mksh: j_init: tcgetpgrp failed: Not a typewriter /home/ITEDN32A/wctam/mksh/mksh: warning: won't have full job control XXXXXXX [incomplete last line] FAIL ./check.t:history-list-r-3 Description: If first is newer than last, -r is cancelled. unexpected stderr - wanted pattern: /^X*$/ got: /home/ITEDN32A/wctam/mksh/mksh: j_init: tcgetpgrp failed: Not a typewriter /home/ITEDN32A/wctam/mksh/mksh: warning: won't have full job control XXXXXXX [incomplete last line] FAIL ./check.t:history-subst-1 Description: Basic substitution unexpected stderr - wanted pattern: /^X*echo AB def\nX*$/ got: /home/ITEDN32A/wctam/mksh/mksh: j_init: tcgetpgrp failed: Not a typewriter /home/ITEDN32A/wctam/mksh/mksh: warning: won't have full job control XXXecho AB def X [incomplete last line] FAIL ./check.t:history-subst-2 Description: Does subst find previous command? unexpected stderr - wanted pattern: /^X*echo ghi XYZQRT\nX*$/ got: /home/ITEDN32A/wctam/mksh/mksh: j_init: tcgetpgrp failed: Not a typewriter /home/ITEDN32A/wctam/mksh/mksh: warning: won't have full job control XXXecho ghi XYZQRT X [incomplete last line] FAIL ./check.t:history-subst-3 Description: Does subst find previous command when no arguments given unexpected stderr - wanted pattern: /^X*echo ghi XYZQRT\nX*$/ got: /home/ITEDN32A/wctam/mksh/mksh: j_init: tcgetpgrp failed: Not a typewriter /home/ITEDN32A/wctam/mksh/mksh: warning: won't have full job control XXXecho ghi XYZQRT X [incomplete last line] FAIL ./check.t:history-subst-4 Description: Global substitutions work (ksh88 and ksh93 do not have -g option) unexpected stderr - wanted pattern: /^X*echo FooBARbc def FooBARsjj sFooBARdjhFooBARsdjh FooBARsdjhFooBARsd\nX*$/ got: /home/ITEDN32A/wctam/mksh/mksh: j_init: tcgetpgrp failed: Not a typewriter /home/ITEDN32A/wctam/mksh/mksh: warning: won't have full job control XXecho FooBARbc def FooBARsjj sFooBARdjhFooBARsdjh FooBARsdjhFooBARsd X [incomplete last line] FAIL ./check.t:history-subst-5 Description: Make sure searches don't find current (fc) command (ksh88/ksh93 don't have the ? prefix thing so they fail this test) unexpected stderr - wanted pattern: /^X*echo AB def\nX*$/ got: /home/ITEDN32A/wctam/mksh/mksh: j_init: tcgetpgrp failed: Not a typewriter /home/ITEDN32A/wctam/mksh/mksh: warning: won't have full job control XXXecho AB def X [incomplete last line] FAIL ./check.t:history-ed-1-old (ignored) Description: Basic (ed) editing works (assumes you have generic ed editor that prints no prompts). This is for oldish ed(1) which write the character count to stdout. unexpected stderr - wanted pattern: /^X*echo FOOBAR def\nX*$/ got: /home/ITEDN32A/wctam/mksh/mksh: j_init: tcgetpgrp failed: Not a typewriter /home/ITEDN32A/wctam/mksh/mksh: warning: won't have full job control XXecho FOOBAR def X [incomplete last line] FAIL ./check.t:history-ed-2-old (ignored) Description: Correct command is edited when number given unexpected stderr - wanted pattern: /^X*echo line 2 is changed\nX*$/ got: /home/ITEDN32A/wctam/mksh/mksh: j_init: tcgetpgrp failed: Not a typewriter /home/ITEDN32A/wctam/mksh/mksh: warning: won't have full job control XXXXXecho line 2 is changed X [incomplete last line] FAIL ./check.t:history-ed-3-old (ignored) Description: Newly created multi line commands show up as single command in history. (NOTE: adjusted for COMPLEX HISTORY compile time option) (ksh88 fails 'cause it lists the fc command) unexpected stderr - wanted pattern: /^X*echo FOOBAR def\necho a new line\nX*$/ got: /home/ITEDN32A/wctam/mksh/mksh: j_init: tcgetpgrp failed: Not a typewriter /home/ITEDN32A/wctam/mksh/mksh: warning: won't have full job control XXecho FOOBAR def echo a new line 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 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/ITEDN32A/wctam/mksh/mksh: j_init: tcgetpgrp failed: Not a typewriter /home/ITEDN32A/wctam/mksh/mksh: warning: won't have full job control $ /home/ITEDN32A/wctam/mksh/mksh: [3]: 2+: unexpected 'end of expression' /home/ITEDN32A/wctam/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 FAIL ./check.t:regression-2 Description: When PATH is set before running a command, the new path is not used in doing the path search $ echo echo hi > /tmp/q ; chmod a+rx /tmp/q $ PATH=/tmp q q: not found $ in comexec() the two lines while (*vp != NULL) (void) typeset(*vp++, xxx, 0); need to be moved out of the switch to before findcom() is called - I don't know what this will break. unexpected exit status 32512 (exit-code 127), expected 0 unexpected stdout - got too little output wanted: hi got nothing unexpected stderr - got too much output wanted nothing got: /home/ITEDN32A/wctam/mksh/mksh: [11]: can't create Y/xxxscript: No such file or directory /home/ITEDN32A/wctam/mksh/mksh: [14]: xxxscript: not found 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 pass ./check.t:regression-14 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 FAIL ./check.t:regression-26 Description: Check reading stdin in a while loop. The read should read both lines, not just the first. unexpected stdout - got too much output wanted: b got: b b b b 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 FAIL ./check.t:regression-43 Description: Can subshells be prefixed by redirections (historical shells allow this) unexpected stdout - got too much output wanted nothing got: Xb pass ./check.t:regression-45 pass ./check.t:regression-46 pass ./check.t:regression-47 FAIL ./check.t:regression-48 Description: Check that (here doc) temp files are not left behind after an exec. unexpected stdout - first difference: line 1, char 11 (wanted 'h', got 'f' wanted: subtest-1 hi subtest-1 foo/* X a X few X lines subtest-2 hi subtest-2 foo/* got: subtest-1 foo/* subtest-2 foo/* 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/ITEDN32A/wctam/mksh/mksh: j_init: tcgetpgrp failed: Not a typewriter /home/ITEDN32A/wctam/mksh/mksh: warning: won't have full job control YYYY [incomplete last line] pass ./check.t:regression-51 FAIL ./check.t:regression-52 Description: Check that globbing works in pipelined commands unexpected stdout - first difference: line 1, char 1 (wanted 'X', got 'm' wanted: X stuff mark 1 Y X stuff mark 2 got: mark 1 Y X stuff mark 2 unexpected stderr - first difference: line 1, char 1 (wanted 'P', got '/' wanted: PPPPP [incomplete last line] got: /home/ITEDN32A/wctam/mksh/mksh: j_init: tcgetpgrp failed: Not a typewriter /home/ITEDN32A/wctam/mksh/mksh: warning: won't have full job control 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 pass ./check.t:regression-60 pass ./check.t:regression-61 FAIL ./check.t:regression-62 Description: Check if test -nt/-ot succeeds if second(first) file is missing. unexpected stdout - first difference: line 1, char 4 (wanted 'O', got 'B' wanted: nt OK ot OK got: nt BAD ot BAD 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 FAIL ./check.t:xxx-multi-assignment-posix-cmd Description: Check that the behaviour for multiple assignments with a command name matches POSIX. See: http://thread.gmane.org/gmane.comp.standards.posix.austin.general/1925 unexpected stdout - first difference: line 3, char 1 (wanted '3', got '4' wanted: 1 b a . 2 a b . 3 b . 4 a . got: 1 b a . 2 a b . 4 a . pass ./check.t:xxx-multi-assignment-posix-nocmd FAIL ./check.t:xxx-multi-assignment-posix-subassign Description: Check that the behaviour for multiple assignments matches POSIX: - The assignment words shall be expanded in the current execution environment. - The assignments happen in the temporary execution environment. unexpected stdout - first difference: line 1, char 1 (wanted '+', got '/' wanted: ++ +b+ +a+ /b/ ++ +b+ /b/ got: /b/ /b/ pass ./check.t:xxx-exec-environment-1 FAIL ./check.t:xxx-exec-environment-2 Description: Check to make sure exec doesn't change environment if a program isn't exec-ed unexpected exit status 1280 (exit-code 5), expected 0 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:tilde-expand-1 pass ./check.t:tilde-expand-2 FAIL ./check.t:exit-err-1 Description: Check some "exit on error" conditions unexpected stderr - first difference: line 2, char 1 (wanted '+', got '/' wanted: + env false + echo END got: + env false /usr/bin/env[67]: exec: false: cannot execute + echo END FAIL ./check.t:exit-err-2 Description: Check some "exit on error" edge conditions (POSIXly) unexpected stderr - first difference: line 2, char 1 (wanted '+', got '/' wanted: + env true + env false + echo END got: + env true /usr/bin/env[67]: exec: true: cannot execute + echo END pass ./check.t:exit-err-3 pass ./check.t:exit-err-4 pass ./check.t:exit-err-5 FAIL ./check.t:exit-enoent-1 Description: SUSv4 says that the shell should exit with 126/127 in some situations unexpected stdout - first difference: line 5, char 3 (wanted '1', got '4' wanted: 0 0 . 1 126 . 2 42 . 3 126 . 4 127 . 5 127 . got: 0 0 . 1 126 . 2 42 . 3 126 . 4 42 . 5 126 . pass ./check.t:exit-eval-1 pass ./check.t:exit-trap-1 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 FAIL ./check.t:pipeline-2 Description: check that co-processes work with TCOMs, TPIPEs and TPARENs unexpected exit status 1280 (exit-code 5), expected 0 unexpected stdout - got too little output wanted: 100 hi 200 hi 300 hi got nothing pass ./check.t:pipeline-3 FAIL ./check.t:persist-history-1 Description: Check if persistent history saving works unexpected stderr - wanted pattern: /^X*$/ got: /home/ITEDN32A/wctam/mksh/mksh: j_init: tcgetpgrp failed: Not a typewriter /home/ITEDN32A/wctam/mksh/mksh: warning: won't have full job control XX [incomplete last line] pass ./check.t:typeset-1 pass ./check.t:typeset-padding-1 pass ./check.t:typeset-padding-2 FAIL ./check.t:utf8bom-1 Description: Check that the UTF-8 Byte Order Mark is ignored as the first multibyte character of the shell input (with -c, from standard input, as file, or as eval argument), but nowhere else unexpected exit status 1280 (exit-code 5), expected 0 unexpected stdout - first difference: line 1, char 5 (wanted '4', got '1' wanted: got 4 files ohne = ohne ohne mit ohne = ohne ohne mit ohne = ohne ohne mit ohne = ohne ohne mit ohne = : ohne got: got 1 files = = = = = unexpected stderr - got too much output wanted nothing got: /home/ITEDN32A/wctam/mksh/mksh: [2]: can't create foo/fnord: No such file or directory /home/ITEDN32A/wctam/mksh/mksh: [3]: can't create foo/fnord: No such file or directory /home/ITEDN32A/wctam/mksh/mksh: [4]: can't create foo/bar: No such file or directory /home/ITEDN32A/wctam/mksh/mksh: [5]: can't create foo/zoo: No such file or directory /home/ITEDN32A/wctam/mksh/mksh: [16]: can't open foo/bar: No such file or directory 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/ITEDN32A/wctam/mksh/mksh: j_init: tcgetpgrp failed: Not a typewriter /home/ITEDN32A/wctam/mksh/mksh: warning: won't have full job control /home/ITEDN32A/wctam/mksh/mksh: j_init: tcgetpgrp failed: Not a typewriter /home/ITEDN32A/wctam/mksh/mksh: warning: won't have full job control pass ./check.t:aliases-1 pass ./check.t:aliases-2b FAIL ./check.t:aliases-3b Description: Check if running as sh does not influence built-in aliases unexpected exit status 1280 (exit-code 5), expected 0 unexpected stdout - got too little output wanted: autoload='typeset -fu' functions='typeset -f' hash='alias -t' history='fc -l' integer='typeset -i' local=typeset login='exec login' nameref='typeset -n' nohup='nohup ' r='fc -e -' source='PATH=$PATH:. command .' stop='kill -STOP' suspend='kill -STOP $$' type='whence -v' got nothing unexpected stderr - got too much output wanted nothing got: /home/ITEDN32A/wctam/mksh/mksh: [2]: ./sh: not found FAIL ./check.t:aliases-cmdline Description: Check that aliases work from the command line (Debian #517009) Note that due to the nature of the lexing process, defining aliases in COMSUBs then immediately using them, and things like 'alias foo=bar && foo', still fail. unexpected exit status 1280 (exit-code 5), expected 0 unexpected stdout - got too little output wanted: OK got nothing 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 FAIL ./check.t:arrays-2b Description: Check if bash-style arrays work as expected, with newlines unexpected stdout - first difference: line 1, char 1 (wanted '7', got '\n' wanted: 7|a|bc|d|$v|e f|$v|g| 7|a|bc|d|$v|e f|$v|g| 6|abc\|d|$v|e f|$v|g|| got: unexpected stderr - got too much output wanted nothing got: /home/ITEDN32A/wctam/mksh/mksh: [9]: ./pfp: can't execute: Permission denied /home/ITEDN32A/wctam/mksh/mksh: [14]: ./pfp: can't execute: Permission denied /home/ITEDN32A/wctam/mksh/mksh: [19]: ./pfp: can't execute: Permission denied 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 FAIL ./check.t:varexpand-substr-3 Description: Check that some things that work in bash fail. This is by design. And that some things fail in both. unexpected stdout - first difference: line 1, char 1 (wanted 'v', got '1' wanted: vcdefghix wcdefghix zabcdefghix 1 got: 1 unexpected stderr - wanted pattern: /x:n.*bad substitution.*\n.*bad substitution/ got nothing 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 FAIL ./check.t:varexpand-null-2 Description: Ensure empty strings, when quoted, are expanded as empty strings unexpected stdout - first difference: line 1, char 1 (wanted '<', got '.' wanted: <1> <> <2> <> <+> <> <3> <> <+> <> . got: . unexpected stderr - got too much output wanted nothing got: /home/ITEDN32A/wctam/mksh/mksh: [3]: ./pfs: can't execute: Permission denied pass ./check.t:print-funny-chars pass ./check.t:print-bksl-c pass ./check.t:print-nul-chars pass ./check.t:print-escapes pass ./check.t:dollar-doublequoted-strings FAIL ./check.t:dollar-quoted-strings Description: Check backslash expansion by $'…' strings unexpected stdout - got too little output wanted: 00000000 20 21 22 23 24 25 26 27 - 28 29 2A 2B 2C 2D 2E 2F | !"#$%&'()*+,-./| 00000010 20 01 02 03 04 05 06 0A - 61 0A 61 01 62 0A 07 38 | .......a.a.b..8| 00000020 39 3A 3B 3C 3D 3E 3F 40 - 41 42 43 44 1B 46 47 48 |9:;<=>?@ABCD.FGH| 00000030 49 0A 4A 4B 4C 4D 4E 4F - 50 51 52 53 54 01 56 57 |I.JKLMNOPQRST.VW| 00000040 58 59 5A 5B 5C 5D 5E 5F - 60 07 08 64 1B 0A 0C 67 |XYZ[\]^_`..d...g| 00000050 68 69 6A 6B 6C 6D 0A 6F - 70 71 0D 73 09 01 0B 77 |hijklm.opq.s...w| 00000060 01 79 7A 7B 7C 7D 7E 20 - 24 78 0A E2 82 AC 64 0A |.yz{|}~ $x....d.| 00000070 EF BF BD 0A C4 A3 0A 66 - 6E 0A 13 34 0A 9C 0A 9C |.......fn..4....| 00000080 35 0A 01 0A 01 0A 7F 0A - 02 82 AC 0A 61 0A 62 0A |5...........a.b.| got nothing unexpected stderr - got too much output wanted nothing got: /home/ITEDN32A/wctam/mksh/mksh: [40]: ./pfn: can't execute: Permission denied pass ./check.t:dollar-quotes-in-heredocs pass ./check.t:dollar-quotes-in-herestrings FAIL ./check.t:dot-needs-argument Description: check Debian #415167 solution: '.' without arguments should fail unexpected stderr - wanted pattern: /\.: missing argument.*\n.*\.: missing argument/ got nothing pass ./check.t:alias-function-no-conflict FAIL ./check.t:bash-function-parens Description: ensure the keyword function is ignored when preceding POSIX style function declarations (bashism) unexpected stdout - first difference: line 1, char 7 (wanted 'b', got '\n' wanted: korn: bar='foo' dash: bar='./f-dash' bash: bar='./f-bash' stop: bar='./f-stop' got: korn: dash: bash: stop: unexpected stderr - got too much output wanted nothing got: /home/ITEDN32A/wctam/mksh/mksh: [13]: ./f-korn: can't execute: Permission denied /home/ITEDN32A/wctam/mksh/mksh: [14]: ./f-dash: can't execute: Permission denied /home/ITEDN32A/wctam/mksh/mksh: [15]: ./f-bash: can't execute: Permission denied /home/ITEDN32A/wctam/mksh/mksh: [16]: ./f-stop: can't execute: Permission denied 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:ulimit-1 pass ./check.t:bashiop-1 pass ./check.t:bashiop-2a pass ./check.t:bashiop-2b pass ./check.t:bashiop-2c pass ./check.t:bashiop-3a pass ./check.t:bashiop-3b pass ./check.t:bashiop-4 pass ./check.t:mkshiop-1 pass ./check.t:mkshiop-2 pass ./check.t:oksh-shcrash pass ./check.t:oksh-varfunction-mod1 FAIL ./check.t:fd-cloexec-1 Description: Verify that file descriptors > 2 are private for Korn shells AT&T ksh93 does this still, which means we must keep it as well unexpected stderr - wanted pattern: /bad file descriptor/ got nothing FAIL ./check.t:fd-cloexec-2 Description: Verify that file descriptors > 2 are not private for POSIX shells See Debian Bug #154540, Closes: #499139 unexpected exit status 1280 (exit-code 5), expected 0 unexpected stdout - got too little output wanted: Fowl got nothing 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 FAIL ./check.t:comsub-5 Description: Check COMSUB works with aliases (does not expand them twice) unexpected stdout - first difference: line 1, char 1 (wanted 'a', got 'f' wanted: a b foo() { ./pfn "$(echo foo )" } got: foo() { ./pfn "$(echo foo )" } unexpected stderr - got too much output wanted nothing got: /home/ITEDN32A/wctam/mksh/mksh: [7]: ./pfn: can't execute: Permission denied pass ./check.t:comsub-torture pass ./check.t:comsub-torture-io pass ./check.t:funsub-1 pass ./check.t:test-stnze-1 pass ./check.t:test-stnze-2 FAIL ./check.t:event-subst-3 Description: Check that '!' substitution in noninteractive mode is ignored unexpected stdout - first difference: line 1, char 1 (wanted 'm', got 'y' wanted: molto bene yeap si meow = 0 foo got: yeap meow = 0 foo FAIL ./check.t:event-subst-0 Description: Check that '!' substitution in interactive mode is ignored unexpected stdout - first difference: line 1, char 1 (wanted 'm', got 'y' wanted: molto bene yeap si meow = 0 foo got: yeap meow = 0 foo 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: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:stateptr-underflow Total failed: 64 (4 ignored) (60 unexpected) Total passed: 364