Sorin Marian Nasoi has proposed merging 
lp:~zorba-coders/zorba/fixes_FOTS_driver_29_MAR into lp:zorba.

Commit message:
- updated FOTS snapshot to March 29th. Updated expected failures accordingly.
- if a test did not pass, we further check if the reason it failed is an 
environment dependency on setting of a default COLLECTION or COLLATION URI 
(other that Unicode Codepoint Collation). If so, we report the test case as 
"notRun" otherwise we report it as "fail". We first try running the test case 
because 130 test case actually PASS although their used environment requires 
setting a default COLECTION or COLLATION URI. This change decreased the number 
of failing test cases by 34 (and increased the number of test cases "notRun" by 
the same amount).

Requested reviews:
  Sorin Marian Nasoi (sorin.marian.nasoi)
Related bugs:
  Bug #1160111 in Zorba: "xqxq: add collection support (at least 39 test cases)"
  https://bugs.launchpad.net/zorba/+bug/1160111
  Bug #1161475 in Zorba: "FOTS driver does not handle collation URI's"
  https://bugs.launchpad.net/zorba/+bug/1161475

For more details, see:
https://code.launchpad.net/~zorba-coders/zorba/fixes_FOTS_driver_29_MAR/+merge/156109

- updated FOTS snapshot to March 29th. Updated expected failures accordingly.
- if a test did not pass, we further check if the reason it failed is an 
environment dependency on setting of a default COLLECTION or COLLATION URI 
(other that Unicode Codepoint Collation). If so, we report the test case as 
"notRun" otherwise we report it as "fail". We first try running the test case 
because 130 test case actually PASS although their used environment requires 
setting a default COLECTION or COLLATION URI. This change decreased the number 
of failing test cases by 34 (and increased the number of test cases "notRun" by 
the same amount).



-- 
https://code.launchpad.net/~zorba-coders/zorba/fixes_FOTS_driver_29_MAR/+merge/156109
Your team Zorba Coders is subscribed to branch lp:zorba.
=== modified file 'test/fots/CMakeLists.txt'
--- test/fots/CMakeLists.txt	2013-03-27 17:11:24 +0000
+++ test/fots/CMakeLists.txt	2013-03-29 06:26:29 +0000
@@ -135,31 +135,12 @@
 EXPECTED_FOTS_FAILURE (fn-available-environment-variables fn-available-environment-variables-011 0)
 EXPECTED_FOTS_FAILURE (fn-avg cbcl-avg-002 0)
 EXPECTED_FOTS_FAILURE (fn-avg cbcl-avg-003 0)
-EXPECTED_FOTS_FAILURE (fn-collection fn-collection-4 0)
-EXPECTED_FOTS_FAILURE (fn-collection fn-collection-4d 0)
-EXPECTED_FOTS_FAILURE (fn-collection fn-collection-5 0)
-EXPECTED_FOTS_FAILURE (fn-collection fn-collection-5d 0)
-EXPECTED_FOTS_FAILURE (fn-collection fn-collection-6 0)
-EXPECTED_FOTS_FAILURE (fn-collection fn-collection-8 0)
-EXPECTED_FOTS_FAILURE (fn-collection fn-collection-9 0)
-EXPECTED_FOTS_FAILURE (fn-collection fn-collection-10 0)
-EXPECTED_FOTS_FAILURE (fn-collection fn-collection-10d 0)
-EXPECTED_FOTS_FAILURE (fn-compare compare-010 0)
-EXPECTED_FOTS_FAILURE (fn-deep-equal K-SeqDeepEqualFunc-56 0)
-EXPECTED_FOTS_FAILURE (fn-deep-equal K-SeqDeepEqualFunc-57 0)
-EXPECTED_FOTS_FAILURE (fn-deep-equal K-SeqDeepEqualFunc-58 0)
-EXPECTED_FOTS_FAILURE (fn-deep-equal K-SeqDeepEqualFunc-59 0)
-EXPECTED_FOTS_FAILURE (fn-deep-equal K-SeqDeepEqualFunc-60 0)
-EXPECTED_FOTS_FAILURE (fn-deep-equal K-SeqDeepEqualFunc-61 0)
-EXPECTED_FOTS_FAILURE (fn-deep-equal K-SeqDeepEqualFunc-62 0)
-EXPECTED_FOTS_FAILURE (fn-deep-equal K-SeqDeepEqualFunc-63 0)
 EXPECTED_FOTS_FAILURE (fn-deep-equal K2-SeqDeepEqualFunc-36 0)
 EXPECTED_FOTS_FAILURE (fn-deep-equal K2-SeqDeepEqualFunc-37 0)
 EXPECTED_FOTS_FAILURE (fn-deep-equal K2-SeqDeepEqualFunc-38 0)
 EXPECTED_FOTS_FAILURE (fn-deep-equal K2-SeqDeepEqualFunc-39 0)
 EXPECTED_FOTS_FAILURE (fn-distinct-values cbcl-distinct-values-002 0)
 EXPECTED_FOTS_FAILURE (fn-distinct-values cbcl-distinct-values-002b 0)
-EXPECTED_FOTS_FAILURE (fn-distinct-values cbcl-distinct-values-003 0)
 EXPECTED_FOTS_FAILURE (fn-environment-variable environment-variable-005 0)
 EXPECTED_FOTS_FAILURE (fn-environment-variable environment-variable-006 0)
 EXPECTED_FOTS_FAILURE (fn-environment-variable environment-variable-007 0)
@@ -218,8 +199,6 @@
 EXPECTED_FOTS_FAILURE (fn-generate-id generate-id-004 0)
 EXPECTED_FOTS_FAILURE (fn-generate-id generate-id-005 0)
 EXPECTED_FOTS_FAILURE (fn-generate-id generate-id-006 0)
-EXPECTED_FOTS_FAILURE (fn-generate-id generate-id-012 0)
-EXPECTED_FOTS_FAILURE (fn-generate-id generate-id-013 0)
 EXPECTED_FOTS_FAILURE (fn-generate-id generate-id-014 0)
 EXPECTED_FOTS_FAILURE (fn-generate-id generate-id-015 0)
 EXPECTED_FOTS_FAILURE (fn-generate-id generate-id-017 0)
@@ -285,8 +264,6 @@
 EXPECTED_FOTS_FAILURE (fn-subsequence cbcl-subsequence-017 0)
 EXPECTED_FOTS_FAILURE (fn-subsequence cbcl-subsequence-018 0)
 EXPECTED_FOTS_FAILURE (fn-subsequence cbcl-subsequence-024 0)
-EXPECTED_FOTS_FAILURE (fn-substring-after fn-substring-after-24 0)
-EXPECTED_FOTS_FAILURE (fn-substring-before fn-substring-before-24 0)
 EXPECTED_FOTS_FAILURE (fn-tokenize fn-tokenize-31 0)
 EXPECTED_FOTS_FAILURE (fn-tokenize fn-tokenize-32 0)
 EXPECTED_FOTS_FAILURE (fn-unparsed-text fn-unparsed-text-037 0)
@@ -623,13 +600,7 @@
 EXPECTED_FOTS_FAILURE (xs-token cbcl-token-002b 0)
 EXPECTED_FOTS_FAILURE (xs-token cbcl-token-004 0)
 EXPECTED_FOTS_FAILURE (fn-fold-left fold-left-009 0)
-EXPECTED_FOTS_FAILURE (fn-function-lookup fn-function-lookup-018 0)
-EXPECTED_FOTS_FAILURE (fn-function-lookup fn-function-lookup-020 0)
 EXPECTED_FOTS_FAILURE (fn-function-lookup fn-function-lookup-062 0)
-EXPECTED_FOTS_FAILURE (fn-function-lookup fn-function-lookup-370 0)
-EXPECTED_FOTS_FAILURE (fn-function-lookup fn-function-lookup-372 0)
-EXPECTED_FOTS_FAILURE (fn-function-lookup fn-function-lookup-374 0)
-EXPECTED_FOTS_FAILURE (fn-function-lookup fn-function-lookup-376 0)
 EXPECTED_FOTS_FAILURE (fn-function-lookup fn-function-lookup-402 0)
 EXPECTED_FOTS_FAILURE (fn-function-lookup fn-function-lookup-404 0)
 EXPECTED_FOTS_FAILURE (fn-function-lookup fn-function-lookup-494 0)
@@ -658,13 +629,7 @@
 EXPECTED_FOTS_FAILURE (prod-FunctionCall FunctionCall-038 0)
 EXPECTED_FOTS_FAILURE (prod-FunctionCall FunctionCall-039 0)
 EXPECTED_FOTS_FAILURE (prod-InstanceofExpr instanceof140 0)
-EXPECTED_FOTS_FAILURE (prod-NamedFunctionRef function-literal-018 0)
-EXPECTED_FOTS_FAILURE (prod-NamedFunctionRef function-literal-020 0)
 EXPECTED_FOTS_FAILURE (prod-NamedFunctionRef function-literal-062 0)
-EXPECTED_FOTS_FAILURE (prod-NamedFunctionRef function-literal-370 0)
-EXPECTED_FOTS_FAILURE (prod-NamedFunctionRef function-literal-372 0)
-EXPECTED_FOTS_FAILURE (prod-NamedFunctionRef function-literal-374 0)
-EXPECTED_FOTS_FAILURE (prod-NamedFunctionRef function-literal-376 0)
 EXPECTED_FOTS_FAILURE (prod-NamedFunctionRef function-literal-402 0)
 EXPECTED_FOTS_FAILURE (prod-NamedFunctionRef function-literal-404 0)
 EXPECTED_FOTS_FAILURE (prod-NamedFunctionRef function-literal-494 0)

=== modified file 'test/fots/ImportFOTS.cmake'
--- test/fots/ImportFOTS.cmake	2013-03-21 20:02:48 +0000
+++ test/fots/ImportFOTS.cmake	2013-03-29 06:26:29 +0000
@@ -19,7 +19,7 @@
 
 
 # Change this to publish updated FOTS archives
-SET (FOTS_ARCHIVE "FOTS_210313.tgz")
+SET (FOTS_ARCHIVE "FOTS_290313.tgz")
 
 # Change this to modify which elements in FOTS driver results are output
 # as CDATA

=== modified file 'test/fots_driver/environment.xq'
--- test/fots_driver/environment.xq	2013-03-26 16:25:16 +0000
+++ test/fots_driver/environment.xq	2013-03-29 06:26:29 +0000
@@ -759,3 +759,23 @@
       else ()
   }
 };
+
+(:~
+ : Checks if a test case should be run. Possible reasons for not running a test
+ : according to http://dev.w3.org/2011/QT3-test-suite/guide/running.html:
+ : - the environment requires the setting of collections
+ : - the environment requires the setting of collation URIs
+ :
+ :
+ :)
+declare function env:check-prerequisites(
+  $case as element(fots:test-case),
+  $env  as element(fots:environment)?
+) as xs:string?
+{
+  if(exists($case/fots:environment/fots:collection) or exists($env/fots:collection))
+  then 'Default collection is always an empty sequence.'
+  else if (exists($case/fots:environment/fots:collation) or exists($env/fots:collation))
+  then 'Can not define any other collations (other than the Unicode Codepoint Collation).'
+  else ()
+};

=== modified file 'test/fots_driver/feedback.xq'
--- test/fots_driver/feedback.xq	2013-03-18 12:53:46 +0000
+++ test/fots_driver/feedback.xq	2013-03-29 06:26:29 +0000
@@ -211,16 +211,20 @@
  : in the $exceptedTestCases global var).
  :
  : @param $case test case.
+ : @param $error the reason for which the test case was not run.
  : @return the test case.
  :)
 declare function feedback:not-run(
-  $case as element(fots:test-case)
+  $case   as element(fots:test-case),
+  $error  as xs:string?
 ) as element(fots:test-case)?
 {
   trace(data($case/@name), "processing test case :");
   trace("Above test case was not run.","");
 
-  <fots:test-case name="{$case/@name}" result="notRun" />
+  if(exists($error))
+  then <fots:test-case name="{$case/@name}" result="notRun" comment="{$error}"/>
+  else <fots:test-case name="{$case/@name}" result="notRun" />
 };
 
 

=== modified file 'test/fots_driver/fots-driver.xq'
--- test/fots_driver/fots-driver.xq	2013-03-21 18:43:40 +0000
+++ test/fots_driver/fots-driver.xq	2013-03-29 06:26:29 +0000
@@ -667,7 +667,7 @@
           return
             if ($isExcepted)
             then
-              feedback:not-run($testCase)
+              feedback:not-run($testCase, ())
             else
               feedback:not-applicable($testCase,
                                       string-join($depMet,''))
@@ -711,7 +711,7 @@
                               $verbose,
                               fn:false())
                else
-                 feedback:not-run($testCase)
+                 feedback:not-run($testCase,())
             }
             else if (exists($depMet)) then
             {
@@ -859,6 +859,8 @@
                                            $testSetBaseURI);
 
     variable $duration := (datetime:current-dateTime() - $startDateTime);
+    
+    variable $prerequisitesError as xs:string? := env:check-prerequisites($case, $env);
 
     if (feedback:check-pass($result, $queryName, $testSetName, $expectedFailure))
     then
@@ -869,6 +871,16 @@
                     $duration,
                     $verbose,
                     exists($expectedFailure))
+    (: 
+      If the test case did not pass, we check to see if the failure is caused
+      by a environment that requires setting of a COLLATION or COLLECTION.
+      There are over 130 test cases that are using an environment that requires
+      setting a COLLATION or COLLECTION but they still PASS even if this setting
+      is not done. That is why we first run the test case.
+     :)
+    else if(exists($prerequisitesError))
+    then
+      feedback:not-run($case, $prerequisitesError)
     else
       feedback:fail($case,
                     $result,

-- 
Mailing list: https://launchpad.net/~zorba-coders
Post to     : zorba-coders@lists.launchpad.net
Unsubscribe : https://launchpad.net/~zorba-coders
More help   : https://help.launchpad.net/ListHelp

Reply via email to