From 0f87903609e02e18f1d00400779818ab98dcaf86 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9rome=20Perrin?= <jerome@nexedi.com> Date: Wed, 26 Mar 2008 09:06:27 +0000 Subject: [PATCH] tests the performance of a form with proxy fields git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@20136 20353a03-c40f-0410-a6d1-a30d3c3de9de --- product/ERP5Type/tests/testPerformance.py | 38 +++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/product/ERP5Type/tests/testPerformance.py b/product/ERP5Type/tests/testPerformance.py index 573cc96cfb..a04deb12b5 100644 --- a/product/ERP5Type/tests/testPerformance.py +++ b/product/ERP5Type/tests/testPerformance.py @@ -30,6 +30,7 @@ import unittest from time import time import gc +from DateTime import DateTime from Products.ERP5Type.tests.ERP5TypeTestCase import ERP5TypeTestCase from zLOG import LOG from Products.CMFCore.tests.base.testcase import LogInterceptor @@ -39,6 +40,8 @@ from Products.CMFCore.tests.base.testcase import LogInterceptor # (which has 31645.6 pystones/second) MIN_OBJECT_VIEW=0.112 MAX_OBJECT_VIEW=0.122 +MIN_OBJECT_PROXYFIELD_VIEW=0.112 +MAX_OBJECT_PROXYFIELD_VIEW=0.122 CURRENT_MIN_OBJECT_VIEW=0.1220 CURRENT_MAX_OBJECT_VIEW=0.1280 MIN_MODULE_VIEW=0.125 @@ -210,6 +213,41 @@ class TestPerformance(ERP5TypeTestCase, LogInterceptor): MIN_TIC, tic_value, MAX_TIC)) i += 1 + + def test_viewProxyField(self, quiet=quiet): + # render a form with proxy fields: Foo_viewProxyField + foo = self.portal.foo_module.newContent( + portal_type='Foo', + title='Bar Test', + quantity=10000, + price=32, + start_date=DateTime(2008,1,1)) + foo.newContent(portal_type='Foo Line', + title='Line 1') + foo.newContent(portal_type='Foo Line', + title='Line 2') + get_transaction().commit() + self.tic() + # Check performance + before_view = time() + for x in xrange(100): + foo.Foo_viewProxyField() + after_view = time() + req_time = (after_view - before_view)/100. + + if not quiet: + print "time to view proxyfield form %.4f < %.4f < %.4f\n" % \ + ( MIN_OBJECT_PROXYFIELD_VIEW, + req_time, + MAX_OBJECT_PROXYFIELD_VIEW ) + if DO_TEST: + self.failUnless( MIN_OBJECT_PROXYFIELD_VIEW < req_time + < MAX_OBJECT_PROXYFIELD_VIEW, + '%.4f < %.4f < %.4f' % ( + MIN_OBJECT_PROXYFIELD_VIEW, + req_time, + MAX_OBJECT_PROXYFIELD_VIEW)) + def test_suite(): suite = unittest.TestSuite() suite.addTest(unittest.makeSuite(TestPerformance)) -- 2.30.9