1# "found" is a keyword in MonetDB
2skip 0 substrenv UDM_TEST_DBADDR0 monetdb://
3
4skip !0 exec $(INDEXER) --checkconf  $(UDM_TEST_DIR)/indexer.conf 1>&2
5
6fail 20 exec $(INDEXER) --drop   $(UDM_TEST_DIR)/indexer.conf 1>&2
7fail !0 exec $(INDEXER) --create $(UDM_TEST_DIR)/indexer.conf 1>&2
8fail !0 exec $(INDEXER) --crawl  $(UDM_TEST_DIR)/indexer.conf 1>&2
9fail !0 exec $(INDEXER) -R       $(UDM_TEST_DIR)/indexer.conf 1>&2
10fail !0 exec $(INDEXER) --sqlmon $(UDM_TEST_DIR)/indexer.conf < $(UDM_TEST_DIR)/query.tst > $(UDM_TEST_DIR)/query.rej
11fail !0 mdiff $(UDM_TEST_DIR)/query.rej $(UDM_TEST_DIR)/query.res
12fail !0 exec rm -f $(UDM_TEST_DIR)/query.rej
13
14# Check ispell in hashed format
15fail !0 exec $(INDEXER) --hashspell
16fail !0 exec $(SEARCHSTD) "color&sy=0&sp=1&s=u&wfw=0&localconf=search1.conf"  >  $(UDM_TEST_DIR)/search.rej
17fail !0 exec $(SEARCHSTD) "colour&sy=0&sp=1&s=u&wfw=0&localconf=search1.conf" >> $(UDM_TEST_DIR)/search.rej
18fail !0 exec rm  $(UDM_TEST_DIR)/american.xlg.msp
19fail !0 exec rm  $(UDM_TEST_DIR)/british.xlg.msp
20
21# Check ispell in text format
22fail !0 exec $(SEARCHSTD) "color&sy=0&sp=0&s=u&wfw=0"  >> $(UDM_TEST_DIR)/search.rej
23fail !0 exec $(SEARCHSTD) "colour&sy=0&sp=0&s=u&wfw=0" >> $(UDM_TEST_DIR)/search.rej
24
25fail !0 exec $(SEARCHSTD) "color&sy=1&sp=0&s=u&wfw=0"  >> $(UDM_TEST_DIR)/search.rej
26fail !0 exec $(SEARCHSTD) "colour&sy=1&sp=0&s=u&wfw=0" >> $(UDM_TEST_DIR)/search.rej
27
28fail !0 exec $(SEARCHSTD) "color&sy=0&sp=1&s=u&wfw=0"  >> $(UDM_TEST_DIR)/search.rej
29fail !0 exec $(SEARCHSTD) "colour&sy=0&sp=1&s=u&wfw=0" >> $(UDM_TEST_DIR)/search.rej
30
31fail !0 exec $(SEARCHSTD) "color&sy=1&sp=1&s=u&wfw=0"  >> $(UDM_TEST_DIR)/search.rej
32fail !0 exec $(SEARCHSTD) "colour&sy=1&sp=1&s=u&wfw=0" >> $(UDM_TEST_DIR)/search.rej
33
34fail !0 exec $(SEARCHSTD) "color&sy=1&sp=1&s=u&wfw=255"  >> $(UDM_TEST_DIR)/search.rej
35fail !0 exec $(SEARCHSTD) "colour&sy=1&sp=1&s=u&wfw=255" >> $(UDM_TEST_DIR)/search.rej
36
37fail !0 exec $(SEARCHSTD) "rgb&wfw=0"  >>  $(UDM_TEST_DIR)/search.rej
38fail !0 exec $(SEARCHSTD) "rg&wfw=0"   >>  $(UDM_TEST_DIR)/search.rej
39fail !0 exec $(SEARCHSTD) "gb&wfw=0"   >>  $(UDM_TEST_DIR)/search.rej
40
41#
42# Test WordFormFactor with a single unique word
43#
44fail !0 exec $(SEARCHSTD) "test&sy=0&sp=1&s=u&wfw=255"    >> $(UDM_TEST_DIR)/search.rej
45fail !0 exec $(SEARCHSTD) "testing&sy=0&sp=1&s=u&wfw=255" >> $(UDM_TEST_DIR)/search.rej
46fail !0 exec $(SEARCHSTD) "test&sy=0&sp=1&s=u&wfw=100"    >> $(UDM_TEST_DIR)/search.rej
47fail !0 exec $(SEARCHSTD) "testing&sy=0&sp=1&s=u&wfw=100" >> $(UDM_TEST_DIR)/search.rej
48
49#
50# With multiple unique words
51#
52fail !0 exec $(SEARCHSTD) "is+test&sy=0&sp=1&s=u&wfw=255"    >> $(UDM_TEST_DIR)/search.rej
53fail !0 exec $(SEARCHSTD) "is+testing&sy=0&sp=1&s=u&wfw=255" >> $(UDM_TEST_DIR)/search.rej
54fail !0 exec $(SEARCHSTD) "is+test&sy=0&sp=1&s=u&wfw=100"    >> $(UDM_TEST_DIR)/search.rej
55fail !0 exec $(SEARCHSTD) "is+testing&sy=0&sp=1&s=u&wfw=100" >> $(UDM_TEST_DIR)/search.rej
56
57
58#
59# Prases with multi-words
60#
61fail !0 exec $(SEARCHSTD) '"red gb"&wfw=0'  >>  $(UDM_TEST_DIR)/search.rej
62
63# FIXME: this doesn't work: "multiword word"
64#fail !0 exec $(SEARCHSTD) '"rg blue"'  >>  $(UDM_TEST_DIR)/search.rej
65
66
67#
68# this one should not return results
69#
70fail !0 exec $(SEARCHSTD) "rb"   >>  $(UDM_TEST_DIR)/search.rej
71
72#
73# these ones should not return results because of "oneway" synonym.
74#
75fail !0 exec $(SEARCHSTD) "azure&wfw=0"   >>  $(UDM_TEST_DIR)/search.rej
76fail !0 exec $(SEARCHSTD) "purple&wfw=0"  >>  $(UDM_TEST_DIR)/search.rej
77
78#
79# Synonyms of "return" type
80#
81fail !0 exec $(SEARCHSTD) "scarlet&wfw=0"  >>  $(UDM_TEST_DIR)/search.rej
82fail !0 exec $(SEARCHSTD) "crimson&wfw=0"  >>  $(UDM_TEST_DIR)/search.rej
83
84#
85# Mode "final"
86#
87fail !0 exec $(SEARCHSTD) "June&wfw=0">>  $(UDM_TEST_DIR)/search.rej
88fail !0 exec $(SEARCHSTD) "06&wfw=0"  >>  $(UDM_TEST_DIR)/search.rej
89
90# test translit
91fail !0 exec $(SEARCHSTD) "%D2%C5%C4&tl=yes&wfw=0" >> $(UDM_TEST_DIR)/search.rej
92
93# test dehyphenation
94fail !0 exec $(SEARCHSTD) "peace-making&dh=no&wfw=0" >> $(UDM_TEST_DIR)/search.rej
95fail !0 exec $(SEARCHSTD) "peace-making&dh=yes&wfw=0" >> $(UDM_TEST_DIR)/search.rej
96
97# test complex synonyms
98fail !0 exec $(SEARCHSTD) "peace+making&csyn=no&wfw=0"  >> $(UDM_TEST_DIR)/search.rej
99fail !0 exec $(SEARCHSTD) "peace+making&csyn=yes&wfw=0" >> $(UDM_TEST_DIR)/search.rej
100
101
102# test that dash character is not considered as a word by its own
103fail !0 exec $(SEARCHSTD) "red+-+green&dh=no" >> $(UDM_TEST_DIR)/search.rej
104
105#
106# Bug#746 Stopwords in a long boolean query
107#
108fail !0 exec $(SEARCHSTD) '"is writing a log file can"' >>  $(UDM_TEST_DIR)/search.rej
109fail !0 exec $(SEARCHSTD) "is%26writing%26a%26log%26file%26can" >>  $(UDM_TEST_DIR)/search.rej
110
111#
112# Check that AND/NOT operators are automatically inserted before NOT
113#
114fail !0 exec $(SEARCHSTD) "log %7Efile" >>  $(UDM_TEST_DIR)/search.rej
115
116#
117# Check that NOT operator is ignored in a query with a single word
118#
119fail !0 exec $(SEARCHSTD) "%7Efile" >>  $(UDM_TEST_DIR)/search.rej
120
121#
122# Test many words and phrases with ispell
123#
124fail !0 exec $(SEARCHSTD) 'test+my+phrase&wfw=0'    >>  $(UDM_TEST_DIR)/search.rej
125fail !0 exec $(SEARCHSTD) 'testing+my+phrase&wfw=0' >>  $(UDM_TEST_DIR)/search.rej
126fail !0 exec $(SEARCHSTD) 'my+test+phrase&wfw=0'    >>  $(UDM_TEST_DIR)/search.rej
127fail !0 exec $(SEARCHSTD) 'my+testing+phrase&wfw=0' >>  $(UDM_TEST_DIR)/search.rej
128fail !0 exec $(SEARCHSTD) 'my+phrase+test&wfw=0'    >>  $(UDM_TEST_DIR)/search.rej
129fail !0 exec $(SEARCHSTD) 'my+phrase+testing&wfw=0' >>  $(UDM_TEST_DIR)/search.rej
130fail !0 exec $(SEARCHSTD) 'test_my_phrase&wfw=0'    >>  $(UDM_TEST_DIR)/search.rej
131fail !0 exec $(SEARCHSTD) 'testing_my_phrase&wfw=0' >>  $(UDM_TEST_DIR)/search.rej
132fail !0 exec $(SEARCHSTD) 'my_test_phrase&wfw=0'    >>  $(UDM_TEST_DIR)/search.rej
133fail !0 exec $(SEARCHSTD) 'my_testing_phrase&wfw=0' >>  $(UDM_TEST_DIR)/search.rej
134fail !0 exec $(SEARCHSTD) 'my_phrase_test&wfw=0'    >>  $(UDM_TEST_DIR)/search.rej
135fail !0 exec $(SEARCHSTD) 'my_phrase_testing&wfw=0' >>  $(UDM_TEST_DIR)/search.rej
136
137#
138# Test SubstringMatchMinWordLength
139#
140fail !0 exec $(SEARCHSTD) "colour&sy=0&sp=0&wm=sub&smmwl=3&s=u" >> $(UDM_TEST_DIR)/search.rej
141fail !0 exec $(SEARCHSTD) "colour&sy=0&sp=0&wm=sub&smmwl=7&s=u" >> $(UDM_TEST_DIR)/search.rej
142
143#
144# Bug#3790 Internal 500 error on spelling words with DGJRSZ flags
145#
146fail !0 exec $(SEARCHSTD) "travel&sy=0&sp=1" >> $(UDM_TEST_DIR)/search.rej
147
148# Create SQLWordForms data
149fail 20 exec $(INDEXER) --sqlmon $(UDM_TEST_DIR)/indexer.conf < $(UDM_TEST_DIR)/wordforms-drop.sql    1>&2
150fail !0 exec $(INDEXER) --sqlmon $(UDM_TEST_DIR)/indexer.conf < $(UDM_TEST_DIR)/wordforms-create.sql  1>&2
151fail !0 exec $(SEARCHSTD) "color&localconf=search2.conf"  >> $(UDM_TEST_DIR)/search.rej
152fail !0 exec $(SEARCHSTD) "colors&localconf=search2.conf" >> $(UDM_TEST_DIR)/search.rej
153# Drop SQLWordForms data
154fail !0 exec $(INDEXER) --sqlmon $(UDM_TEST_DIR)/indexer.conf < $(UDM_TEST_DIR)/wordforms-drop.sql    1>&2
155
156
157fail !0 mdiff $(UDM_TEST_DIR)/search.res $(UDM_TEST_DIR)/search.rej
158fail !0 exec rm -f $(UDM_TEST_DIR)/search.rej
159
160pass 0 exec  $(INDEXER) --drop $(UDM_TEST_DIR)/indexer.conf 1>&2
161