more query language parser tests
This commit is contained in:
parent
3f32131c63
commit
c7ddb07149
53
tests/langparser1/langparser1.sh
Executable file
53
tests/langparser1/langparser1.sh
Executable file
@ -0,0 +1,53 @@
|
||||
#!/bin/sh
|
||||
|
||||
# langparser actually test queries. We only test the language parser, the tested reference is the Xapian query.
|
||||
|
||||
topdir=`dirname $0`/..
|
||||
. $topdir/shared.sh
|
||||
|
||||
initvariables $0
|
||||
xrun()
|
||||
{
|
||||
echo $*
|
||||
$*
|
||||
}
|
||||
|
||||
(
|
||||
for Q in \
|
||||
'A' \
|
||||
'A B' \
|
||||
'A AND B' \
|
||||
'A OR B' \
|
||||
'A OR B AND C' \
|
||||
'A AND B OR C' \
|
||||
'(A AND B) OR (C AND D)' \
|
||||
'(A OR B) AND (C OR D)' \
|
||||
'-the B' \
|
||||
'A -B' \
|
||||
'mime:text/plain' \
|
||||
'size>10k' \
|
||||
'date:3000-01-01' \
|
||||
'mime:text/plain A OR B mime:text/html' \
|
||||
'mime:text/plain A AND B mime:text/html' \
|
||||
'mime:text/plain mime:text/html (A B) ' \
|
||||
'mime:text/plain OR mime:text/html OR (A B) ' \
|
||||
'rclcat:media A' \
|
||||
'rclcat:media rclcat:message A' \
|
||||
'A size>10k' \
|
||||
'size>10k A' \
|
||||
'date:3000-01-01 A' \
|
||||
'A OR B date:3000-01-01' \
|
||||
'A OR B AND date:3000-01-01' \
|
||||
'title:A B' \
|
||||
'title:A -B' \
|
||||
'A -title:B' \
|
||||
; do
|
||||
# The " $Q" is there to avoid issue with a query beginning with -
|
||||
# (recollq does not grok --)
|
||||
printf "%60s" "Query: $Q -> ";recollq -Q -q " $Q"
|
||||
done
|
||||
) 2> $mystderr | egrep -v 'results|^Query setup took' > $mystdout
|
||||
|
||||
diff -w ${myname}.txt $mystdout > $mydiffs 2>&1
|
||||
|
||||
checkresult
|
||||
27
tests/langparser1/langparser1.txt
Normal file
27
tests/langparser1/langparser1.txt
Normal file
@ -0,0 +1,27 @@
|
||||
Query: A -> Recoll query: (a:(wqf=11))
|
||||
Query: A B -> Recoll query: ((a:(wqf=11) AND b:(wqf=11)))
|
||||
Query: A AND B -> Recoll query: ((a:(wqf=11) AND b:(wqf=11)))
|
||||
Query: A OR B -> Recoll query: ((a:(wqf=11) OR b:(wqf=11)))
|
||||
Query: A OR B AND C -> Recoll query: (((a:(wqf=11) OR b:(wqf=11)) AND c:(wqf=11)))
|
||||
Query: A AND B OR C -> Recoll query: ((a:(wqf=11) AND (b:(wqf=11) OR c:(wqf=11))))
|
||||
Query: (A AND B) OR (C AND D) -> Recoll query: (((a:(wqf=11) AND b:(wqf=11)) OR (c:(wqf=11) AND d:(wqf=11))))
|
||||
Query: (A OR B) AND (C OR D) -> Recoll query: (((a:(wqf=11) OR b:(wqf=11)) AND (c:(wqf=11) OR d:(wqf=11))))
|
||||
Query: -the B -> Recoll query: (((<alldocuments> AND_NOT the:(wqf=11)) AND b:(wqf=11)))
|
||||
Query: A -B -> Recoll query: ((a:(wqf=11) AND (<alldocuments> AND_NOT b:(wqf=11))))
|
||||
Query: mime:text/plain -> Recoll query: ((<alldocuments> FILTER Ttext/plain))
|
||||
Query: size>10k -> Recoll query: ((<alldocuments> FILTER VALUE_GE 2 000000010000))
|
||||
Query: date:3000-01-01 -> Recoll query: ((<alldocuments> FILTER D30000101))
|
||||
Query: mime:text/plain A OR B mime:text/html -> Recoll query: (((a:(wqf=11) OR b:(wqf=11)) FILTER (Ttext/html OR Ttext/plain)))
|
||||
Query: mime:text/plain A AND B mime:text/html -> Recoll query: (((a:(wqf=11) AND b:(wqf=11)) FILTER (Ttext/html OR Ttext/plain)))
|
||||
Query: mime:text/plain mime:text/html (A B) -> Recoll query: (((a:(wqf=11) AND b:(wqf=11)) FILTER (Ttext/html OR Ttext/plain)))
|
||||
Query: mime:text/plain OR mime:text/html OR (A B) -> Recoll query: (((a:(wqf=11) AND b:(wqf=11)) FILTER (Ttext/html OR Ttext/plain)))
|
||||
Query: rclcat:media A -> Recoll query: ((a:(wqf=11) FILTER (Tapplication/ogg OR Tapplication/x-flac OR Taudio/mpeg OR Taudio/x-karaoke OR Timage/bmp OR Timage/gif OR Timage/jpeg OR Timage/png OR Timage/svg+xml OR Timage/tiff OR Timage/vnd.djvu OR Timage/x-icon OR Timage/x-xcf OR Timage/x-xpmi OR Tvideo/*)))
|
||||
Query: rclcat:media rclcat:message A -> Recoll query: ((a:(wqf=11) FILTER (Tapplication/ogg OR Tapplication/x-flac OR Taudio/mpeg OR Taudio/x-karaoke OR Timage/bmp OR Timage/gif OR Timage/jpeg OR Timage/png OR Timage/svg+xml OR Timage/tiff OR Timage/vnd.djvu OR Timage/x-icon OR Timage/x-xcf OR Timage/x-xpmi OR Tmessage/rfc822 OR Ttext/x-gaim-log OR Ttext/x-mail OR Ttext/x-purple-html-log OR Ttext/x-purple-log OR Tvideo/*)))
|
||||
Query: A size>10k -> Recoll query: ((a:(wqf=11) FILTER VALUE_GE 2 000000010000))
|
||||
Query: size>10k A -> Recoll query: ((a:(wqf=11) FILTER VALUE_GE 2 000000010000))
|
||||
Query: date:3000-01-01 A -> Recoll query: ((a:(wqf=11) FILTER D30000101))
|
||||
Query: A OR B date:3000-01-01 -> Recoll query: (((a:(wqf=11) OR b:(wqf=11)) FILTER D30000101))
|
||||
Query: A OR B AND date:3000-01-01 -> Recoll query: (((a:(wqf=11) OR b:(wqf=11)) FILTER D30000101))
|
||||
Query: title:A B -> Recoll query: ((Sa:(wqf=11) AND b:(wqf=11)))
|
||||
Query: title:A -B -> Recoll query: ((Sa:(wqf=11) AND (<alldocuments> AND_NOT b:(wqf=11))))
|
||||
Query: A -title:B -> Recoll query: ((a:(wqf=11) AND (<alldocuments> AND_NOT Sb:(wqf=11))))
|
||||
Loading…
x
Reference in New Issue
Block a user