busybox/shell/hush_test/hush-parsing/and_or_and_backgrounding.tests
Denys Vlasenko ee553b929c hush: fix and_or_and_backgrounding.tests failure
function                                             old     new   delta
done_pipe                                            133     218     +85

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-07-15 22:51:55 +02:00

32 lines
1.0 KiB
Plaintext
Executable File

# UNFIXED BUG: hush thinks that ; && || & have the same precedence.
# According to this doc, && || have higher precedence than ; &.
# See example below.
# Precedence of ; is not a problem in practice. Precedence of & is.
#
#http://www.opengroup.org/onlinepubs/009695399/utilities/xcu_chap02.html
#
#2.9.3 Lists
#
#An AND-OR list is a sequence of one or more pipelines separated by
#the operators "&&" and "||" .
#
#A list is a sequence of one or more AND-OR lists separated by the operators
#';' and '&' and optionally terminated by ';', '&', or <newline>.
#
#The operators "&&" and "||" shall have equal precedence and shall be
#evaluated with left associativity. For example, both of the following
#commands write solely bar to standard output:
#
# false && echo foo || echo bar
# true || echo foo && echo bar
#
#A ';' or <newline> terminator shall cause the preceding AND-OR list
#to be executed sequentially; an '&' shall cause asynchronous execution
#of the preceding AND-OR list.
echo First && sleep 0.2 && echo Third &
sleep 0.1
echo Second
wait
echo Done