Merge lp:~zorba-coders/zorba/bug-1123165 into lp:zorba
- bug-1123165
- Merge into trunk
Status: | Merged |
---|---|
Approved by: | Ghislain Fourny |
Approved revision: | 11398 |
Merged at revision: | 11399 |
Proposed branch: | lp:~zorba-coders/zorba/bug-1123165 |
Merge into: | lp:zorba |
Diff against target: |
490 lines (+312/-43) 8 files modified
include/zorba/pregenerated/diagnostic_list.h (+8/-0) modules/w3c/pregenerated/xqt-errors.xq (+35/-0) src/compiler/translator/translator.cpp (+203/-3) src/context/static_context.cpp (+13/-3) src/diagnostics/diagnostic_en.xml (+35/-4) src/diagnostics/pregenerated/diagnostic_list.cpp (+12/-0) src/diagnostics/pregenerated/dict_en.cpp (+4/-0) test/fots/CMakeLists.txt (+2/-33) |
To merge this branch: | bzr merge lp:~zorba-coders/zorba/bug-1123165 |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Ghislain Fourny | Approve | ||
Matthias Brantner | Approve | ||
Nicolae Brinza | Approve | ||
Sorin Marian Nasoi | Approve | ||
Review via email: mp+159822@code.launchpad.net |
Commit message
Fixing bug 1123165 (prohibit/require feature tests).
Description of the change
Fixing bug 1123165 (prohibit/require feature tests).
Sorin Marian Nasoi (sorin.marian.nasoi) : | # |
Zorba Build Bot (zorba-buildbot) wrote : | # |
Zorba Build Bot (zorba-buildbot) wrote : | # |
The attempt to merge lp:~zorba-coders/zorba/bug-1123165 into lp:zorba failed. Below is the output from the failed tests.
CMake Error at /home/ceej/
Validation queue job bug-1123165-2013-04-
final status was:
1 tests did not succeed - changes not commited.
Error in read script: /home/ceej/
Matthias Brantner (matthias-brantner) wrote : | # |
- The fix for dynamic_
- The function check_xquery_
- The style of the error messages is not consistent with the other error messages. They should be changed as follows:
XQST0120 "$1": feature not supported
XQST0128 "$1": unable to disable a supported feature
XQST0126 impossible to activate all extension features
Nicolae Brinza (nbrinza) wrote : | # |
Ghislain, could you also please remove the fix that you submitted for scanner.l problem? Your proposal works, but on linux the GCC gives off a warning for that code. I have a proposal that fixes the issue in another branch, which Matthias will approve and merge soon.
Nicolae Brinza (nbrinza) wrote : | # |
I too agree that it should be moved to the translator. That's where all the similar code currently is. Other than this and the scanner issue, it looks good for me.
Nicolae Brinza (nbrinza) : | # |
Ghislain Fourny (gislenius) wrote : | # |
- The fix for dynamic_
It does fix some of the W3C tests:
for $f in () return $f(1, ?)
Raised an error in zorba because it was considered an object lookup. But it looks like valid XQuery to me?
Ghislain Fourny (gislenius) wrote : | # |
- The function check_xquery_
DONE
Ghislain Fourny (gislenius) wrote : | # |
- It feels like most of the implementation should go into the translator and not into the static context.
DONE
Ghislain Fourny (gislenius) wrote : | # |
- The style of the error messages is not consistent with the other error messages. They should be changed as follows:
XQST0120 "$1": feature not supported
XQST0128 "$1": unable to disable a supported feature
XQST0126 impossible to activate all extension features
DONE
Ghislain Fourny (gislenius) wrote : | # |
I think I addressed all comments.
There are three expected failures left:
EXPECTED_
EXPECTED_
-> This is the for $f in () return $f(1, ?) issue, which needs to be solved separately.
EXPECTED_
-> This is because the new package with the W3C-FOTS fix is not there yet.
Ghislain Fourny (gislenius) wrote : | # |
I opened the bug for the first two expected failures here: bug 1171860.
Ghislain Fourny (gislenius) wrote : | # |
EXPECTED_
-> I removed it because the test suite got updated in the trunk.
Ghislain Fourny (gislenius) wrote : | # |
Disapproving to allow running tests without merging.
Zorba Build Bot (zorba-buildbot) wrote : | # |
Validation queue starting for merge proposal.
Log at: http://
Zorba Build Bot (zorba-buildbot) wrote : | # |
Validation queue job bug-1123165-2013-04-
All tests succeeded!
Zorba Build Bot (zorba-buildbot) wrote : | # |
Voting does not meet specified criteria. Required: Approve > 1, Disapprove < 1, Needs Fixing < 1, Pending < 1, Needs Information < 1, Resubmit < 1. Got: 2 Approve, 1 Disapprove, 1 Needs Fixing.
Nicolae Brinza (nbrinza) : | # |
Matthias Brantner (matthias-brantner) wrote : | # |
> - The fix for dynamic_
> fixed in this merge proposal? I couldn't find a test to cover this behavior.
>
> It does fix some of the W3C tests:
>
> for $f in () return $f(1, ?)
>
> Raised an error in zorba because it was considered an object lookup. But it
> looks like valid XQuery to me?
This is one of the cases that we will have to live with. It's a conflict between
JSONiq and HOF. We were trying to push the W3C to make the dynamic function invocation
a map (i.e. $f could be () or a sequence of function items). However, the w3c didn't
want to go this way.
Matthias Brantner (matthias-brantner) wrote : | # |
awesome
Ghislain Fourny (gislenius) : | # |
Ghislain Fourny (gislenius) wrote : | # |
This is one of the cases that we will have to live with. It's a conflict between
JSONiq and HOF. We were trying to push the W3C to make the dynamic function invocation
a map (i.e. $f could be () or a sequence of function items). However, the w3c didn't
want to go this way.
-> In this case, $f is not the empty object - it is just a virtual single item (as is always the case for a for variable, without "allowing empty") that it will never get bound to.
We do not have to consider $f an object lookup in this case, right? I have the more general feeling that there might be something wrong in type inference regarding for loops on empty sequences.
Nicolae Brinza (nbrinza) wrote : | # |
> We do not have to consider $f an object lookup in this case, right? I have the more general feeling that there might be something wrong in type inference regarding for loops on empty sequences.
Since there is a partial application "?", it definitely cannot be an object lookup.
Zorba Build Bot (zorba-buildbot) wrote : | # |
Validation queue starting for merge proposal.
Log at: http://
Zorba Build Bot (zorba-buildbot) wrote : | # |
Validation queue job bug-1123165-2013-04-
All tests succeeded!
Preview Diff
1 | === modified file 'include/zorba/pregenerated/diagnostic_list.h' |
2 | --- include/zorba/pregenerated/diagnostic_list.h 2013-04-04 04:14:46 +0000 |
3 | +++ include/zorba/pregenerated/diagnostic_list.h 2013-04-23 14:00:36 +0000 |
4 | @@ -162,8 +162,16 @@ |
5 | |
6 | extern ZORBA_DLL_PUBLIC XQueryErrorCode XQST0114; |
7 | |
8 | +extern ZORBA_DLL_PUBLIC XQueryErrorCode XQST0120; |
9 | + |
10 | extern ZORBA_DLL_PUBLIC XQueryErrorCode XQST0123; |
11 | |
12 | +extern ZORBA_DLL_PUBLIC XQueryErrorCode XQST0126; |
13 | + |
14 | +extern ZORBA_DLL_PUBLIC XQueryErrorCode XQST0127; |
15 | + |
16 | +extern ZORBA_DLL_PUBLIC XQueryErrorCode XQST0128; |
17 | + |
18 | extern ZORBA_DLL_PUBLIC XQueryErrorCode XPDY0002; |
19 | |
20 | extern ZORBA_DLL_PUBLIC XQueryErrorCode XPDY0050; |
21 | |
22 | === modified file 'modules/w3c/pregenerated/xqt-errors.xq' |
23 | --- modules/w3c/pregenerated/xqt-errors.xq 2013-04-04 04:14:46 +0000 |
24 | +++ modules/w3c/pregenerated/xqt-errors.xq 2013-04-23 14:00:36 +0000 |
25 | @@ -692,6 +692,15 @@ |
26 | |
27 | (:~ |
28 | : |
29 | + : It is a static error if a feature required by require-feature is not |
30 | + : supported by the implementation. |
31 | + : |
32 | + : @see http://www.w3.org/2005/xqt-errors |
33 | +:) |
34 | +declare variable $err:XQST0120 as xs:QName := fn:QName($err:NS, "err:XQST0120"); |
35 | + |
36 | +(:~ |
37 | + : |
38 | : It is a static error if the name of a feature in require-feature is not |
39 | : recognized by the implementation. |
40 | : |
41 | @@ -701,6 +710,32 @@ |
42 | |
43 | (:~ |
44 | : |
45 | + : It is a static error if all-extensions appears in a require-feature option declaration. |
46 | + : |
47 | + : @see http://www.w3.org/2005/xqt-errors |
48 | +:) |
49 | +declare variable $err:XQST0126 as xs:QName := fn:QName($err:NS, "err:XQST0126"); |
50 | + |
51 | +(:~ |
52 | + : |
53 | + : It is a static error if a given feature is both required and prohibited, directly or indirectly, in a module. |
54 | + : |
55 | + : @see http://www.w3.org/2005/xqt-errors |
56 | +:) |
57 | +declare variable $err:XQST0127 as xs:QName := fn:QName($err:NS, "err:XQST0127"); |
58 | + |
59 | +(:~ |
60 | + : |
61 | + : It is a static error if a feature name that an implementation supports appears |
62 | + : in a prohibit-feature option declaration, and the implementation is unable to |
63 | + : disable the feature. |
64 | + : |
65 | + : @see http://www.w3.org/2005/xqt-errors |
66 | +:) |
67 | +declare variable $err:XQST0128 as xs:QName := fn:QName($err:NS, "err:XQST0128"); |
68 | + |
69 | +(:~ |
70 | + : |
71 | : It is a dynamic error if evaluation of an expression relies on some part |
72 | : of the dynamic context that has not been assigned a value. |
73 | : |
74 | |
75 | === modified file 'src/compiler/translator/translator.cpp' |
76 | --- src/compiler/translator/translator.cpp 2013-04-18 08:47:43 +0000 |
77 | +++ src/compiler/translator/translator.cpp 2013-04-23 14:00:36 +0000 |
78 | @@ -15,11 +15,12 @@ |
79 | */ |
80 | #include "stdafx.h" |
81 | |
82 | +#include <bitset> |
83 | +#include <iterator> |
84 | +#include <map> |
85 | #include <sstream> |
86 | -#include <iterator> |
87 | #include <stack> |
88 | -#include <map> |
89 | -#include <bitset> |
90 | +#include <vector> |
91 | |
92 | #include <zorba/config.h> |
93 | #include <zorba/diagnostic_list.h> |
94 | @@ -3856,9 +3857,208 @@ |
95 | bind_fn(f, numParams, loc); |
96 | } |
97 | |
98 | + check_xquery_feature_options(loc); |
99 | + |
100 | return no_state; |
101 | } |
102 | |
103 | +store::Item_t parse_and_expand_qname( |
104 | + const zstring& value, |
105 | + const char* default_ns, |
106 | + const QueryLoc& loc) const |
107 | +{ |
108 | + zstring lPrefix; |
109 | + zstring lLocalName; |
110 | + |
111 | + zstring::size_type n = value.rfind(':'); |
112 | + |
113 | + if ( n == zstring::npos ) |
114 | + { |
115 | + lLocalName = value; |
116 | + } |
117 | + else |
118 | + { |
119 | + lPrefix = value.substr( 0, n ); |
120 | + lLocalName = value.substr( n+1 ); |
121 | + } |
122 | + store::Item_t lQName; |
123 | + theSctx->expand_qname( lQName, default_ns, lPrefix, lLocalName, loc ); |
124 | + |
125 | + return lQName; |
126 | +} |
127 | + |
128 | +void parse_feature_list( |
129 | + const zstring& anOptionName, |
130 | + std::map<zstring, bool>* aFeatures, |
131 | + bool aRequired, |
132 | + const QueryLoc& loc) |
133 | +{ |
134 | + // Looking up feature options. |
135 | + zstring lFeatureList; |
136 | + store::Item_t lFeatureQName = parse_and_expand_qname( |
137 | + anOptionName, |
138 | + static_context::XQUERY_NS, |
139 | + loc); |
140 | + theSctx->lookup_option(lFeatureQName, lFeatureList); |
141 | + |
142 | + if (aFeatures == NULL || lFeatureList.empty()) |
143 | + { |
144 | + return; |
145 | + } |
146 | + size_t lPositionLeft = 0; |
147 | + size_t lPositionRight = lFeatureList.find(" ", lPositionLeft); |
148 | + bool lLastTime = lPositionRight == zstring::npos; |
149 | + while (lPositionRight != zstring::npos || lLastTime) |
150 | + { |
151 | + zstring lFeature = lFeatureList.substr( |
152 | + lPositionLeft, |
153 | + lPositionRight - lPositionLeft); |
154 | + store::Item_t lFeatureQName = parse_and_expand_qname( |
155 | + lFeature, |
156 | + static_context::XQUERY_NS, |
157 | + loc); |
158 | + // Requiring a non-recognized feature. |
159 | + if (aRequired && lFeatureQName->getNamespace() != static_context::XQUERY_NS) |
160 | + { |
161 | + RAISE_ERROR(err::XQST0123, loc, ERROR_PARAMS(lFeature)); |
162 | + } |
163 | + zstring lFeatureName = lFeatureQName->getLocalName(); |
164 | + if (aRequired && !is_recognized_feature(lFeatureName)) |
165 | + { |
166 | + RAISE_ERROR(err::XQST0123, loc, ERROR_PARAMS(lFeature)); |
167 | + } |
168 | + |
169 | + // Only adding to the feature matrix if recognized. |
170 | + if (is_recognized_feature(lFeatureName)) |
171 | + { |
172 | + // Error in case of conflicting flags. |
173 | + std::map<zstring, bool>::iterator lIt = aFeatures->find(lFeatureName); |
174 | + if (lIt != aFeatures->end() && lIt->second != aRequired) |
175 | + { |
176 | + RAISE_ERROR(err::XQST0127, loc, ERROR_PARAMS(lFeature)); |
177 | + } |
178 | + (*aFeatures)[lFeatureName] = aRequired; |
179 | + } |
180 | + if (lLastTime) |
181 | + { |
182 | + break; |
183 | + } |
184 | + lPositionLeft = lPositionRight + 1; |
185 | + lPositionRight = lFeatureList.find(" ", lPositionLeft); |
186 | + if (lPositionRight == zstring::npos) |
187 | + { |
188 | + lLastTime = true; |
189 | + } |
190 | + } |
191 | +} |
192 | + |
193 | +bool is_recognized_feature(const zstring& aFeatureName) |
194 | +{ |
195 | + return aFeatureName == "static-typing" || |
196 | + aFeatureName == "module" || |
197 | + aFeatureName == "higher-order-function" || |
198 | + aFeatureName == "schema-aware" || |
199 | + aFeatureName == "all-extensions" || |
200 | + aFeatureName == "all-optional-features"; |
201 | +} |
202 | + |
203 | +bool is_required_feature( |
204 | + const std::map<zstring, bool>& aFeatureMatrix, |
205 | + const zstring& aFeatureName |
206 | +) |
207 | +{ |
208 | + std::map<zstring, bool>::const_iterator lIt = |
209 | + aFeatureMatrix.find(aFeatureName); |
210 | + if (lIt == aFeatureMatrix.end()) |
211 | + { |
212 | + return false; |
213 | + } |
214 | + return lIt->second; |
215 | +} |
216 | + |
217 | +bool is_prohibited_feature( |
218 | + const std::map<zstring, bool>& aFeatureMatrix, |
219 | + const zstring& aFeatureName |
220 | +) |
221 | +{ |
222 | + std::map<zstring, bool>::const_iterator lIt = |
223 | + aFeatureMatrix.find(aFeatureName); |
224 | + if (lIt == aFeatureMatrix.end()) |
225 | + { |
226 | + return false; |
227 | + } |
228 | + return !lIt->second; |
229 | +} |
230 | + |
231 | +void check_xquery_feature_options(const QueryLoc& loc) |
232 | +{ |
233 | + // Constructing feature vectors. |
234 | + std::map<zstring, bool> lFeatures; |
235 | + parse_feature_list("require-feature", &lFeatures, true, loc); |
236 | + parse_feature_list("prohibit-feature", &lFeatures, false, loc); |
237 | + |
238 | + std::vector<zstring> lSupportedFeatures; |
239 | + lSupportedFeatures.push_back("module"); |
240 | + lSupportedFeatures.push_back("higher-order-function"); |
241 | + lSupportedFeatures.push_back("schema-aware"); |
242 | + std::vector<zstring> lNonSupportedFeatures; |
243 | + lNonSupportedFeatures.push_back("static-typing"); |
244 | + |
245 | + // Non supported features cannot be required. |
246 | + for (std::vector<zstring>::iterator lIt = lNonSupportedFeatures.begin(); |
247 | + lIt != lNonSupportedFeatures.end(); |
248 | + ++lIt) |
249 | + { |
250 | + if (is_required_feature(lFeatures, *lIt)) |
251 | + { |
252 | + RAISE_ERROR(err::XQST0120, loc, ERROR_PARAMS(*lIt)); |
253 | + } |
254 | + } |
255 | + // It is not possible to require all extensions. |
256 | + if (is_required_feature(lFeatures, "all-extensions")) |
257 | + { |
258 | + RAISE_ERROR(err::XQST0126, loc, ERROR_PARAMS("all-extensions")); |
259 | + } |
260 | + // All optional features can only be required if all unsupported features are |
261 | + // prohibited. |
262 | + if (is_required_feature(lFeatures, "all-optional-features")) |
263 | + { |
264 | + for (std::vector<zstring>::iterator lIt = lNonSupportedFeatures.begin(); |
265 | + lIt != lNonSupportedFeatures.end(); |
266 | + ++lIt) |
267 | + { |
268 | + if (!is_prohibited_feature(lFeatures, *lIt)) |
269 | + { |
270 | + RAISE_ERROR(err::XQST0120, loc, ERROR_PARAMS(*lIt)); |
271 | + } |
272 | + } |
273 | + } |
274 | + // Supported features cannot be prohibited. |
275 | + for (std::vector<zstring>::iterator lIt = lSupportedFeatures.begin(); |
276 | + lIt != lSupportedFeatures.end(); |
277 | + ++lIt) |
278 | + { |
279 | + if (is_prohibited_feature(lFeatures, *lIt)) |
280 | + { |
281 | + RAISE_ERROR(err::XQST0128, loc, ERROR_PARAMS(*lIt)); |
282 | + } |
283 | + } |
284 | + // All optional features can only be prohibited if all supported features |
285 | + // are required. |
286 | + if (is_prohibited_feature(lFeatures, "all-optional-features")) |
287 | + { |
288 | + for (std::vector<zstring>::iterator lIt = lSupportedFeatures.begin(); |
289 | + lIt != lSupportedFeatures.end(); |
290 | + ++lIt) |
291 | + { |
292 | + if (!is_required_feature(lFeatures, *lIt)) |
293 | + { |
294 | + RAISE_ERROR(err::XQST0128, loc, ERROR_PARAMS(*lIt)); |
295 | + } |
296 | + } |
297 | + } |
298 | +} |
299 | + |
300 | |
301 | void end_visit(const VFO_DeclList& v, void* /*visit_state*/) |
302 | { |
303 | |
304 | === modified file 'src/context/static_context.cpp' |
305 | --- src/context/static_context.cpp 2013-04-16 07:43:15 +0000 |
306 | +++ src/context/static_context.cpp 2013-04-23 14:00:36 +0000 |
307 | @@ -3505,7 +3505,6 @@ |
308 | // // |
309 | ///////////////////////////////////////////////////////////////////////////////// |
310 | |
311 | - |
312 | /***************************************************************************//** |
313 | |
314 | ********************************************************************************/ |
315 | @@ -3524,12 +3523,23 @@ |
316 | store::Item* qname2 = option.theName.getp(); |
317 | |
318 | zstring lNamespace = qname2->getNamespace(); |
319 | + zstring lLocalName = qname2->getLocalName(); |
320 | |
321 | + // If option namespace is the XQuery namespace. |
322 | + if ( lNamespace == XQUERY_NS) |
323 | + { |
324 | + OptionMap::iterator lIt = theOptionMap->find(qname2); |
325 | + if (lIt != theOptionMap->end()) |
326 | + { |
327 | + std::ostringstream lOss; |
328 | + lOss << lIt.getValue().theValue << " " << option.theValue; |
329 | + option.theValue = lOss.str(); |
330 | + } |
331 | + } |
332 | + |
333 | // If option namespace starts with zorba options namespace |
334 | if ( lNamespace.find(ZORBA_OPTIONS_NS) == 0 ) |
335 | { |
336 | - zstring lLocalName = qname2->getLocalName(); |
337 | - |
338 | if (lNamespace == ZORBA_OPTION_FEATURE_NS && |
339 | (lLocalName == "enable" || lLocalName == "disable")) |
340 | { |
341 | |
342 | === modified file 'src/diagnostics/diagnostic_en.xml' |
343 | --- src/diagnostics/diagnostic_en.xml 2013-04-10 02:24:08 +0000 |
344 | +++ src/diagnostics/diagnostic_en.xml 2013-04-23 14:00:36 +0000 |
345 | @@ -830,15 +830,46 @@ |
346 | </comment> |
347 | <value>"$1": duplicate decimal format property</value> |
348 | </diagnostic> |
349 | - |
350 | + |
351 | + <diagnostic code="XQST0120"> |
352 | + <comment> |
353 | + It is a static error if a feature required by require-feature is not |
354 | + supported by the implementation. |
355 | + </comment> |
356 | + <value>"$1": feature not supported</value> |
357 | + </diagnostic> |
358 | + |
359 | <diagnostic code="XQST0123"> |
360 | <comment> |
361 | - It is a static error if the name of a feature in require-feature is not |
362 | - recognized by the implementation. |
363 | + It is a static error if the name of a feature in require-feature is not |
364 | + recognized by the implementation. |
365 | </comment> |
366 | <value>$1</value> |
367 | </diagnostic> |
368 | - |
369 | + |
370 | + <diagnostic code="XQST0126"> |
371 | + <comment> |
372 | + It is a static error if all-extensions appears in a require-feature option declaration. |
373 | + </comment> |
374 | + <value>impossible to require all extension features</value> |
375 | + </diagnostic> |
376 | + |
377 | + <diagnostic code="XQST0127"> |
378 | + <comment> |
379 | + It is a static error if a given feature is both required and prohibited, directly or indirectly, in a module. |
380 | + </comment> |
381 | + <value>$1 : impossible to require and prohibit at the same time</value> |
382 | + </diagnostic> |
383 | + |
384 | + <diagnostic code="XQST0128"> |
385 | + <comment> |
386 | + It is a static error if a feature name that an implementation supports appears |
387 | + in a prohibit-feature option declaration, and the implementation is unable to |
388 | + disable the feature. |
389 | + </comment> |
390 | + <value>"$1": unable to disable a supported feature</value> |
391 | + </diagnostic> |
392 | + |
393 | <diagnostic code="XPDY0002"> |
394 | <comment> |
395 | It is a dynamic error if evaluation of an expression relies on some part |
396 | |
397 | === modified file 'src/diagnostics/pregenerated/diagnostic_list.cpp' |
398 | --- src/diagnostics/pregenerated/diagnostic_list.cpp 2013-04-04 04:14:46 +0000 |
399 | +++ src/diagnostics/pregenerated/diagnostic_list.cpp 2013-04-23 14:00:36 +0000 |
400 | @@ -226,9 +226,21 @@ |
401 | XQueryErrorCode XQST0114( "XQST0114" ); |
402 | |
403 | |
404 | +XQueryErrorCode XQST0120( "XQST0120" ); |
405 | + |
406 | + |
407 | XQueryErrorCode XQST0123( "XQST0123" ); |
408 | |
409 | |
410 | +XQueryErrorCode XQST0126( "XQST0126" ); |
411 | + |
412 | + |
413 | +XQueryErrorCode XQST0127( "XQST0127" ); |
414 | + |
415 | + |
416 | +XQueryErrorCode XQST0128( "XQST0128" ); |
417 | + |
418 | + |
419 | XQueryErrorCode XPDY0002( "XPDY0002" ); |
420 | |
421 | |
422 | |
423 | === modified file 'src/diagnostics/pregenerated/dict_en.cpp' |
424 | --- src/diagnostics/pregenerated/dict_en.cpp 2013-04-10 02:24:08 +0000 |
425 | +++ src/diagnostics/pregenerated/dict_en.cpp 2013-04-23 14:00:36 +0000 |
426 | @@ -262,7 +262,11 @@ |
427 | { "XQST0106", "$1: multiple annotations with $2 names" }, |
428 | { "XQST0111", "$1" }, |
429 | { "XQST0114", "\"$1\": duplicate decimal format property" }, |
430 | + { "XQST0120", "\"$1\": feature not supported" }, |
431 | { "XQST0123", "$1" }, |
432 | + { "XQST0126", "impossible to require all extension features" }, |
433 | + { "XQST0127", "$1 : impossible to require and prohibit at the same time" }, |
434 | + { "XQST0128", "\"$1\": unable to disable a supported feature" }, |
435 | { "XQTY0024", "element constructor content sequence must not have an attribute node following a non-attribute node" }, |
436 | { "XQTY0030", "validate argument must be exactly one document or element node" }, |
437 | { "XQTY0086", "typed value of copied element or attribute node is namespace-sensitive when construction mode is preserve and copy-namespaces mode is no-preserve" }, |
438 | |
439 | === modified file 'test/fots/CMakeLists.txt' |
440 | --- test/fots/CMakeLists.txt 2013-04-23 02:39:22 +0000 |
441 | +++ test/fots/CMakeLists.txt 2013-04-23 14:00:36 +0000 |
442 | @@ -378,30 +378,8 @@ |
443 | EXPECTED_FOTS_FAILURE (prod-OrderByClause orderBy50 0) |
444 | EXPECTED_FOTS_FAILURE (prod-OrderByClause orderBy51 0) |
445 | EXPECTED_FOTS_FAILURE (prod-OrderByClause orderBy59 0) |
446 | -EXPECTED_FOTS_FAILURE (prod-RequireProhibitFeature require-static-typing-1-ns 0) |
447 | -EXPECTED_FOTS_FAILURE (prod-RequireProhibitFeature require-higher-order-function-9-ns 0) |
448 | -EXPECTED_FOTS_FAILURE (prod-RequireProhibitFeature prohibit-schema-aware-1-s 0) |
449 | -EXPECTED_FOTS_FAILURE (prod-RequireProhibitFeature prohibit-schema-aware-2-s 0) |
450 | -EXPECTED_FOTS_FAILURE (prod-RequireProhibitFeature prohibit-higher-order-function-1-ns 0) |
451 | -EXPECTED_FOTS_FAILURE (prod-RequireProhibitFeature prohibit-higher-order-function-2-ns 0) |
452 | -EXPECTED_FOTS_FAILURE (prod-RequireProhibitFeature prohibit-higher-order-function-3-ns 0) |
453 | -EXPECTED_FOTS_FAILURE (prod-RequireProhibitFeature prohibit-higher-order-function-4-ns 0) |
454 | -EXPECTED_FOTS_FAILURE (prod-RequireProhibitFeature unknown-feature 0) |
455 | -EXPECTED_FOTS_FAILURE (prod-RequireProhibitFeature well-formed-feature-1 0) |
456 | -EXPECTED_FOTS_FAILURE (prod-RequireProhibitFeature well-formed-feature-2 0) |
457 | -EXPECTED_FOTS_FAILURE (prod-RequireProhibitFeature well-formed-feature-3 0) |
458 | -EXPECTED_FOTS_FAILURE (prod-RequireProhibitFeature well-formed-feature-4 0) |
459 | -EXPECTED_FOTS_FAILURE (prod-RequireProhibitFeature require-prohibit-1 0) |
460 | -EXPECTED_FOTS_FAILURE (prod-RequireProhibitFeature require-prohibit-2 0) |
461 | -EXPECTED_FOTS_FAILURE (prod-RequireProhibitFeature require-feature-list-2-s 0) |
462 | -EXPECTED_FOTS_FAILURE (prod-RequireProhibitFeature require-feature-list-3-s 0) |
463 | -EXPECTED_FOTS_FAILURE (prod-RequireProhibitFeature require-prohibit-4 0) |
464 | -EXPECTED_FOTS_FAILURE (prod-RequireProhibitFeature require-prohibit-5 0) |
465 | -EXPECTED_FOTS_FAILURE (prod-RequireProhibitFeature require-all-extensions-1 0) |
466 | -EXPECTED_FOTS_FAILURE (prod-RequireProhibitFeature require-all-optional-features-3-ns3 0) |
467 | -EXPECTED_FOTS_FAILURE (prod-RequireProhibitFeature require-all-optional-features-2-ns2 0) |
468 | -EXPECTED_FOTS_FAILURE (prod-RequireProhibitFeature prohibit-all-optional-features-1 0) |
469 | -EXPECTED_FOTS_FAILURE (prod-RequireProhibitFeature require-all-optional-features-7-s 0) |
470 | +EXPECTED_FOTS_FAILURE (prod-RequireProhibitFeature require-higher-order-function-5-s 1171860) |
471 | +EXPECTED_FOTS_FAILURE (prod-RequireProhibitFeature require-higher-order-function-10-s 1171860) |
472 | EXPECTED_FOTS_FAILURE (prod-SchemaImport qischema031 0) |
473 | EXPECTED_FOTS_FAILURE (prod-SchemaImport substitution-001 0) |
474 | EXPECTED_FOTS_FAILURE (prod-SchemaImport substitution-002 0) |
475 | @@ -462,15 +440,6 @@ |
476 | EXPECTED_FOTS_FAILURE (misc-HigherOrderFunctions xqhof12 0) |
477 | EXPECTED_FOTS_FAILURE (prod-NamedFunctionRef function-literal-062 0) |
478 | EXPECTED_FOTS_FAILURE (prod-NamedFunctionRef function-literal-494 0) |
479 | -EXPECTED_FOTS_FAILURE (prod-RequireProhibitFeature require-higher-order-function-5-s 0) |
480 | -EXPECTED_FOTS_FAILURE (prod-RequireProhibitFeature require-higher-order-function-10-s 0) |
481 | -EXPECTED_FOTS_FAILURE (prod-RequireProhibitFeature prohibit-higher-order-function-1-s 0) |
482 | -EXPECTED_FOTS_FAILURE (prod-RequireProhibitFeature prohibit-higher-order-function-2-s 0) |
483 | -EXPECTED_FOTS_FAILURE (prod-RequireProhibitFeature prohibit-higher-order-function-3-s 0) |
484 | -EXPECTED_FOTS_FAILURE (prod-RequireProhibitFeature prohibit-higher-order-function-4-s 0) |
485 | -EXPECTED_FOTS_FAILURE (prod-RequireProhibitFeature separate-modules-5-s 0) |
486 | -EXPECTED_FOTS_FAILURE (prod-RequireProhibitFeature separate-modules-6-s 0) |
487 | -EXPECTED_FOTS_FAILURE (prod-RequireProhibitFeature separate-modules-7-s 0) |
488 | EXPECTED_FOTS_FAILURE (prod-SchemaImport substitution-030 0) |
489 | EXPECTED_FOTS_FAILURE (prod-SchemaImport substitution-031 0) |
490 | EXPECTED_FOTS_FAILURE (prod-SchemaImport substitution-032 0) |
Validation queue starting for merge proposal. zorbatest. lambda. nu:8080/ remotequeue/ bug-1123165- 2013-04- 19T14-11- 47.953Z/ log.html
Log at: http://