While investigating the code coverage of the filtering feature, a couple
of possible tests cases were uncovered:
Error tests:
* Strings can't be IR root node
* Unary ! not allowed on string type
* Comparison with string type not allowed
* Logical operator not allowed with string types
* Nesting of binary operator not allowed
Valid tests:
* Cover all left/right operands permutations with
fields ref. and numeric values.
Signed-off-by: Christian Babeux <christian.babeux@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
"!a.f.d"
"asdf.asdfsd.sadf < 4"
"asdfasdf->asdfasdf < 2"
+ # String can't be root node
+ "\"somestring\""
+ # Unary op on string not allowed
+ "!\"somestring\""
+ # Comparison with string type not allowed
+ "\"somestring\" > 42"
+ "\"somestring\" > 42.0"
+ "42 > \"somestring\""
+ "42.0 > \"somestring\""
+ # Logical operator with string type not allowed
+ "\"somestring\" || 1"
+ "1 || \"somestring\""
+ # Nesting of binary operator not allowed
+ "1 | (1 | (1 | 1))"
+ "1 > (1 > (1 > 1))"
)
start_lttng_sessiond
"intfield < 0x2" #24
"intfield < 02" #25
"stringfield2 == \"\\\*\"" #26
+ "1.0 || intfield || 1.0" #27
+ "1 < intfield" #28
)
VALIDATOR=("validator_intfield" #1
"validator_intfield_lt" #24
"validator_intfield_lt" #25
"validator_true_statement" #26
+ "validator_true_statement" #27
+ "validator_intfield_gt" #28
)
FILTER_COUNT=${#FILTERS[@]}