[Erp5-report] r37207 ivan - /erp5/trunk/products/ERP5OOo/tests/testDms.py

nobody at svn.erp5.org nobody at svn.erp5.org
Wed Jul 21 08:42:34 CEST 2010


Author: ivan
Date: Wed Jul 21 08:42:32 2010
New Revision: 37207

URL: http://svn.erp5.org?rev=37207&view=rev
Log:
Add test for performance for conversion of large OOoDocument to an image.

Modified:
    erp5/trunk/products/ERP5OOo/tests/testDms.py

Modified: erp5/trunk/products/ERP5OOo/tests/testDms.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5OOo/tests/testDms.py?rev=37207&r1=37206&r2=37207&view=diff
==============================================================================
--- erp5/trunk/products/ERP5OOo/tests/testDms.py [utf8] (original)
+++ erp5/trunk/products/ERP5OOo/tests/testDms.py [utf8] Wed Jul 21 08:42:32 2010
@@ -2117,11 +2117,33 @@ class TestDocumentWithSecurity(TestDocum
     self.assertEqual((user_pref.getPreferredThumbnailImageWidth(),
                     user_pref.getPreferredThumbnailImageHeight()),
                      image.getSizeFromImageDisplay('thumbnail'))
+
+class TestDocumentPerformance(TestDocumentMixin):
+
+  def test_01_LargeOOoDocumentToImageConversion(self):
+    """
+      Test large OOoDocument to image conversion
+    """
+    ooo_document = self.portal.document_module.newContent(portal_type='Spreadsheet')
+    upload_file = makeFileUpload('import_big_spreadsheet.ods')
+    ooo_document.edit(file=upload_file)
+    self.stepTic()
+    before = time.time()
+    # converting any OOoDocument -> PDF -> Image
+    # make sure that this can happen in less tan XXX seconds i.e. code doing convert
+    # uses only first PDF frame (not entire PDF) to make an image - i.e.optimized enough to not kill 
+    # entire system performance by doing extensive calculations over entire PDF (see r37102-37103)
+    ooo_document.convert(format='png')
+    after = time.time()
+    req_time = (after - before)
+    # we should have image converted in less than 20s
+    self.assertTrue(req_time < 20.0)
     
 def test_suite():
   suite = unittest.TestSuite()
   suite.addTest(unittest.makeSuite(TestDocument))
   suite.addTest(unittest.makeSuite(TestDocumentWithSecurity))
+  suite.addTest(unittest.makeSuite(TestDocumentPerformance))
   return suite
 
 




More information about the Erp5-report mailing list