From 21f7729f991bee9fbe1f892f2b0f3a24c0c3985e Mon Sep 17 00:00:00 2001
From: Julien Muchembled <jm@nexedi.com>
Date: Fri, 19 Feb 2010 16:12:01 +0000
Subject: [PATCH] Clear transactional variables before testing views to make
 testPerformance more realistic

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@32869 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5Type/tests/testPerformance.py | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/product/ERP5Type/tests/testPerformance.py b/product/ERP5Type/tests/testPerformance.py
index 0b0d54cd57..c66f871d1f 100644
--- a/product/ERP5Type/tests/testPerformance.py
+++ b/product/ERP5Type/tests/testPerformance.py
@@ -33,6 +33,7 @@ import subprocess
 
 import transaction
 from DateTime import DateTime
+from Products.ERP5Type.TransactionalVariable import getTransactionalVariable
 from Products.ERP5Type.tests.ERP5TypeTestCase import ERP5TypeTestCase
 from zLOG import LOG
 from Products.ERP5Type.tests.utils import LogInterceptor
@@ -180,10 +181,12 @@ class TestPerformance(ERP5TypeTestCase, LogInterceptor):
       bar.setReference(bar.getRelativeUrl())
       transaction.commit()
       self.tic()
+      tv = getTransactionalVariable(None)
       # Check performance
       before_view = time()
       for x in xrange(100):
-          bar.Bar_viewPerformance()
+        tv.clear()
+        bar.Bar_viewPerformance()
       after_view = time()
       req_time = (after_view - before_view)/100.
       if not quiet:
@@ -241,6 +244,7 @@ class TestPerformance(ERP5TypeTestCase, LogInterceptor):
       view_result = {}
       tic_result = {}
       add_result = {}
+      tv = getTransactionalVariable(None)
       # call view once to fill caches
       self.bar_module.BarModule_viewBarList()
       # add object in bar module
@@ -266,6 +270,7 @@ class TestPerformance(ERP5TypeTestCase, LogInterceptor):
           gc.collect()
           before_form = time()
           for x in xrange(100):
+            tv.clear()
             self.bar_module.BarModule_viewBarList()
           after_form = time()
           # store result
@@ -328,9 +333,11 @@ class TestPerformance(ERP5TypeTestCase, LogInterceptor):
                      title='Line 2')
       transaction.commit()
       self.tic()
+      tv = getTransactionalVariable(None)
       # Check performance
       before_view = time()
       for x in xrange(100):
+        tv.clear()
         foo.Foo_viewProxyField()
       after_view = time()
       req_time = (after_view - before_view)/100.
@@ -361,9 +368,11 @@ class TestPerformance(ERP5TypeTestCase, LogInterceptor):
                          title='Line %s' % i)
       transaction.commit()
       self.tic()
+      tv = getTransactionalVariable(None)
       # Check performance
       before_view = time()
       for x in xrange(100):
+        tv.clear()
         foo.Foo_view()
       after_view = time()
       req_time = (after_view - before_view)/100.
-- 
2.30.9