Return-Path: Delivered-To: apmail-openwebbeans-commits-archive@www.apache.org Received: (qmail 83706 invoked from network); 7 Mar 2011 18:21:51 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 7 Mar 2011 18:21:51 -0000 Received: (qmail 4331 invoked by uid 500); 7 Mar 2011 18:21:51 -0000 Delivered-To: apmail-openwebbeans-commits-archive@openwebbeans.apache.org Received: (qmail 4310 invoked by uid 500); 7 Mar 2011 18:21:51 -0000 Mailing-List: contact commits-help@openwebbeans.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@openwebbeans.apache.org Delivered-To: mailing list commits@openwebbeans.apache.org Received: (qmail 4302 invoked by uid 99); 7 Mar 2011 18:21:51 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 07 Mar 2011 18:21:51 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=5.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 07 Mar 2011 18:21:48 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id 561A52388ABB; Mon, 7 Mar 2011 18:21:27 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r1078883 - /openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/interceptors/business/tests/InterceptorPerformanceTest.java Date: Mon, 07 Mar 2011 18:21:27 -0000 To: commits@openwebbeans.apache.org From: struberg@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20110307182127.561A52388ABB@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: struberg Date: Mon Mar 7 18:21:27 2011 New Revision: 1078883 URL: http://svn.apache.org/viewvc?rev=1078883&view=rev Log: OWB-530 fix test which now really fails on concurrency problems Modified: openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/interceptors/business/tests/InterceptorPerformanceTest.java Modified: openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/interceptors/business/tests/InterceptorPerformanceTest.java URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/interceptors/business/tests/InterceptorPerformanceTest.java?rev=1078883&r1=1078882&r2=1078883&view=diff ============================================================================== --- openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/interceptors/business/tests/InterceptorPerformanceTest.java (original) +++ openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/interceptors/business/tests/InterceptorPerformanceTest.java Mon Mar 7 18:21:27 2011 @@ -42,8 +42,8 @@ public class InterceptorPerformanceTest { private static final String PACKAGE_NAME = DependingInterceptorTest.class.getPackage().getName(); - private static final int ITERATIONS = 3000; - private static final int NUM_THREADS = 50; + private static final int ITERATIONS = 2000; + private static final int NUM_THREADS = 150; private static WebBeansLogger logger = WebBeansLogger.getLogger(InterceptorPerformanceTest.class); @@ -76,6 +76,7 @@ public class InterceptorPerformanceTest for (int i= 0 ; i < NUM_THREADS; i++) { threads[i].join(); + Assert.assertFalse(threads[i].isFailed()); } @@ -97,51 +98,57 @@ public class InterceptorPerformanceTest { private String threadName; + private boolean failed = false; + public CalculationRunner(String name) { super(name); threadName = name; } + public boolean isFailed() { + return failed; + } + @Override public void run() { - for (int req = 0; req < 5; req++) + try { - WebBeansContext.currentInstance().getContextFactory().initRequestContext(null); + for (int req = 0; req < 5; req++) + { + WebBeansContext.currentInstance().getContextFactory().initRequestContext(null); - Set> beans = getBeanManager().getBeans(RequestScopedBean.class); - Assert.assertNotNull(beans); - Bean bean = (Bean)beans.iterator().next(); + Set> beans = getBeanManager().getBeans(RequestScopedBean.class); + Assert.assertNotNull(beans); + Bean bean = (Bean)beans.iterator().next(); - CreationalContext ctx = getBeanManager().createCreationalContext(bean); + CreationalContext ctx = getBeanManager().createCreationalContext(bean); - Object reference1 = getBeanManager().getReference(bean, RequestScopedBean.class, ctx); - Assert.assertNotNull(reference1); + Object reference1 = getBeanManager().getReference(bean, RequestScopedBean.class, ctx); + Assert.assertNotNull(reference1); - Assert.assertTrue(reference1 instanceof RequestScopedBean); + Assert.assertTrue(reference1 instanceof RequestScopedBean); - RequestScopedBean beanInstance1 = (RequestScopedBean)reference1; + RequestScopedBean beanInstance1 = (RequestScopedBean)reference1; - TransactionInterceptor.count = 0; + TransactionInterceptor.count = 0; - long start = System.nanoTime(); + long start = System.nanoTime(); - long startDek = start; - for (int i= 1; i < ITERATIONS; i++) - { - beanInstance1.getMyService().getJ(); - /*X - if (i % 10000 == 0) + long startDek = start; + for (int i= 1; i < ITERATIONS; i++) { - long endDek = System.nanoTime(); - logger.info("Thread {0}: Executing 10000 iterations took {1} ns", threadName, endDek - startDek); - startDek = endDek; + beanInstance1.getMyService().getJ(); } - */ - } - WebBeansContext.currentInstance().getContextFactory().destroyRequestContext(null); + WebBeansContext.currentInstance().getContextFactory().destroyRequestContext(null); + } + } + catch (Exception e) + { + logger.error("Concurrency problem in InterceptorPerformanceTest detected in thread " + threadName, e); + failed = true; } } }