[Erp5-report] r31208 kazuhiko - /erp5/trunk/products/ERP5Catalog/tests/testERP5Catalog.py

nobody at svn.erp5.org nobody at svn.erp5.org
Thu Dec 10 09:54:41 CET 2009


Author: kazuhiko
Date: Thu Dec 10 09:54:40 2009
New Revision: 31208

URL: http://svn.erp5.org?rev=31208&view=rev
Log:
modify test_42_SearchableText so as to pass on both MySQL and Tritonn.
(MySQL ignores a word included in too many records, but Tritonn does not.)

Modified:
    erp5/trunk/products/ERP5Catalog/tests/testERP5Catalog.py

Modified: erp5/trunk/products/ERP5Catalog/tests/testERP5Catalog.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5Catalog/tests/testERP5Catalog.py?rev=31208&r1=31207&r2=31208&view=diff
==============================================================================
--- erp5/trunk/products/ERP5Catalog/tests/testERP5Catalog.py [utf8] (original)
+++ erp5/trunk/products/ERP5Catalog/tests/testERP5Catalog.py [utf8] Thu Dec 10 09:54:40 2009
@@ -28,6 +28,7 @@
 
 import unittest
 import sys
+from _mysql_exceptions import ProgrammingError
 
 from Testing import ZopeTestCase
 from Products.ERP5Type.tests.ERP5TypeTestCase import ERP5TypeTestCase
@@ -1323,18 +1324,24 @@
     self.assertEquals([ob],
         [x.getObject() for x in self.getCatalogTool()(
                 portal_type='Organisation', SearchableText='title')])
-    
-    # 'different' is not revelant, because it's found in more than 50% of
-    # records
-    self.assertEquals([],
-        [x.getObject for x in self.getCatalogTool()(
-                portal_type='Organisation', SearchableText='different')])
-    
-    # test countResults
     self.assertEquals(1, self.getCatalogTool().countResults(
               portal_type='Organisation', SearchableText='title')[0][0])
-    self.assertEquals(0, self.getCatalogTool().countResults(
-              portal_type='Organisation', SearchableText='different')[0][0])
+    
+    # 'different' is found in more than 50% of records
+    # MySQL ignores such a word, but Tritonn does not ignore.
+    try:
+      self.portal.erp5_sql_connection.manage_test('SHOW SENNA STATUS')
+    except ProgrammingError:
+      # MySQL
+      self.assertEquals([],
+          [x.getObject for x in self.getCatalogTool()(
+                  portal_type='Organisation', SearchableText='different')])
+      self.assertEquals(0, self.getCatalogTool().countResults(
+                portal_type='Organisation', SearchableText='different')[0][0])
+    else:
+      # Tritonn
+      self.assertEquals(10, self.getCatalogTool().countResults(
+                portal_type='Organisation', SearchableText='different')[0][0])
     
   def test_43_ManagePasteObject(self, quiet=quiet, run=run_all_test):
     if not run: return




More information about the Erp5-report mailing list