Item9022: output from QueryTests seems unusual
Priority: Normal
Current State: No Action Required
Released In: 1.1.0
Target Release: minor
Applies To: Engine
Component:
Branches:
what does 'Excess operators' mean, and is it hiding an issue?
Running QueryTests
QueryTests::test_string_bops
QueryTests::test_backslash_match_good
*** Excess operators (=) in '' \' '=~' \' ''
QueryTests::test_backslash_match_fail
*** Excess operators (=) in '' \ '=~' \\ ''
QueryTests::test_constant_strings
QueryTests::verify_partial_match_BruteForceQuery
*** Excess operators (=) in ''AA'=~'A''
QueryTests::verify_word_end_match_fail_BruteForceQuery
*** Excess operators (=) in ''foob'=~'foo\b''
QueryTests::verify_length_BruteForceQuery
QueryTests::verify_meta_squabs_BruteForceQuery
QueryTests::verify_array_squab_BruteForceQuery
QueryTests::verify_d2n_BruteForceQuery
QueryTests::verify_word_bound_match_good_BruteForceQuery
*** Excess operators (=) in ''foo bar baz'=~'\bbar\b''
QueryTests::verify_match_good_BruteForceQuery
*** Excess operators (=) in ''A'=~'A''
QueryTests::verify_boolean_bops_BruteForceQuery
QueryTests::verify_match_fail_BruteForceQuery
*** Excess operators (=) in ''A'=~'B''
QueryTests::verify_array_dot_BruteForceQuery
QueryTests::verify_meta_dot_BruteForceQuery
QueryTests::verify_brackets_BruteForceQuery
QueryTests::verify_boolean_uops_BruteForceQuery
QueryTests::verify_string_bops_BruteForceQuery
QueryTests::verify_slashes_BruteForceQuery
QueryTests::verify_num_bops_BruteForceQuery
QueryTests::verify_word_bound_match_fail_BruteForceQuery
*** Excess operators (=) in ''foo bar baz'=~'\bbam\b''
--
SvenDowideit - 15 May 2010
"Excess operators" means the parse of the query expression failed. The infix parser is a standard stack-parser, which uses an operator stack and an operand stack. If, at the end of the parse, it is left with operators that have no matching operands, you can get an "Excess operators" error. For example, if you wrote 'A AND AND B'. Analogous to this error is an "Excess operands" error, which would result if you wrote "A A AND B B".
The query tests pass on my system (after fixing a recent change to the
BruteForce module) without this message. Could it be something to do with character encoding ? (wild guess)
--
CrawfordCurrie - 18 May 2010
yes, they pass without message on the build server too - just on my box.
which makes me worry about 2 things.
- what is different about it (I suspect a cfg issue)
- why do the tests still pass even with this warning?
(2) seems like a problem to me
--
SvenDowideit - 18 May 2010
I have no idea where that's coming from. By inspection, I can't see where that message might be generated, and since the tests don't fail here I can't nail it down.
--
CrawfordCurrie - 19 May 2010
doesn't seem to happen on all my checkouts, so must be something odd about an old one. closing
--
SvenDowideit - 16 Jul 2010