<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://www.w3.org/Bugs/Public/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4"
          urlbase="https://www.w3.org/Bugs/Public/"
          
          maintainer="sysbot+bugzilla@w3.org"
>

    <bug>
          <bug_id>19858</bug_id>
          
          <creation_ts>2012-11-05 13:37:43 +0000</creation_ts>
          <short_desc>[QT3TS] require-all-optional-features-1-ns1 and others</short_desc>
          <delta_ts>2013-04-09 16:21:59 +0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>XPath / XQuery / XSLT</product>
          <component>XQuery 3 &amp; XPath 3 Test Suite</component>
          <version>Working drafts</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Windows NT</op_sys>
          <bug_status>CLOSED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>21130</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Tim Mills">tim</reporter>
          <assigned_to name="Ghislain Fourny">g</assigned_to>
          <cc>oneil</cc>
          
          <qa_contact name="Mailing list for public feedback on specs from XSL and XML Query WGs">public-qt-comments</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>77873</commentid>
    <comment_count>0</comment_count>
    <who name="Tim Mills">tim</who>
    <bug_when>2012-11-05 13:37:43 +0000</bug_when>
    <thetext>These tests don&apos;t make a great deal of sense for processors which can enable or disable a feature.

e.g.

  &lt;test-case name=&quot;require-all-optional-features-1-ns1&quot;&gt;
    &lt;description&gt;An error must be thrown if the feature is not supported.&lt;/description&gt;
    &lt;created by=&quot;Ghislain Fourny&quot; on=&quot;2012-10-15&quot;/&gt;
    &lt;modified by=&quot;O&apos;Neil Delpratt, Saxonica&quot; on=&quot;2012-10-23&quot; change=&quot;assert-eq changed to assert-empty&quot; /&gt;
    &lt;modified by=&quot;Ghislain Fourny&quot; on=&quot;2012-11-01&quot; change=&quot;Duplicating tests depending on feature support.&quot; /&gt;
    &lt;environment ref=&quot;dummy-schema&quot;/&gt;
    &lt;dependency type=&quot;spec&quot; value=&quot;XQ30+&quot;/&gt;
    &lt;dependency type=&quot;feature&quot; value=&quot;schemaAware&quot; satisfied=&quot;false&quot;/&gt;
    &lt;test&gt;
      import schema namespace s = &quot;http://www.w3.org/XQueryTest/RequireProhibitFeature&quot;;
      declare option require-feature &quot;all-optional-features&quot;;
      ()
    &lt;/test&gt;
    &lt;result&gt;
      &lt;!-- The test must be reported to fail if a different error is returned --&gt;
      &lt;error code=&quot;XQST0120&quot;/&gt;
    &lt;/result&gt;

The test driver sees

&lt;dependency type=&quot;feature&quot; value=&quot;schemaAware&quot; satisfied=&quot;false&quot;/&gt;

and prepares a processor with this feature disabled.

Upon execution of the query, we then see

declare option require-feature &quot;all-optional-features&quot;;

and enable it as requested.

This also affects the following tests.

 require-all-optional-features-1-ns3	
 require-all-optional-features-1-ns
 require-all-optional-features-2-ns2
 require-all-optional-features-3-ns3
 require-all-optional-features-5-ns
 require-higher-order-function-1-ns
 require-higher-order-function-10-ns
 require-higher-order-function-2-n
 require-higher-order-function-3-ns
 require-higher-order-function-4-ns
 require-higher-order-function-5-ns
 require-higher-order-function-6-ns
 require-higher-order-function-7-ns
 require-higher-order-function-8-ns
 require-higher-order-function-9-ns
 require-static-typing-1-ns</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>77938</commentid>
    <comment_count>1</comment_count>
    <who name="Tim Mills">tim</who>
    <bug_when>2012-11-06 11:12:35 +0000</bug_when>
    <thetext>Here&apos;s a complete list of tests suffering this problem.

 prohibit-all-optional-features-2-ns	
 prohibit-all-optional-features-3-ns	
 require-all-optional-features-1-ns1	
 require-all-optional-features-1-ns2	
 require-all-optional-features-1-ns3	
 require-all-optional-features-1-ns4	
 require-all-optional-features-2-ns1	
 require-all-optional-features-2-ns2	
 require-all-optional-features-2-ns3	
 require-all-optional-features-3-ns1	
 require-all-optional-features-3-ns2	
 require-all-optional-features-3-ns3	
 require-all-optional-features-5-ns	
 require-all-optional-features-7-ns	
 require-higher-order-function-1-ns	
 require-higher-order-function-2-ns	
 require-higher-order-function-3-ns	
 require-higher-order-function-4-ns	
 require-higher-order-function-5-ns	
 require-module-1-ns	
 require-module-2-ns	
 require-schema-aware-1-ns	
 require-schema-aware-2-ns	
 require-schema-aware-4-ns	
 require-static-typing-1-ns	
 separate-modules-3-ns	
 separate-modules-4-ns	
 separate-modules-8-ns	
 separate-modules-9-ns</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>82686</commentid>
    <comment_count>2</comment_count>
    <who name="O&apos;Neil Delpratt">oneil</who>
    <bug_when>2013-02-07 08:14:15 +0000</bug_when>
    <thetext>This needs WG consensus to agree on how this mechanism should work.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>83730</commentid>
    <comment_count>3</comment_count>
    <who name="Ghislain Fourny">g</who>
    <bug_when>2013-02-26 16:09:32 +0000</bug_when>
    <thetext>Hi Tim,

When I wrote the tests, the semantics I had in mind is that if an engine is capable of activating/supporting a feature, the tests with a dependency set to false on these features should not be executed at all because they do not apply.

The goal of these tests is to make sure that an engine that does not support these features returns the appropriate error messages.

Does it make sense?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>83758</commentid>
    <comment_count>4</comment_count>
    <who name="Tim Mills">tim</who>
    <bug_when>2013-02-26 21:10:22 +0000</bug_when>
    <thetext>Further investigation shows that the specification makes provision for a processor to disable a feature which it supports in response to a prohibit-feature declaration, but there is no corresponding provision for a processor to enable a feature in response to a require-feature declaration which it supports but which is not enabled by default.

I will raise this as a separate bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>84768</commentid>
    <comment_count>5</comment_count>
    <who name="Tim Mills">tim</who>
    <bug_when>2013-03-21 10:53:31 +0000</bug_when>
    <thetext>Test separate-modules-4-ns remains in error.

The test requires module import, but not higher order functions.

The main module imports a module.

module:one() returns a function item.

The main module attempts to invoke the function item.  But it the main module, the higher order functions feature remains prohibited.  Therefore XQST0129 should be expected.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>85792</commentid>
    <comment_count>6</comment_count>
    <who name="Tim Mills">tim</who>
    <bug_when>2013-04-09 16:21:43 +0000</bug_when>
    <thetext>I think these have all now been fixed.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>