Modified:
/core/trunk/.gitignore
/core/trunk/pom.xml
/core/trunk/src/main/java/it/javalinux/testedby/metadata/ClassLinkMetadata.java
/core/trunk/src/main/java/it/javalinux/testedby/metadata/LinkMetadata.java
/core/trunk/src/main/java/it/javalinux/testedby/metadata/MethodLinkMetadata.java
/core/trunk/src/main/java/it/javalinux/testedby/metadata/StatusMetadata.java
/core/trunk/src/main/java/it/javalinux/testedby/metadata/impl/ImmutableMethodMetadata.java
/core/trunk/src/main/java/it/javalinux/testedby/metadata/impl/MetadataRepository.java
/core/trunk/src/main/java/it/javalinux/testedby/metadata/serializer/impl/SimpleMetadataSerializer.java
/core/trunk/src/main/java/it/javalinux/testedby/runner/AbstractUnitRunner.java
/core/trunk/src/main/java/it/javalinux/testedby/runner/impl/JunitTestRunner.java
=======================================
--- /core/trunk/.gitignore Wed Sep 30 04:07:28 2009
+++ /core/trunk/.gitignore Sat Sep 18 06:52:42 2010
@@ -1,4 +1,4 @@
.settings
target
untracked
-testedbyMetadata.bin
+testedbyMetadata.bin*
=======================================
--- /core/trunk/pom.xml Tue Sep 7 13:18:01 2010
+++ /core/trunk/pom.xml Sat Sep 18 06:52:42 2010
@@ -50,6 +50,7 @@
<target>1.5</target>
<maxmem>256M</maxmem>
<fork>${compiler.fork}</fork>
+ <debug>true</debug>
</configuration>
</plugin>
@@ -131,6 +132,11 @@
<artifactId>javassist</artifactId>
<version>${javassistVersion}</version>
</dependency>
+ <dependency>
+ <groupId>xstream</groupId>
+ <artifactId>xstream</artifactId>
+ <version>1.2.2</version>
+ </dependency>
</dependencies>
<reporting>
=======================================
---
/core/trunk/src/main/java/it/javalinux/testedby/metadata/ClassLinkMetadata.java
Tue Apr 20 00:15:08 2010
+++
/core/trunk/src/main/java/it/javalinux/testedby/metadata/ClassLinkMetadata.java
Sat Sep 18 06:52:42 2010
@@ -49,15 +49,10 @@
- /**
- * {@inheritDoc}
- *
- * @see java.lang.Object#toString()
- */
@Override
- public String toString() {
- return "ClassLinkMetadata [clazz=" + clazz + "]";
- }
+ public String toString() {
+ return "ClassLinkMetadata [clazz=" + clazz + ", status=" + status + "]";
+ }
/**
* {@inheritDoc}
=======================================
---
/core/trunk/src/main/java/it/javalinux/testedby/metadata/LinkMetadata.java
Mon Apr 19 13:49:21 2010
+++
/core/trunk/src/main/java/it/javalinux/testedby/metadata/LinkMetadata.java
Sat Sep 18 06:52:42 2010
@@ -40,5 +40,10 @@
public StatusMetadata getStatus() {
return status;
}
+
+ @Override
+ public String toString() {
+ return "LinkMetadata [status=" + status + "]";
+ }
}
=======================================
---
/core/trunk/src/main/java/it/javalinux/testedby/metadata/MethodLinkMetadata.java
Mon Oct 19 03:43:14 2009
+++
/core/trunk/src/main/java/it/javalinux/testedby/metadata/MethodLinkMetadata.java
Sat Sep 18 06:52:42 2010
@@ -111,14 +111,10 @@
}
}
- /**
- * {@inheritDoc}
- *
- * @see java.lang.Object#toString()
- */
@Override
- public String toString() {
- return "MethodLinkMetadata [clazz=" + clazz + ", method=" + method + "]";
- }
+ public String toString() {
+ return "MethodLinkMetadata [clazz=" + clazz + ", method=" + method
+ + ", status=" + status + "]";
+ }
}
=======================================
---
/core/trunk/src/main/java/it/javalinux/testedby/metadata/StatusMetadata.java
Sat Apr 17 13:47:23 2010
+++
/core/trunk/src/main/java/it/javalinux/testedby/metadata/StatusMetadata.java
Sat Sep 18 06:52:42 2010
@@ -272,15 +272,17 @@
return this;
}
- /**
- * {@inheritDoc}
- *
- * @see java.lang.Object#toString()
- */
@Override
- public String toString() {
- return "StatusMetadata [fromAnnotation=" + fromAnnotation + ",
fromInstrumentation=" + fromInstrumentation + ", justCreated=" +
justCreated + ", onAbstract=" + onAbstract + ", passedOnLastRun=" +
passedOnLastRun + ", upperMostClassInHierarchyDefiningThisMetadata=" +
upperMostClassInHierarchyDefiningThisMetadata + ", valid=" + valid + "]";
- }
+ public String toString() {
+ return "StatusMetadata [valid=" + valid + ", justCreated="
+ + justCreated + ", fromAnnotation=" + fromAnnotation
+ + ", fromInstrumentation=" + fromInstrumentation
+ + ", passedOnLastRun=" + passedOnLastRun
+ + ", upperMostClassInHierarchyDefiningThisMetadata="
+ + upperMostClassInHierarchyDefiningThisMetadata
+ + ", creationDateInMillis=" + creationDateInMillis
+ + ", onAbstract=" + onAbstract + "]";
+ }
/**
* @return creationDateInMillis
=======================================
---
/core/trunk/src/main/java/it/javalinux/testedby/metadata/impl/ImmutableMethodMetadata.java
Sat Nov 7 07:19:39 2009
+++
/core/trunk/src/main/java/it/javalinux/testedby/metadata/impl/ImmutableMethodMetadata.java
Sat Sep 18 06:52:42 2010
@@ -147,20 +147,11 @@
}
@Override
- public String toString() {
- StringBuilder sb = new StringBuilder(name);
- sb.append("(");
- for (int i = 0; i < parameterTypes.length; i++) {
- sb.append(parameterTypes[i]);
- sb.append(" arg");
- sb.append(i);
- if (i < parameterTypes.length - 1) {
- sb.append(",");
- }
- }
- sb.append(")");
- return sb.toString();
- }
+ public String toString() {
+ return "ImmutableMethodMetadata [name=" + name + ", isConstructor="
+ + isConstructor + ", parameterTypes="
+ + parameterTypes == null ? "" : Arrays.toString(parameterTypes) + "]";
+ }
/**
* {@inheritDoc}
=======================================
---
/core/trunk/src/main/java/it/javalinux/testedby/metadata/impl/MetadataRepository.java
Mon Nov 16 14:12:13 2009
+++
/core/trunk/src/main/java/it/javalinux/testedby/metadata/impl/MetadataRepository.java
Sat Sep 18 06:52:42 2010
@@ -497,5 +497,11 @@
return false;
}
}
+
+ @Override
+ public String toString() {
+ return "MetadataRepository [testsLinks=" + testsLinks
+ + ", isTestedByLinks=" + isTestedByLinks + "]";
+ }
}
=======================================
---
/core/trunk/src/main/java/it/javalinux/testedby/metadata/serializer/impl/SimpleMetadataSerializer.java
Sat Oct 17 06:43:39 2009
+++
/core/trunk/src/main/java/it/javalinux/testedby/metadata/serializer/impl/SimpleMetadataSerializer.java
Sat Sep 18 06:52:42 2010
@@ -28,96 +28,114 @@
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
+import com.thoughtworks.xstream.XStream;
+import com.thoughtworks.xstream.io.xml.DomDriver;
+
/**
* @author Stefano Maestri stefano...@javalinux.it
*
*/
public class SimpleMetadataSerializer implements MetadataSerializer {
- /**
- * {@inheritDoc}
- *
- * @see
it.javalinux.testedby.metadata.serializer.MetadataSerializer#deserialize()
- */
- public TestsMetadata deserialize() {
- return this.deserialize("testedbyMetadata.bin");
-
- }
-
- /**
- * {@inheritDoc}
- *
- * @see
it.javalinux.testedby.metadata.serializer.MetadataSerializer#serialize(it.javalinux.testedby.metadata.TestsMetadata)
- */
- public boolean serialize(TestsMetadata metadata) {
- return this.serialize(metadata, "testedbyMetadata.bin");
- }
-
- /**
- *
- * @param filename
- * from which deserialise metadatas
- * @return deserialised TestsMetadata It gets them from a file on
current
- * directory named testedbyMetadata.bin
- */
- public TestsMetadata deserialize(String filename) {
- FileInputStream fis = null;
- ObjectInputStream ois = null;
- TestsMetadata metadata = null;
- try {
- fis = new FileInputStream(filename);
-
- ois = new ObjectInputStream(fis);
-
- metadata = (TestsMetadata) ois.readObject();
- } catch (Exception e) {
- return null;
- } finally {
- try {
- ois.close();
- } catch (Exception e) {
- }
-
- try {
- fis.close();
- } catch (Exception e) {
- }
- }
- return metadata;
- }
-
- /**
- *
- * @param metadata
- * @param fileName
- * filename where serialise the metadata
- * @return true if serialisations is possible and went well. False if
- * serialisation fails.
- */
- public boolean serialize(TestsMetadata metadata, String fileName) {
- FileOutputStream fos = null;
- ObjectOutputStream oos = null;
- try {
- fos = new FileOutputStream(fileName);
-
- oos = new ObjectOutputStream(fos);
-
- oos.writeObject(metadata);
- } catch (Exception e) {
- e.printStackTrace();
- return false;
- } finally {
- try {
- oos.close();
- } catch (Exception e) {
- }
-
- try {
- fos.close();
- } catch (Exception e) {
- }
- }
- return true;
-
- }
-}
+ /**
+ * {@inheritDoc}
+ *
+ * @see
it.javalinux.testedby.metadata.serializer.MetadataSerializer#deserialize()
+ */
+ public TestsMetadata deserialize() {
+ return this.deserialize("testedbyMetadata.bin");
+
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see
it.javalinux.testedby.metadata.serializer.MetadataSerializer#serialize(it.javalinux.testedby.metadata.TestsMetadata)
+ */
+ public boolean serialize(TestsMetadata metadata) {
+ return this.serialize(metadata, "testedbyMetadata.bin");
+ }
+
+ /**
+ *
+ * @param filename
+ * from which deserialise metadatas
+ * @return deserialised TestsMetadata It gets them from a file on current
+ * directory named testedbyMetadata.bin
+ */
+ public TestsMetadata deserialize(String filename) {
+ FileInputStream fis = null;
+ ObjectInputStream ois = null;
+ TestsMetadata metadata = null;
+ try {
+ fis = new FileInputStream(filename);
+
+ ois = new ObjectInputStream(fis);
+
+ metadata = (TestsMetadata) ois.readObject();
+ } catch (Exception e) {
+ return null;
+ } finally {
+ try {
+ ois.close();
+ } catch (Exception e) {
+ }
+
+ try {
+ fis.close();
+ } catch (Exception e) {
+ }
+ }
+ return metadata;
+ }
+
+ /**
+ *
+ * @param metadata
+ * @param fileName
+ * filename where serialise the metadata
+ * @return true if serialisations is possible and went well. False if
+ * serialisation fails.
+ */
+ public boolean serialize(TestsMetadata metadata, String fileName) {
+ FileOutputStream fos = null;
+ ObjectOutputStream oos = null;
+ try {
+ fos = new FileOutputStream(fileName);
+
+ oos = new ObjectOutputStream(fos);
+
+ oos.writeObject(metadata);
+ } catch (Exception e) {
+ e.printStackTrace();
+ return false;
+ } finally {
+ try {
+ oos.close();
+ } catch (Exception e) {
+ }
+
+ try {
+ fos.close();
+ } catch (Exception e) {
+ }
+ }
+
+ try {
+ XStream xstream = new XStream(new DomDriver());
+ fos = new FileOutputStream(fileName + ".debug");
+ fos.write(xstream.toXML(metadata).getBytes());
+ } catch (Exception e) {
+ e.printStackTrace();
+ return false;
+ } finally {
+
+ try {
+ fos.close();
+ } catch (Exception e) {
+ }
+ }
+ return true;
+
+ }
+}
=======================================
---
/core/trunk/src/main/java/it/javalinux/testedby/runner/AbstractUnitRunner.java
Wed Apr 14 09:27:55 2010
+++
/core/trunk/src/main/java/it/javalinux/testedby/runner/AbstractUnitRunner.java
Sat Sep 18 06:52:42 2010
@@ -92,7 +92,7 @@
// we need to run all the new test methods collected by annotations and
// those that failed previously
for (MethodLinkMetadata methodMetadata : metadata.getAllTestMethods()) {
- if (methodMetadata.getStatus().isJustCreated() ||
methodMetadata.getStatus().isFailedOnLastRun()) {
+ if (methodMetadata.getStatus().isJustCreated() ||
(methodMetadata.getStatus().isFailedOnLastRun() && !
methodMetadata.getStatus().isOnAbstract())) {
methodLinkToRun.add(methodMetadata);
}
}
=======================================
---
/core/trunk/src/main/java/it/javalinux/testedby/runner/impl/JunitTestRunner.java
Mon Apr 19 13:49:21 2010
+++
/core/trunk/src/main/java/it/javalinux/testedby/runner/impl/JunitTestRunner.java
Sat Sep 18 06:52:42 2010
@@ -32,7 +32,6 @@
import org.junit.Test;
import org.junit.internal.RealSystem;
import org.junit.internal.TextListener;
-import org.junit.runner.Description;
import org.junit.runner.JUnitCore;
import org.junit.runner.Request;
import org.junit.runner.Result;
@@ -44,102 +43,101 @@
*/
public class JunitTestRunner extends AbstractUnitRunner {
- private final JUnitCore core;
-
- private final RunListener listener;
-
- /**
- * @param _core
- * @param _listener
- */
- public JunitTestRunner(JUnitCore _core, RunListener _listener) {
- super();
- this.core = _core;
- this.listener = _listener;
- core.addListener(listener);
- }
-
- /**
- * @param _listener
- */
- public JunitTestRunner(RunListener _listener) {
- this(new JUnitCore(), _listener);
- }
-
- public JunitTestRunner(JUnitCore _core) {
- this(_core, new TextListener(new RealSystem()));
- }
-
- public JunitTestRunner() {
- this(new JUnitCore());
- }
-
- /**
- *
- * {@inheritDoc}
- *
- * @see it.javalinux.testedby.runner.AbstractUnitRunner#runTest(String,
- * String, ClassLinkMetadata...)
- */
- @Override
- public boolean runTest(String testClass, String methodName,
ClassLinkMetadata... unfilteredClassesUnderTest) {
- try {
- List<ClassLinkMetadata> classesUnderTest =
filterOnlyFromAnnotation(unfilteredClassesUnderTest);
- Request request =
Request.method(Thread.currentThread().getContextClassLoader().loadClass(testClass),
methodName);
- boolean status = true;
- if (classesUnderTest.size() > 0) {
- for (ClassLinkMetadata classLinkMetadata : classesUnderTest) {
- if (!classLinkMetadata.getStatus().isOnAbstract()) {
- InvocationTracker tracker = InvocationTracker.getInstance();
- tracker.setCurrentClassUnderTest(classLinkMetadata.getClazz());
- Result result = core.run(request);
- try {
- listener.testRunFinished(result);
- } catch (Exception e) {
- } finally {
- tracker.setCurrentClassUnderTest(null);
- }
- status &= result.wasSuccessful();
- }
- }
- } else {
- Result result = core.run(request);
+ private final JUnitCore core;
+
+ private final RunListener listener;
+
+ /**
+ * @param _core
+ * @param _listener
+ */
+ public JunitTestRunner(JUnitCore _core, RunListener _listener) {
+ super();
+ this.core = _core;
+ this.listener = _listener;
+ core.addListener(listener);
+ }
+
+ /**
+ * @param _listener
+ */
+ public JunitTestRunner(RunListener _listener) {
+ this(new JUnitCore(), _listener);
+ }
+
+ public JunitTestRunner(JUnitCore _core) {
+ this(_core, new TextListener(new RealSystem()));
+ }
+
+ public JunitTestRunner() {
+ this(new JUnitCore());
+ }
+
+ /**
+ *
+ * {@inheritDoc}
+ *
+ * @see it.javalinux.testedby.runner.AbstractUnitRunner#runTest(String,
+ * String, ClassLinkMetadata...)
+ */
+ @Override
+ public boolean runTest(String testClass, String methodName,
+ ClassLinkMetadata... unfilteredClassesUnderTest) {
try {
- listener.testRunFinished(result);
+ List<ClassLinkMetadata> classesUnderTest =
filterOnlyFromAnnotation(unfilteredClassesUnderTest);
+ Class<?> testClazz = Thread.currentThread().getContextClassLoader()
+ .loadClass(testClass);
+ Request request = Request.method(testClazz, methodName);
+ boolean status = true;
+ if (classesUnderTest.size() > 0) {
+ for (ClassLinkMetadata classLinkMetadata : classesUnderTest) {
+ if (!classLinkMetadata.getStatus().isOnAbstract()) {
+ InvocationTracker tracker = InvocationTracker
+ .getInstance();
+ tracker.setCurrentClassUnderTest(classLinkMetadata
+ .getClazz());
+ Result result = core.run(request);
+ tracker.setCurrentClassUnderTest(null);
+ status &= result.wasSuccessful();
+ }
+ }
+ } else {
+
+ Result result = core.run(request);
+
+ status = result.wasSuccessful();
+ }
+ return status;
} catch (Exception e) {
- }
- status = result.wasSuccessful();
- }
- return status;
- } catch (Exception e) {
- return false;
- }
- }
-
- /**
- * {@inheritDoc}
- *
- * @see
it.javalinux.testedby.runner.AbstractUnitRunner#getTestMethods(java.lang.Class)
- */
- @Override
- protected Collection<Method> getTestMethods(Class<?> testClass) {
- List<Method> list = new LinkedList<Method>();
- for (Method method : testClass.getMethods()) {
- if (method.getAnnotation(Test.class) != null) {
- list.add(method);
- }
- }
- return list;
- }
-
- List<ClassLinkMetadata> filterOnlyFromAnnotation(ClassLinkMetadata...
classLinks) {
- LinkedList<ClassLinkMetadata> filteredCollection = new
LinkedList<ClassLinkMetadata>();
- for (ClassLinkMetadata classLinkMetadata : classLinks) {
- if (classLinkMetadata.getStatus().isFromAnnotation()) {
- filteredCollection.add(classLinkMetadata);
- }
- }
- return filteredCollection;
- }
-
-}
+ return false;
+ }
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see
it.javalinux.testedby.runner.AbstractUnitRunner#getTestMethods(java.lang.Class)
+ */
+ @Override
+ protected Collection<Method> getTestMethods(Class<?> testClass) {
+ List<Method> list = new LinkedList<Method>();
+ for (Method method : testClass.getMethods()) {
+ if (method.getAnnotation(Test.class) != null) {
+ list.add(method);
+ }
+ }
+ return list;
+ }
+
+ List<ClassLinkMetadata> filterOnlyFromAnnotation(
+ ClassLinkMetadata... classLinks) {
+ LinkedList<ClassLinkMetadata> filteredCollection = new
LinkedList<ClassLinkMetadata>();
+ for (ClassLinkMetadata classLinkMetadata : classLinks) {
+ if (classLinkMetadata.getStatus().isFromAnnotation()) {
+ filteredCollection.add(classLinkMetadata);
+ }
+ }
+ return filteredCollection;
+ }
+
+}