From 39322ab560c66b26a22ad072a37b352a612ed68d Mon Sep 17 00:00:00 2001
From: Kazuhiko Shiozaki <kazuhiko@nexedi.com>
Date: Thu, 10 Dec 2009 08:54:40 +0000
Subject: [PATCH] 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.)

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@31208 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5Catalog/tests/testERP5Catalog.py | 27 ++++++++++++--------
 1 file changed, 17 insertions(+), 10 deletions(-)

diff --git a/product/ERP5Catalog/tests/testERP5Catalog.py b/product/ERP5Catalog/tests/testERP5Catalog.py
index 5d4cc10e07..c853997fa3 100644
--- a/product/ERP5Catalog/tests/testERP5Catalog.py
+++ b/product/ERP5Catalog/tests/testERP5Catalog.py
@@ -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 @@ class TestERP5Catalog(ERP5TypeTestCase, LogInterceptor):
     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
-- 
2.30.9