mirror of
git://git.sv.gnu.org/coreutils
synced 2026-05-06 07:06:38 -04:00
tests: expr: add short-circuit tests with parenthesized branches
* tests/expr/expr.pl: Add tests to verify that short-circuit evaluation of | and & correctly skips parenthesized dead branches, including nested parenthesized expressions containing division by zero. https://github.com/uutils/coreutils/pull/11395 https://github.com/coreutils/coreutils/pull/238
This commit is contained in:
committed by
Pádraig Brady
parent
829593317d
commit
793f45e916
@@ -69,6 +69,12 @@ my @Tests =
|
||||
['andand', '0 \& 1 / 0', {OUT => '0'}, {EXIT => 1}],
|
||||
['oror', '1 \| 1 / 0', {OUT => '1'}, {EXIT => 0}],
|
||||
|
||||
# Short-circuit must also skip parenthesized dead branches.
|
||||
['or-paren', '1 \| \( 1 / 0 \)', {OUT => '1'}, {EXIT => 0}],
|
||||
['and-paren', '0 \& \( 1 / 0 \)', {OUT => '0'}, {EXIT => 1}],
|
||||
['or-nested', '1 \| \( 0 \& \( 1 / 0 \) \)', {OUT => '1'}, {EXIT => 0}],
|
||||
['and-nested', '0 \& \( 1 \| \( 1 / 0 \) \)', {OUT => '0'}, {EXIT => 1}],
|
||||
|
||||
# In 5.1.3 and earlier, this would output the empty string.
|
||||
['orempty', '"" \| ""', {OUT => '0'}, {EXIT => 1}],
|
||||
|
||||
|
||||
Reference in New Issue
Block a user