dash.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* dash tested against ash testsuite: 17 failures
@ 2016-10-01 17:17 Denys Vlasenko
  2016-10-08 19:42 ` Martijn Dekker
  0 siblings, 1 reply; 6+ messages in thread
From: Denys Vlasenko @ 2016-10-01 17:17 UTC (permalink / raw)
  To: Herbert Xu, busybox, Ron Yorston, dash

[-- Attachment #1: Type: text/plain, Size: 2341 bytes --]

ash-signals/savetrap.tests
While trying to port some fixes from dash,
one of them broke some signal handling testcases.

I guess some of things we test for are not tested
by dash developers.

I ran entire ash testsuite against dash, deleted failing
things which dash does not support (some bashisms),
and false positives caused by differences in error
messages.

What's left is:

ash-glob/glob2.tests:
    Evidently, dash supports \f -> ^L escape.
    This test uses \f as invalid backslash escape,
    hence differences.

ash-misc/echo_write_error.tests
    EPIPE errors in echo are not reported

ash-misc/func2.tests
    $((i++)) not supported

ash-misc/local1.tests
    Doesn't unset as described:
        local a
        # the above line unsets $a
        echo "A2:'$a'"

ash-misc/shift1.tests
    "shift N" fails if fewer than N argv[i] exists
    (likely not a bug, but bash does it differently)

ash-redir/redir.tests
    echo errors due to closed stdout are not reported

ash-redir/redir3.tests
    "echo foo >&9" correctly says "9: Bad file descriptor"
    and exitcode is 2 (in bash, it is 1).

ash-redir/redir7.tests
ash-redir/redir8.tests
    uni\x81code filename is not found by uni?code glob pattern.

ash-signals/reap1.tests
    Builtins never wait for children. This loop will not ever stop:
    sleep 1 &
    PID=$!
    while kill -0 $PID >/dev/null 2>&1; do
        true
    done

ash-signals/savetrap.tests
    `trap` does not work as expected

ash-signals/sigint1.tests
    trap "exit 0" SIGINT - does not like name "SIGINT". "INT" works.

ash-signals/signal4.tests
    trap "echo Trapped" BADNAME TERM - abort seeing BADNAME.
    bash complains, but sets the trap for the second signal.

ash-signals/signal8.tests
    "kill %1" in non-interactive shell does not find
    previously backgrounded task.

ash-vars/var-utf8-length.tests
    ${#VAR} counts unicode chars in bash

ash-vars/var_unbackslash.tests
    b=-$a-\t-\\-\"-\`-\--\z-\*-\?-
    b="-$a-\t-\\-\"-\`-\--\z-\*-\?-"
    b='-$a-\t-\\-\"-\`-\--\z-\*-\?-'
    b1=$b
    "b1=$b"
    You can imagine... not everything went well here...

ash-vars/var_unbackslash.tests
    echo Forty two:$\
    (\
    (\
    42\
    )\
    )
    dash says: Syntax error: Missing '))'


The tarball is attached. Unpack, add an ash -> /path/to/your/dash
symlink, then run ./run-all

[-- Attachment #2: ash_test.tar.gz --]
[-- Type: application/x-gzip, Size: 13851 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2016-10-12 17:32 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-10-01 17:17 dash tested against ash testsuite: 17 failures Denys Vlasenko
2016-10-08 19:42 ` Martijn Dekker
2016-10-10 20:20   ` Harald van Dijk
2016-10-12 17:24     ` Harald van Dijk
2016-10-10 21:51   ` Jilles Tjoelker
2016-10-10 22:30     ` Harald van Dijk

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).