From c572b099c3b59e6e03d9bdaa2ba5e27d4845dcdf Mon Sep 17 00:00:00 2001 From: "Marc R. Hoffmann" Date: Thu, 30 Aug 2012 22:17:37 +0200 Subject: Log cause for instrumentation failures. --- .../jacoco/agent/rt/CoverageTransformerTest.java | 2 +- .../src/org/jacoco/agent/rt/ExceptionRecorder.java | 62 ++++++++-------------- .../rt/controller/TcpClientControllerTest.java | 6 +-- .../rt/controller/TcpServerControllerTest.java | 6 +-- 4 files changed, 28 insertions(+), 48 deletions(-) (limited to 'org.jacoco.agent.rt.test/src/org') diff --git a/org.jacoco.agent.rt.test/src/org/jacoco/agent/rt/CoverageTransformerTest.java b/org.jacoco.agent.rt.test/src/org/jacoco/agent/rt/CoverageTransformerTest.java index 78ece831..c3ffaf6c 100644 --- a/org.jacoco.agent.rt.test/src/org/jacoco/agent/rt/CoverageTransformerTest.java +++ b/org.jacoco.agent.rt.test/src/org/jacoco/agent/rt/CoverageTransformerTest.java @@ -51,7 +51,7 @@ public class CoverageTransformerTest { @After public void teardown() { - recorder.assertEmpty(); + recorder.assertNoException(); } @Test diff --git a/org.jacoco.agent.rt.test/src/org/jacoco/agent/rt/ExceptionRecorder.java b/org.jacoco.agent.rt.test/src/org/jacoco/agent/rt/ExceptionRecorder.java index a997d417..8852fcd4 100644 --- a/org.jacoco.agent.rt.test/src/org/jacoco/agent/rt/ExceptionRecorder.java +++ b/org.jacoco.agent.rt.test/src/org/jacoco/agent/rt/ExceptionRecorder.java @@ -12,65 +12,45 @@ package org.jacoco.agent.rt; import static org.junit.Assert.assertEquals; - -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; +import static org.junit.Assert.assertNull; /** * {@link IExceptionLogger} implementation for testing purposes. */ public class ExceptionRecorder implements IExceptionLogger { - private final List exceptions = new ArrayList(); + private Class exceptionType; + private String message; + private Class causeType; public void logExeption(Exception ex) { - exceptions.add(ex); + assertNull("multiple exeptions", exceptionType); + exceptionType = ex.getClass(); + message = ex.getMessage(); + causeType = ex.getCause() == null ? null : ex.getCause().getClass(); } public void clear() { - exceptions.clear(); + exceptionType = null; + message = null; + causeType = null; } - public void assertEmpty() { - assertEquals(Collections.emptyList(), getTypes()); + public void assertNoException() { + assertNull(exceptionType); } - public void assertException(final Class type, + public void assertException(final Class exceptionType, final String message) { - assertEquals(Collections.singletonList(type), getTypes()); - assertEquals(Collections.singletonList(message), getMessages()); - } - - public void assertException(final Class type, - final String message, final Class causetype) { - assertEquals(Collections.singletonList(type), getTypes()); - assertEquals(Collections.singletonList(message), getMessages()); - assertEquals(Collections.singletonList(causetype), getCauseTypes()); - } - - private List> getTypes() { - final List> types = new ArrayList>(); - for (Exception e : exceptions) { - types.add(e.getClass()); - } - return types; - } - - private List> getCauseTypes() { - final List> types = new ArrayList>(); - for (Exception e : exceptions) { - types.add(e.getCause().getClass()); - } - return types; + assertEquals(exceptionType, this.exceptionType); + assertEquals(message, this.message); } - private List getMessages() { - final List messages = new ArrayList(); - for (Exception e : exceptions) { - messages.add(e.getMessage()); - } - return messages; + public void assertException(final Class exceptionType, + final String message, final Class causeType) { + assertEquals(exceptionType, this.exceptionType); + assertEquals(message, this.message); + assertEquals(causeType, this.causeType); } } diff --git a/org.jacoco.agent.rt.test/src/org/jacoco/agent/rt/controller/TcpClientControllerTest.java b/org.jacoco.agent.rt.test/src/org/jacoco/agent/rt/controller/TcpClientControllerTest.java index 67ed2767..3fa84b5f 100644 --- a/org.jacoco.agent.rt.test/src/org/jacoco/agent/rt/controller/TcpClientControllerTest.java +++ b/org.jacoco.agent.rt.test/src/org/jacoco/agent/rt/controller/TcpClientControllerTest.java @@ -70,14 +70,14 @@ public class TcpClientControllerTest { public void testShutdown() throws Exception { controller.shutdown(); assertFalse(remoteReader.read()); - logger.assertEmpty(); + logger.assertNoException(); } @Test public void testRemoteClose() throws Exception { remoteSocket.close(); controller.shutdown(); - logger.assertEmpty(); + logger.assertNoException(); } @Test @@ -106,7 +106,7 @@ public class TcpClientControllerTest { assertEquals(1, infos.size()); assertEquals("stubid", infos.get(0).getId()); - logger.assertEmpty(); + logger.assertNoException(); controller.shutdown(); } diff --git a/org.jacoco.agent.rt.test/src/org/jacoco/agent/rt/controller/TcpServerControllerTest.java b/org.jacoco.agent.rt.test/src/org/jacoco/agent/rt/controller/TcpServerControllerTest.java index b965b238..77b7d299 100644 --- a/org.jacoco.agent.rt.test/src/org/jacoco/agent/rt/controller/TcpServerControllerTest.java +++ b/org.jacoco.agent.rt.test/src/org/jacoco/agent/rt/controller/TcpServerControllerTest.java @@ -71,7 +71,7 @@ public class TcpServerControllerTest { public void testShutdownWithoutConnection() throws Exception { serverSocket.waitForAccept(); controller.shutdown(); - logger.assertEmpty(); + logger.assertNoException(); } @Test @@ -79,7 +79,7 @@ public class TcpServerControllerTest { serverSocket.waitForAccept(); new ExecutionDataWriter(serverSocket.connect().getOutputStream()); controller.shutdown(); - logger.assertEmpty(); + logger.assertNoException(); } @Test @@ -109,7 +109,7 @@ public class TcpServerControllerTest { assertEquals(1, infos.size()); assertEquals("stubid", infos.get(0).getId()); - logger.assertEmpty(); + logger.assertNoException(); controller.shutdown(); } -- cgit v1.2.3