[jboss-svn-commits] JBoss Common SVN: r4454 - in arquillian/trunk/extensions/performance: src/main/java/org/jboss/arquillian/performance/event and 2 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Fri May 28 21:39:14 EDT 2010
Author: stalep
Date: 2010-05-28 21:39:13 -0400 (Fri, 28 May 2010)
New Revision: 4454
Modified:
arquillian/trunk/extensions/performance/pom.xml
arquillian/trunk/extensions/performance/src/main/java/org/jboss/arquillian/performance/event/PerformanceResultStore.java
arquillian/trunk/extensions/performance/src/main/java/org/jboss/arquillian/performance/event/PerformanceTestParser.java
arquillian/trunk/extensions/performance/src/main/java/org/jboss/arquillian/performance/event/TestPerformanceVerifier.java
arquillian/trunk/extensions/performance/src/main/java/org/jboss/arquillian/performance/meta/PerformanceClassResult.java
arquillian/trunk/extensions/performance/src/main/java/org/jboss/arquillian/performance/meta/PerformanceMethodResult.java
arquillian/trunk/extensions/performance/src/main/java/org/jboss/arquillian/performance/meta/PerformanceSuiteResult.java
arquillian/trunk/extensions/performance/src/test/java/org/jboss/arquillian/performance/cdi/WorkHardCdiTestCase.java
Log:
[ARQ-147]
further improvements on comparing old results
Modified: arquillian/trunk/extensions/performance/pom.xml
===================================================================
--- arquillian/trunk/extensions/performance/pom.xml 2010-05-29 01:13:58 UTC (rev 4453)
+++ arquillian/trunk/extensions/performance/pom.xml 2010-05-29 01:39:13 UTC (rev 4454)
@@ -24,8 +24,15 @@
<!-- Properties -->
<properties>
+ <!-- Versioning -->
+ <version.weld_core>1.0.1-SP1</version.weld_core>
+ <version.org.apache.openejb_openejb.core>3.1.2</version.org.apache.openejb_openejb.core>
+ <version.openwebbeans>1.0.0-M4</version.openwebbeans>
+ <version.jboss_60>6.0.0.20100429-M3</version.jboss_60>
+ <version.jboss_51>5.1.0.GA</version.jboss_51>
+ <version.glassfish_30>3.0.1-b02</version.glassfish_30>
+ <version.jboss_ejb3>3.1.0</version.jboss_ejb3>
-
</properties>
<profiles>
@@ -38,7 +45,7 @@
<dependency> <!-- Need on all profiles except Glassfish to compile, api is not 100% up to date with final spec -->
<groupId>org.jboss.ejb3</groupId>
<artifactId>jboss-ejb3-api</artifactId>
- <version>3.1.0</version>
+ <version>${version.jboss_ejb3}</version>
<scope>test</scope>
</dependency>
</dependencies>
@@ -66,10 +73,39 @@
<dependency>
<groupId>org.jboss.ejb3</groupId>
<artifactId>jboss-ejb3-api</artifactId>
- <version>3.1.0</version>
+ <version>${version.jboss_ejb3}</version>
<scope>test</scope>
</dependency>
+ <dependency>
+ <groupId>org.jboss.weld</groupId>
+ <artifactId>weld-core</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.weld</groupId>
+ <artifactId>weld-api</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-simple</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>javax.el</groupId>
+ <artifactId>el-api</artifactId>
+ <version>1.2</version>
+ </dependency>
</dependencies>
+ <dependencyManagement>
+ <dependencies>
+ <!-- org.jboss.weld -->
+ <dependency>
+ <groupId>org.jboss.weld</groupId>
+ <artifactId>weld-core-bom</artifactId>
+ <version>${version.weld_core}</version>
+ <type>pom</type>
+ <scope>import</scope>
+ </dependency>
+ </dependencies>
+ </dependencyManagement>
<build>
<plugins>
<plugin>
@@ -95,7 +131,7 @@
<dependency> <!-- Need on all profiles except Glassfish to compile, api is not 100% up to date with final spec -->
<groupId>org.jboss.ejb3</groupId>
<artifactId>jboss-ejb3-api</artifactId>
- <version>3.1.0</version>
+ <version>${version.jboss_ejb3}</version>
<scope>test</scope>
</dependency>
</dependencies>
@@ -138,7 +174,7 @@
<dependency>
<groupId>org.jboss.ejb3</groupId>
<artifactId>jboss-ejb3-api</artifactId>
- <version>3.1.0</version>
+ <version>${version.jboss_ejb3}</version>
<scope>test</scope>
</dependency>
<dependency>
@@ -167,18 +203,6 @@
<scope>test</scope>
</dependency>
- <dependency>
- <groupId>org.jboss.arquillian.container</groupId>
- <artifactId>arquillian-weld-embedded</artifactId>
- <version>${project.version}</version>
- </dependency>
- <dependency>
- <groupId>org.jboss.ejb3</groupId>
- <artifactId>jboss-ejb3-api</artifactId>
- <version>3.1.0</version>
- <scope>test</scope>
- </dependency>
-
<!-- External Projects -->
<dependency>
<groupId>org.mockito</groupId>
Modified: arquillian/trunk/extensions/performance/src/main/java/org/jboss/arquillian/performance/event/PerformanceResultStore.java
===================================================================
--- arquillian/trunk/extensions/performance/src/main/java/org/jboss/arquillian/performance/event/PerformanceResultStore.java 2010-05-29 01:13:58 UTC (rev 4453)
+++ arquillian/trunk/extensions/performance/src/main/java/org/jboss/arquillian/performance/event/PerformanceResultStore.java 2010-05-29 01:39:13 UTC (rev 4454)
@@ -1,5 +1,13 @@
package org.jboss.arquillian.performance.event;
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.ObjectOutputStream;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.List;
+
import org.jboss.arquillian.performance.meta.PerformanceSuiteResult;
import org.jboss.arquillian.spi.Context;
import org.jboss.arquillian.spi.event.suite.EventHandler;
@@ -17,17 +25,66 @@
public class PerformanceResultStore implements EventHandler<SuiteEvent>
{
+ private final String folder = "arq-perf";
+ private static final SimpleDateFormat fileFormat = new SimpleDateFormat("dd.MM.yy.mm.ss");
+// private final String filename = ""
-
public void callback(Context context, SuiteEvent event) throws Exception
{
PerformanceSuiteResult suiteResult = (PerformanceSuiteResult) context.get(PerformanceSuiteResult.class);
+
if(suiteResult != null)
{
//TODO: compare, fetch, save.
System.out.println("SuiteResult is ON!!!");
+ comparePerformanceSuiteResults(suiteResult);
}
+ else
+ System.out.println("SUITERESULT IS NULL");
}
+
+ private void comparePerformanceSuiteResults(PerformanceSuiteResult suiteResult)
+ {
+ storePerformanceSuiteResult(suiteResult);
+ }
+
+ private List<PerformanceSuiteResult> findEarlierResults(PerformanceSuiteResult suiteResult)
+ {
+
+ return null;
+ }
+
+ /**
+ * 1. make sure folder exists, if not create folder
+ * 2. generate file name
+ * 3. save file
+ *
+ * @param suiteResult
+ */
+ private void storePerformanceSuiteResult(PerformanceSuiteResult suiteResult)
+ {
+ String filename = suiteResult.getName()+"-"+fileFormat.format(new Date())+".ser";
+ String currentPath = System.getProperty("user.dir")+File.separator+folder+File.separator;
+ boolean filestatus = true;
+ if(!new File(currentPath).isDirectory())
+ filestatus = new File(currentPath).mkdirs();
+ if(filestatus)
+ {
+ FileOutputStream fos = null;
+ ObjectOutputStream out = null;
+ try
+ {
+ fos = new FileOutputStream(currentPath+filename);
+ out = new ObjectOutputStream(fos);
+ out.writeObject(suiteResult);
+ out.close();
+ }
+ catch(IOException ex)
+ {
+ ex.printStackTrace();
+ }
+ }
+ }
}
Modified: arquillian/trunk/extensions/performance/src/main/java/org/jboss/arquillian/performance/event/PerformanceTestParser.java
===================================================================
--- arquillian/trunk/extensions/performance/src/main/java/org/jboss/arquillian/performance/event/PerformanceTestParser.java 2010-05-29 01:13:58 UTC (rev 4453)
+++ arquillian/trunk/extensions/performance/src/main/java/org/jboss/arquillian/performance/event/PerformanceTestParser.java 2010-05-29 01:39:13 UTC (rev 4454)
@@ -52,7 +52,8 @@
context.getParentContext().get(PerformanceSuiteResult.class);
if(suitePerformance == null)
{
- suitePerformance = new PerformanceSuiteResult();
+ suitePerformance = new PerformanceSuiteResult(classPerformance.getTestClassName());
+ System.out.println("adding performancesuiteresult to context");
context.getParentContext().add(PerformanceSuiteResult.class, suitePerformance);
}
Modified: arquillian/trunk/extensions/performance/src/main/java/org/jboss/arquillian/performance/event/TestPerformanceVerifier.java
===================================================================
--- arquillian/trunk/extensions/performance/src/main/java/org/jboss/arquillian/performance/event/TestPerformanceVerifier.java 2010-05-29 01:13:58 UTC (rev 4453)
+++ arquillian/trunk/extensions/performance/src/main/java/org/jboss/arquillian/performance/event/TestPerformanceVerifier.java 2010-05-29 01:39:13 UTC (rev 4454)
@@ -66,11 +66,14 @@
// fetch suiteResult, get the correct classResult and append the test to that
// classResult.
PerformanceSuiteResult suiteResult = context.getParentContext().getParentContext().get(PerformanceSuiteResult.class);
- suiteResult.getResult(event.getTestClass().getName()).addMethodResult(
- new PerformanceMethodResult(
- performance.time(),
- (result.getEnd()-result.getStart()),
- event.getTestMethod()));
+ if(suiteResult != null)
+ suiteResult.getResult(event.getTestClass().getName()).addMethodResult(
+ new PerformanceMethodResult(
+ performance.time(),
+ (result.getEnd()-result.getStart()),
+ event.getTestMethod()));
+ else
+ System.out.println("PerformanceVerifier didnt get PerformanceSuiteResult!");
}
}
}
Modified: arquillian/trunk/extensions/performance/src/main/java/org/jboss/arquillian/performance/meta/PerformanceClassResult.java
===================================================================
--- arquillian/trunk/extensions/performance/src/main/java/org/jboss/arquillian/performance/meta/PerformanceClassResult.java 2010-05-29 01:13:58 UTC (rev 4453)
+++ arquillian/trunk/extensions/performance/src/main/java/org/jboss/arquillian/performance/meta/PerformanceClassResult.java 2010-05-29 01:39:13 UTC (rev 4454)
@@ -16,6 +16,7 @@
*/
package org.jboss.arquillian.performance.meta;
+import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
@@ -27,11 +28,15 @@
* @author <a href="mailto:stale.pedersen at jboss.org">Stale W. Pedersen</a>
* @version $Revision: 1.1 $
*/
-public class PerformanceClassResult
+public class PerformanceClassResult implements Serializable
{
+ /** The serialVersionUID */
+ private static final long serialVersionUID = 6743015614324029428L;
+
private List<PerformanceMethodResult> methodResults;
private PerformanceTest performanceSpecs;
private String testClassName;
+
public PerformanceClassResult(PerformanceTest performanceSpecs, String testClassName)
{
setPerformanceSpecs(performanceSpecs);
Modified: arquillian/trunk/extensions/performance/src/main/java/org/jboss/arquillian/performance/meta/PerformanceMethodResult.java
===================================================================
--- arquillian/trunk/extensions/performance/src/main/java/org/jboss/arquillian/performance/meta/PerformanceMethodResult.java 2010-05-29 01:13:58 UTC (rev 4453)
+++ arquillian/trunk/extensions/performance/src/main/java/org/jboss/arquillian/performance/meta/PerformanceMethodResult.java 2010-05-29 01:39:13 UTC (rev 4454)
@@ -16,6 +16,7 @@
*/
package org.jboss.arquillian.performance.meta;
+import java.io.Serializable;
import java.lang.reflect.Method;
/**
@@ -24,18 +25,21 @@
* @author <a href="mailto:stale.pedersen at jboss.org">Stale W. Pedersen</a>
* @version $Revision: 1.1 $
*/
-public class PerformanceMethodResult
+public class PerformanceMethodResult implements Serializable
{
+ /** The serialVersionUID */
+ private static final long serialVersionUID = 1249191155205920067L;
+
private double maxTime;
private double actualTime;
- private Method testMethod;
+ private String testMethod;
public PerformanceMethodResult(double maxTime, double actualTime, Method testMethod)
{
setMaxTime(maxTime);
setActualTime(actualTime);
- setTestMethod(testMethod);
+ setTestMethod(testMethod.getName());
}
public double getMaxTime()
{
@@ -53,11 +57,11 @@
{
this.actualTime = actualTime;
}
- public Method getTestMethod()
+ public String getTestMethod()
{
return testMethod;
}
- private void setTestMethod(Method testMethod)
+ private void setTestMethod(String testMethod)
{
this.testMethod = testMethod;
}
Modified: arquillian/trunk/extensions/performance/src/main/java/org/jboss/arquillian/performance/meta/PerformanceSuiteResult.java
===================================================================
--- arquillian/trunk/extensions/performance/src/main/java/org/jboss/arquillian/performance/meta/PerformanceSuiteResult.java 2010-05-29 01:13:58 UTC (rev 4453)
+++ arquillian/trunk/extensions/performance/src/main/java/org/jboss/arquillian/performance/meta/PerformanceSuiteResult.java 2010-05-29 01:39:13 UTC (rev 4454)
@@ -28,10 +28,15 @@
*/
public class PerformanceSuiteResult implements Serializable
{
+ /** The serialVersionUID */
+ private static final long serialVersionUID = 1487390574111894654L;
+
+ private String name;
private Map<String, PerformanceClassResult> classResults;
- public PerformanceSuiteResult()
+ public PerformanceSuiteResult(String name)
{
+ setName(name);
classResults = new HashMap<String, PerformanceClassResult>();
}
@@ -50,4 +55,14 @@
classResults.put(className, result);
}
+ public String getName()
+ {
+ return name;
+ }
+
+ private void setName(String name)
+ {
+ this.name = name;
+ }
+
}
Modified: arquillian/trunk/extensions/performance/src/test/java/org/jboss/arquillian/performance/cdi/WorkHardCdiTestCase.java
===================================================================
--- arquillian/trunk/extensions/performance/src/test/java/org/jboss/arquillian/performance/cdi/WorkHardCdiTestCase.java 2010-05-29 01:13:58 UTC (rev 4453)
+++ arquillian/trunk/extensions/performance/src/test/java/org/jboss/arquillian/performance/cdi/WorkHardCdiTestCase.java 2010-05-29 01:39:13 UTC (rev 4454)
@@ -45,7 +45,8 @@
* @throws Exception
*/
@Test
- @Performance(time=0.01)
+ //@Performance(time=0.01)
+ @Performance(time=10)
public void doHardWorkThatFails() throws Exception
{
Assert.assertEquals(21, hardWorker, 0d);
More information about the jboss-svn-commits
mailing list