Cezar Andrei has proposed merging 
lp:~zorba-coders/zorba/bug1160559-unionTypeError into lp:zorba.

Commit message:
Fixes bug when creating derived union types.
Fix for bug#1160559 Seg Fault in Union Types (3 test cases).

Requested reviews:
  Cezar Andrei (cezar-andrei)
  Nicolae Brinza (nbrinza)
Related bugs:
  Bug #1160559 in Zorba: "Seg Fault in Union Types (3 test cases)"
  https://bugs.launchpad.net/zorba/+bug/1160559

For more details, see:
https://code.launchpad.net/~zorba-coders/zorba/bug1160559-unionTypeError/+merge/156760

Fix for bug#1160559     Seg Fault in Union Types (3 test cases).
-- 
https://code.launchpad.net/~zorba-coders/zorba/bug1160559-unionTypeError/+merge/156760
Your team Zorba Coders is subscribed to branch lp:zorba.
=== modified file 'src/types/schema/schema.cpp'
--- src/types/schema/schema.cpp	2013-03-12 17:03:31 +0000
+++ src/types/schema/schema.cpp	2013-04-03 07:58:25 +0000
@@ -929,14 +929,14 @@
 
         xqtref_t baseXQType;
         XSTypeDefinition* baseTypeDef = xsTypeDef->getBaseType();
-        if (!baseTypeDef)
+        if (baseTypeDef)
         {
           baseXQType = createXQTypeFromTypeDefinition(tm, baseTypeDef);
         }
 
-        //cout << " creating UDT Simple Union Type: " <<
-        // qname->getLocalName()->c_str() << "@" <<
-        // qname->getNamespace()->c_str() << " of: ";
+        //std::cout << " creating UDT Simple Union Type: " <<
+        // qname->getLocalName() << "@" <<
+        // qname->getNamespace() << " of: ";
         std::vector<xqtref_t> unionItemTypes;
 
         for (csize i = 0; i < memberTypesDefList->size(); ++i)
@@ -947,7 +947,7 @@
           xqtref_t itemXQType = createXQTypeFromTypeDefinition(tm, itemTypeDef);
 
           unionItemTypes.push_back(itemXQType);
-          //cout << " " << itemXQType->toString();
+          //std::cout << " " << itemXQType->toString();
 
           if (itemXQType->type_kind() == XQType::USER_DEFINED_KIND)
           {
@@ -955,7 +955,7 @@
             addTypeToCache(itemXQType);
           }
         }
-        //cout << endl; cout.flush();
+        //std::cout << std::endl; std::cout.flush();
 
         xqtref_t xqType = new UserDefinedXQType(tm,
                                                 qname,
@@ -963,8 +963,8 @@
                                                 TypeConstants::QUANT_ONE,
                                                 unionItemTypes);
 
-        //cout << "   created UDT Union Type: " << xqType->toString() << endl;
-        //  cout.flush();
+        //std::cout << "   created UDT Union Type: " << xqType->toString() << std::endl;
+        //  std::cout.flush();
         addTypeToCache(xqType);
 
         result = xqType;

=== modified file 'test/fots/CMakeLists.txt'
--- test/fots/CMakeLists.txt	2013-04-03 07:30:48 +0000
+++ test/fots/CMakeLists.txt	2013-04-03 07:58:25 +0000
@@ -103,9 +103,9 @@
 EXPECTED_FOTS_FAILURE (CRASH fn-matches.re re00976 1070533)
 EXPECTED_FOTS_FAILURE (CRASH fn-matches.re re00976a 1070533)
 EXPECTED_FOTS_FAILURE (CRASH fn-unparsed-text-lines fn-unparsed-text-lines-052 1123835)
-EXPECTED_FOTS_FAILURE (CRASH prod-InstanceofExpr instanceof139 1160559)
-EXPECTED_FOTS_FAILURE (CRASH prod-CastExpr.schema CastAs-UnionType-26 1160559)
-EXPECTED_FOTS_FAILURE (CRASH prod-CastExpr.schema CastAs-UnionType-30 1160559)
+EXPECTED_FOTS_FAILURE (CRASH prod-InstanceofExpr instanceof139 1160559)  # failing but not crushing
+#EXPECTED_FOTS_FAILURE (CRASH prod-CastExpr.schema CastAs-UnionType-26 1160559)
+#EXPECTED_FOTS_FAILURE (CRASH prod-CastExpr.schema CastAs-UnionType-30 1160559)
 
 # Next three possibly unique to old RQ machine, but they need to be
 # marked for the RQ to pass.

=== modified file 'test/fots_driver/cli.xq'
--- test/fots_driver/cli.xq	2013-03-27 02:24:41 +0000
+++ test/fots_driver/cli.xq	2013-04-03 07:58:25 +0000
@@ -99,9 +99,9 @@
  : EXPECTED_FOTS_FAILURE (CRASH TEST_SET_NAME TEST_CASE_NAME BUG_NO)
  :)
 declare variable $exceptedTestCases as xs:string* := (
-  ("instanceof139",
+(:  ("instanceof139",
   "CastAs-UnionType-26",
-  "CastAs-UnionType-30"),       (:see bug lp:1160559 :)
+  "CastAs-UnionType-30")  , :)      (:see bug lp:1160559 :)
   "fn-unparsed-text-lines-052", (:see bug lp:1123835 :)
   ("cbcl-subsequence-011",
   "cbcl-subsequence-012",

-- 
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