Closed jacobperron closed 4 years ago
Once we get to three or more logical operators, the evaluation fails due to an assertion here:
https://github.com/ros-infrastructure/catkin_pkg/blob/27013d87262bef0d6ac7b9642aa4ed18d9ce21cd/src/catkin_pkg/condition.py#L61
Example input:
<depend condition="$FOO != ON and $FOO != 1 and $FOO != true">
If we add parentheses, then the expression evaluates correctly:
<depend condition="($FOO != ON and $FOO != 1) and $FOO != true">
I would think that the expression without parenthesis should work fine (as it would in a programming language).
Once we get to three or more logical operators, the evaluation fails due to an assertion here:
https://github.com/ros-infrastructure/catkin_pkg/blob/27013d87262bef0d6ac7b9642aa4ed18d9ce21cd/src/catkin_pkg/condition.py#L61
Example input:
If we add parentheses, then the expression evaluates correctly:
I would think that the expression without parenthesis should work fine (as it would in a programming language).