Testing mksh for conformance: grep: illegal option -- e Usage: grep -blcnsvi pattern file . . . This shell is actually: @(#)MIRBSD KSH R59 2021/06/29 test.sh built for mksh R59 2021/06/29 Trying Perl interpreter 'perl5'... ./test.sh[85]: perl5: inaccessible or not found Errorlevel 127, running on '' => not using Trying Perl interpreter 'perl'... Errorlevel 0, running on 'aux, Perl version 5.006' => using it + perl ./check.pl -p /root/mksh/mksh -C shell:legacy-no,int:32,shell:textmode-no,shell:binmode-yes,no-histfile,stdout-ed,no-stderr-ed -v -s ./check.t pass ./check.t:KSH_VERSION pass ./check.t:KSH_VERSION-modern pass ./check.t:KSH_VERSION-ascii pass ./check.t:KSH_VERSION-binmode pass ./check.t:selftest-1 pass ./check.t:selftest-2 pass ./check.t:selftest-3 pass ./check.t:selftest-exec FAIL ./check.t:selftest-exec-perl Description: Ensure we can run perl scriptlets in tests as well unexpected stdout - first difference: line 1, char 1 (wanted 0x33 ('3'), got 0x3D ('=') wanted: 333 = 0 got: = 126 unexpected stderr - got too much output wanted nothing got: /root/mksh/mksh: [3]: ./lq: No such file or directory pass ./check.t:selftest-exec-a pass ./check.t:selftest-direct-builtin-call pass ./check.t:selftest-pathsep-unix pass ./check.t:selftest-tools pass ./check.t:selftest-tty-present 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:alias-11 pass ./check.t:alias-12 pass ./check.t:arith-compound 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-lazy-5-arr-n pass ./check.t:arith-lazy-5-arr-p pass ./check.t:arith-lazy-5-str-n pass ./check.t:arith-lazy-5-str-p pass ./check.t:arith-lazy-5-tern-l-n pass ./check.t:arith-lazy-5-tern-l-p pass ./check.t:arith-lazy-5-tern-r-n pass ./check.t:arith-lazy-5-tern-r-p pass ./check.t:arith-ternary-prec-1 pass ./check.t:arith-ternary-prec-2 pass ./check.t:arith-prec-1 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 pass ./check.t:env-prompt pass ./check.t:expand-ugly 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:expand-weird-4 pass ./check.t:expand-bang-1 pass ./check.t:expand-bang-2 pass ./check.t:expand-number-1 FAIL ./check.t:expand-slashes-1 Description: Check that side effects in substring replacement are handled correctly unexpected stdout - first difference: line 1, char 12 (wanted 0x6E ('n'), got 0x31 ('1') wanted: 1 [3][3][3]n2n3 . 2 2 , 3 . got: 1 [3][3][3]12233 . 2 2 , 3 . FAIL ./check.t:expand-slashes-2 Description: Check that side effects in substring replacement are handled correctly unexpected stdout - first difference: line 1, char 10 (wanted 0x5B ('['), got 0x31 ('1') wanted: 1 [3]n1n1[4][5] . 2 5 , 5 . got: 1 [3]n1n112n33 . 2 3 , 3 . FAIL ./check.t:expand-slashes-3 Description: Check that we can access the replaced string unexpected stdout - first difference: line 1, char 17 (wanted 0x32 ('2'), got 0x31 ('1') wanted: 1 [n1][n1][n1][n2]n3 . got: 1 [n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1][n1]nnnn . 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 FAIL ./check.t:eglob-substrpl-1 Description: Check eglobbing works in substs... and they work at all unexpected stdout - first difference: line 9, char 22 (wanted 0x5F ('_'), got 0x2F ('/') wanted: 1: 122321_ab/cde_b/c_1221 . 1222321_ab/cde_b/c_1221 2: 131_ab/cde_b/c_11 3: 1321_ab/cde_b/c_1221 4: 131_ab/cde_b/c_11 5: 1422321_ab/cde_b/c_1221 6: 1444341_ab/cde_b/c_1441 7: 14321_ab/cde_b/c_1221 8: 14341_ab/cde_b/c_141 9: 1222321_ac/e/f/cde_b/c_1221 10: 1222321_ae/fde_b/c_1221 11: 1222321_ae/fde_b/c_1221 12: 1222321_ae\/fde_b/c_1221 13: 1222321_ab/cde_b/c_1221 14: 1222321_ac/e/f/cde_c/e/f/c_1221 15: 1222321_ae/fde_e/f_1221 16: 1222321_ae/fde_e/f_1221 17: 1222321_ae\/fde_e\/f_1221 18: 1222321_ab/cde_b/c_1221 19: 1222321_ax_1221 20: 1222321_ab.cde_b/c_1221 21: 1222321_ab.cde_b.c_1221 22: 1222321_ab/cde_b/c_1221 23: 9222321_ab/cde_b/c_1221 24: 1222321_ab/cde_b/c_1221 25: 1222321_ab/cde_b/c_1229 26: 1222321_ab/cde_b/c_1221 27: 1222321_ab/cde_b/c_1221 28: 1222321_ab/cde_b/c_1221 29: 1222321_9b/cde_b/c_1221 30: 1222321_ab/cde_b/c_1221 31: 1xyz22321_ab/cde_b/c_1221 got: 1: 122321_ab/cde_b/c_1221 . 1222321_ab/cde_b/c_1221 2: 131_ab/cde_b/c_11 3: 1321_ab/cde_b/c_1221 4: 131_ab/cde_b/c_11 5: 1422321_ab/cde_b/c_1221 6: 1444341_ab/cde_b/c_1441 7: 14321_ab/cde_b/c_1221 8: 14341_ab/cde_b/c_141 9: 1222321_ac/e/f/cde/cde/cde/c 10: 1222321_ae/fde_b/c_1221 11: 1222321_ae/fde_b/c_1221 12: 1222321_ae\/fde_bbc_1121 13: 1222321_ab/cde_b/c_1221 14: 1222321_ac/e/f/cde/cde/cde/c 15: 1222321_ae/fde_e/f_1221 16: 1222321_ae/fde_e/f_1221 17: 1222321_ae\/fde_bbc_1121 18: 1222321_ab/cde_b/c_1221 19: 1222321_ax_1221 20: 1222321_ab.cde_b/c_1221 21: 1222321_ab.cde_b.c_1221 22: 1222321_ab/cde_b/c_1221 23: 9222321_ab/cde_b/c_1221 24: 1222321_ab/cde_b/c_1221 25: 1222321_ab/cde_b/c_1229 26: 1222321_ab/cde_b/c_1221 27: 1222321_ab/cde_b/c_1221 28: 1222321_ab/cde_b/c_1221 29: 1222321_9b/cde_b/c_1221 30: 1222321_ab/cde_b/c_1221 31: 1xyz223232ababdede/c/c2222/ pass ./check.t:eglob-substrpl-2 pass ./check.t:eglob-substrpl-3a pass ./check.t:eglob-substrpl-3b FAIL ./check.t:eglob-substrpl-3c Description: Even more weird cases unexpected stdout - first difference: line 14, char 13 (wanted 0x74 ('t'), got 0x24 ('$') wanted: 1: $pfx/tmp 2: /etc/tmp 3: $pfx/tmp 4: /etc/tmp 5: /etc/tmp 6: $pfx/tmp 7: c/da/b$tp$tp_a/b$tp_*(a/b)_*($tp) 8: $tra/b$tp$tp_a/b$tp_*(a/b)_*($tp) 9: c/da/b$tp$tp_a/b$tp_*(a/b)_*($tp) 10: a/ba/bc/d$tp_a/b$tp_*(a/b)_*($tp) 11: a/ba/b$tp$tp_a/b$tp_*(a/b)_*($tp) 12: c/da/b$tp$tp_a/b$tp_*(a/b)_*($tp) 13: c/da/b$tp$tp_a/b$tp_*(a/b)_*($tp) 14: c\/da/b$tp$tp_a/b$tp_*(a/b)_*($tp) 15: c/d$tp$tp_a/b$tp_*(a/b)_*($tp) 16: $tr$tp$tp_a/b$tp_*(a/b)_*($tp) 17: c/d$tp$tp_a/b$tp_*(a/b)_*($tp) 18: c/d$tp$tp_a/b$tp_*(a/b)_*($tp) 19: c/d$tp$tp_a/b$tp_*(a/b)_*($tp) 20: c/dc/d$tp$tp_c/d$tp_*(c/d)_*($tp) 21: $tr$tr$tp$tp_$tr$tp_*($tr)_*($tp) 22: c/dc/d$tp$tp_c/d$tp_*(c/d)_*($tp) 23: c/dc/d$tp$tp_c/d$tp_*(c/d)_*($tp) 24: c/dc/d$tp$tp_c/d$tp_*(c/d)_*($tp) 25: c/d$tp$tp_c/d$tp_*(c/d)_*($tp) 26: $tr$tp$tp_$tr$tp_*($tr)_*($tp) 27: c/d$tp$tp_c/d$tp_*(c/d)_*($tp) 28: c/d$tp$tp_c/d$tp_*(c/d)_*($tp) 29: c/d$tp$tp_c/d$tp_*(c/d)_*($tp) 30: a/ba/b$tp$tp_a/b$tp_*(a/b)_*($tp) 31: a/ba/b$tp$tp_a/b$tp_*(a/b)_*($tp) got: 1: $pfx/tmp 2: /etc/tmp 3: $pfx/tmp 4: /etc/tmp 5: /etc/tmp 6: $pfx/tmp 7: c/da/b$tp$tp_a/b$tp_*(a/b)_*($tp) 8: $tra/b$tp$tp_a/b$tp_*(a/b)_*($tp) 9: c/da/b$tp$tp_a/b$tp_*(a/b)_*($tp) 10: a/ba/bc/d$tp_a/b$tp_*(a/b)_*($tp) 11: a/ba/b$tp$tp_a/b$tp_*(a/b)_*($tp) 12: c/da/b$tp$tp_a/b$tp_*(a/b)_*($tp) 13: c/da/b$tp$tp_a/b$tp_*(a/b)_*($tp) 14: c\/da/b$$p$tt_a//$tpp*(aab)__($tt)) 15: c/d$tp$tp_a/b$tp_*(a/b)_*($tp) 16: $tr$tp$tp_a/b$tp_*(a/b)_*($tp) 17: c/d$tp$tp_a/b$tp_*(a/b)_*($tp) 18: c/d$tp$tp_a/b$tp_*(a/b)_*($tp) 19: c/d$tp$tp_a/b$tp_*(a/b)_*($tp) 20: c/dc/d$tp$tp_c/d$tp_*(c/d)_*($tp) 21: $tr$tr$tp$tp_$tr$tp_*($tr)_*($tp) 22: c/dc/d$tp$tp_c/d$tp_*(c/d)_*($tp) 23: c/dc/d$tp$tp_c/d$tp_*(c/d)_*($tp) 24: c/dc/d$tp$tp_c/d$tp_*(c/d)_*($tp) 25: c/d$tp$tp_c/d$tp_*(c/d)_*($tp) 26: $tr$tp$tp_$tr$tp_*($tr)_*($tp) 27: c/d$tp$tp_c/d$tp_*(c/d)_*($tp) 28: c/d$tp$tp_c/d$tp_*(c/d)_*($tp) 29: c/d$tp$tp_c/d$tp_*(c/d)_*($tp) 30: a/ba/b$tp$tp_a/b$tp_*(a/b)_*($tp) 31: a/ba/b$tp$tp_a/b$tp_*(a/b)_*($tp) pass ./check.t:eglob-utf8-1 pass ./check.t:glob-bad-1 pass ./check.t:glob-bad-2 pass ./check.t:glob-bad-3 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-range-6 pass ./check.t:glob-word-1 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-4a pass ./check.t:heredoc-4an pass ./check.t:heredoc-4b pass ./check.t:heredoc-4bn pass ./check.t:heredoc-5 pass ./check.t:heredoc-6 pass ./check.t:heredoc-7 pass ./check.t:heredoc-8 pass ./check.t:heredoc-9 pass ./check.t:heredoc-10 pass ./check.t:heredoc-11 pass ./check.t:heredoc-12 pass ./check.t:heredoc-14 pass ./check.t:heredoc-15 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-comsub-5 pass ./check.t:heredoc-comsub-6 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:single-quotes-in-heredoc-trim pass ./check.t:history-basic pass ./check.t:history-dups pass ./check.t:history-unlink pass ./check.t:history-multiline 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 pass ./check.t:history-subst-4 pass ./check.t:history-subst-5 pass ./check.t:history-ed-1-old pass ./check.t:history-ed-2-old pass ./check.t:history-ed-3-old 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:IFS-subst-2 pass ./check.t:IFS-subst-3-arr pass ./check.t:IFS-subst-3-ass pass ./check.t:IFS-subst-3-lcl pass ./check.t:IFS-subst-4-1 pass ./check.t:IFS-subst-4-2 pass ./check.t:IFS-subst-4-3 pass ./check.t:IFS-subst-4-4 pass ./check.t:IFS-subst-4-4p pass ./check.t:IFS-subst-4-5 pass ./check.t:IFS-subst-4-5p pass ./check.t:IFS-subst-5 pass ./check.t:IFS-subst-6 pass ./check.t:IFS-subst-7 pass ./check.t:IFS-subst-8 pass ./check.t:IFS-subst-9 pass ./check.t:IFS-subst-10 pass ./check.t:IFS-subst-11 pass ./check.t:IFS-arith-1 pass ./check.t:integer-base-err-1 pass ./check.t:integer-base-err-2 pass ./check.t:integer-base-err-3 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-8 pass ./check.t:integer-base-check-flat pass ./check.t:integer-base-check-numeric-from-1 pass ./check.t:integer-base-check-numeric-from-2 pass ./check.t:integer-base-check-numeric-to-1 pass ./check.t:integer-base-check-numeric-to-2 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:lineno-eval-alias pass ./check.t:unknown-trap pass ./check.t:read-IFS-1 pass ./check.t:read-IFS-2 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 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 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 pass ./check.t:regression-50 pass ./check.t:regression-51 pass ./check.t:regression-52 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 pass ./check.t:regression-62 pass ./check.t:regression-63 pass ./check.t:regression-64 pass ./check.t:regression-66 pass ./check.t:regression-67 pass ./check.t:regression-68 pass ./check.t:regression-69 pass ./check.t:export-1 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:readonly-4 pass ./check.t:readonly-5 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:exec-execs pass ./check.t:exec-modern pass ./check.t:exec-ksh88 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-variable-syntax-4 pass ./check.t:xxx-substitution-eval-order pass ./check.t:xxx-substitution-eval-order-2 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-subst-qmark-namespec pass ./check.t:xxx-param-_-1 pass ./check.t:tilde-expand-1 pass ./check.t:tilde-expand-2 pass ./check.t:tilde-expand-3 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-err-9 pass ./check.t:exit-err-10 pass ./check.t:exit-err-11 pass ./check.t:exit-enoent-1 pass ./check.t:exit-enoent-2 pass ./check.t:exit-eval-1 pass ./check.t:exit-stdout-1 pass ./check.t:exit-stdout-2 pass ./check.t:exit-trap-1 pass ./check.t:exit-trap-2 pass ./check.t:exit-trap-3 pass ./check.t:exit-trap-interactive pass ./check.t:test-stlt-1 pass ./check.t:test-str-pattern pass ./check.t:test-precedence-1 pass ./check.t:test-option-1 pass ./check.t:test-varset-1 pass ./check.t:test-varset-2 pass ./check.t:test-stnze-1 pass ./check.t:test-stnze-2 pass ./check.t:test-numeq 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-1-exec-a pass ./check.t:sh-mode-2a pass ./check.t:sh-options pass ./check.t:pipeline-1 pass ./check.t:pipeline-2 pass ./check.t:pipeline-3 pass ./check.t:pipeline-4 pass ./check.t:typeset-1 pass ./check.t:typeset-2 pass ./check.t:typeset-padding-1 pass ./check.t:typeset-padding-2 pass ./check.t:typeset-padding-3 pass ./check.t:utf8bom-1 pass ./check.t:utf8opt-1 pass ./check.t:utf8opt-2 pass ./check.t:utf8opt-3a pass ./check.t:utf8opt-3b pass ./check.t:utf8bug-1 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-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-eol 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:unset-fnc-local-ksh pass ./check.t:unset-fnc-local-sh 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:varexpand-null-3 pass ./check.t:varexpand-funny-chars pass ./check.t:print-funny-chars pass ./check.t:print-bksl-c pass ./check.t:print-cr pass ./check.t:print-crlf pass ./check.t:print-lf pass ./check.t:print-nul-chars pass ./check.t:print-array 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:dot-errorlevel 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:ulimit-1 pass ./check.t:ulimit-2 pass ./check.t:ulimit-3 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 pass ./check.t:bashiop-3a pass ./check.t:bashiop-3b pass ./check.t:bashiop-4 pass ./check.t:bashiop-5 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 pass ./check.t:oksh-longline-crash 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 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: /E: open / got: /root/mksh/mksh: [8]: ./cld: No such file or directory 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 32256 (exit-code 126), expected 0 unexpected stdout - got too little output wanted: Fowl got nothing unexpected stderr - first difference: line 1, char 1 (wanted 0x46 ('F'), got 0x2F ('/') wanted: Fowl = got: /root/mksh/mksh: [7]: ./cld: No such file or directory = /root/mksh/mksh: [11]: ./cld: No such file or directory pass ./check.t:fd-cloexec-3 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: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:better-parens-5 pass ./check.t:echo-test-1 pass ./check.t:echo-test-2 pass ./check.t:echo-test-3-normal pass ./check.t:env-intvars pass ./check.t:utilities-getopts-1 pass ./check.t:utilities-getopts-2 pass ./check.t:utilities-getopts-3 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:command-set pass ./check.t:command-readonly pass ./check.t:command-dot-regression pass ./check.t:command-pvV-posix-priorities pass ./check.t:duffs-device pass ./check.t:xtrace-1 pass ./check.t:xtrace-2 pass ./check.t:fksh-flags pass ./check.t:fsh-flags Total failed: 8 (8 unexpected) Total passed: 566