diff options
7 files changed, 53 insertions, 1 deletions
diff --git a/jacoco-maven-plugin/src/org/jacoco/maven/AgentMojo.java b/jacoco-maven-plugin/src/org/jacoco/maven/AgentMojo.java index 95c1eb3f..2913da3d 100644 --- a/jacoco-maven-plugin/src/org/jacoco/maven/AgentMojo.java +++ b/jacoco-maven-plugin/src/org/jacoco/maven/AgentMojo.java @@ -126,6 +126,7 @@ public class AgentMojo extends AbstractJacocoMojo { * <li>tcpclient: At startup the agent connects to the TCP port specified by * the {@link #address} and {@link #port}. Execution data is written to this * TCP connection.</li> + * <li>none: Do not produce any output.</li> * </ul> * * @parameter expression="${jacoco.output}" diff --git a/org.jacoco.agent.rt.test/src/org/jacoco/agent/rt/internal/AgentTest.java b/org.jacoco.agent.rt.test/src/org/jacoco/agent/rt/internal/AgentTest.java index 8616763d..5d01c4c7 100644 --- a/org.jacoco.agent.rt.test/src/org/jacoco/agent/rt/internal/AgentTest.java +++ b/org.jacoco.agent.rt.test/src/org/jacoco/agent/rt/internal/AgentTest.java @@ -29,6 +29,7 @@ import javax.management.ObjectName; import org.jacoco.agent.rt.internal.controller.IAgentController; import org.jacoco.agent.rt.internal.controller.LocalController; +import org.jacoco.agent.rt.internal.controller.NopController; import org.jacoco.agent.rt.internal.controller.TcpClientController; import org.jacoco.agent.rt.internal.controller.TcpServerController; import org.jacoco.core.JaCoCo; @@ -79,6 +80,10 @@ public class AgentTest implements IExceptionLogger { options.setOutput(OutputMode.tcpclient); assertEquals(TcpClientController.class, agent.createAgentController() .getClass()); + + options.setOutput(OutputMode.none); + assertEquals(NopController.class, agent.createAgentController() + .getClass()); } @Test diff --git a/org.jacoco.agent.rt/src/org/jacoco/agent/rt/internal/Agent.java b/org.jacoco.agent.rt/src/org/jacoco/agent/rt/internal/Agent.java index 68ac3c63..20f511bd 100644 --- a/org.jacoco.agent.rt/src/org/jacoco/agent/rt/internal/Agent.java +++ b/org.jacoco.agent.rt/src/org/jacoco/agent/rt/internal/Agent.java @@ -23,6 +23,7 @@ import javax.management.StandardMBean; import org.jacoco.agent.rt.IAgent; import org.jacoco.agent.rt.internal.controller.IAgentController; import org.jacoco.agent.rt.internal.controller.LocalController; +import org.jacoco.agent.rt.internal.controller.NopController; import org.jacoco.agent.rt.internal.controller.TcpClientController; import org.jacoco.agent.rt.internal.controller.TcpServerController; import org.jacoco.core.JaCoCo; @@ -165,6 +166,8 @@ public class Agent implements IAgent { return new TcpServerController(logger); case tcpclient: return new TcpClientController(logger); + case none: + return new NopController(); default: throw new AssertionError(controllerType); } diff --git a/org.jacoco.agent.rt/src/org/jacoco/agent/rt/internal/controller/NopController.java b/org.jacoco.agent.rt/src/org/jacoco/agent/rt/internal/controller/NopController.java new file mode 100644 index 00000000..379f307c --- /dev/null +++ b/org.jacoco.agent.rt/src/org/jacoco/agent/rt/internal/controller/NopController.java @@ -0,0 +1,34 @@ +/******************************************************************************* + * Copyright (c) 2009, 2013 Mountainminds GmbH & Co. KG and Contributors + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Mandrikov Evgeny - initial API and implementation + * + *******************************************************************************/ +package org.jacoco.agent.rt.internal.controller; + +import org.jacoco.core.runtime.AgentOptions; +import org.jacoco.core.runtime.RuntimeData; + +/** + * Controller that does nothing. + */ +public class NopController implements IAgentController { + + public final void startup(final AgentOptions options, final RuntimeData data) { + // Nothing to do + } + + public void writeExecutionData(final boolean reset) { + // Nothing to do + } + + public void shutdown() { + // Nothing to do + } + +} diff --git a/org.jacoco.core/src/org/jacoco/core/runtime/AgentOptions.java b/org.jacoco.core/src/org/jacoco/core/runtime/AgentOptions.java index 0912584f..16b9b829 100644 --- a/org.jacoco.core/src/org/jacoco/core/runtime/AgentOptions.java +++ b/org.jacoco.core/src/org/jacoco/core/runtime/AgentOptions.java @@ -88,6 +88,7 @@ public final class AgentOptions { * @see OutputMode#file * @see OutputMode#tcpserver * @see OutputMode#tcpclient + * @see OutputMode#none */ public static final String OUTPUT = "output"; @@ -115,7 +116,13 @@ public final class AgentOptions { * agent connects to a TCP port specified by the * {@link AgentOptions#ADDRESS} and {@link AgentOptions#PORT} attribute. */ - tcpclient + tcpclient, + + /** + * Value for the {@link AgentOptions#OUTPUT} parameter: Do not produce + * any output. + */ + none } diff --git a/org.jacoco.doc/docroot/doc/ant.html b/org.jacoco.doc/docroot/doc/ant.html index c0e84e4f..2eb8aa79 100644 --- a/org.jacoco.doc/docroot/doc/ant.html +++ b/org.jacoco.doc/docroot/doc/ant.html @@ -231,6 +231,7 @@ <li><code>tcpclient</code>: At startup the agent connects to the TCP port specified by the <code>address</code> and <code>port</code> attribute. Execution data is written to this TCP connection.</li> + <li><code>none</code>: Do not produce any output.</li> </ul> </td> <td><code>file</code></td> diff --git a/org.jacoco.doc/docroot/doc/changes.html b/org.jacoco.doc/docroot/doc/changes.html index 4bca02b0..03c2f37f 100644 --- a/org.jacoco.doc/docroot/doc/changes.html +++ b/org.jacoco.doc/docroot/doc/changes.html @@ -27,6 +27,7 @@ under test (GitHub #61).</li> <li>Support for parallel test execution: Different agents can now safely write to the same <code>*.exec</code> file (GitHub #52).</li> + <li>New output mode - 'none' (GitHub #63).</li> </ul> <h3>Fixed Bugs</h3> |