title: Pax Exam runs test twice
body: <p>This is my trivial Pax Exam test:</p>
  
  <pre><code>package ru.focusmedia.odp.server.datastore.itests;
  
  import static org.ops4j.pax.exam.CoreOptions.felix;
  import static org.ops4j.pax.exam.CoreOptions.options;
  
  import javax.inject.Inject;
  
  import org.junit.Test;
  import org.junit.runner.RunWith;
  import org.ops4j.pax.exam.Option;
  import org.ops4j.pax.exam.junit.Configuration;
  import org.ops4j.pax.exam.junit.JUnit4TestRunner;
  import org.osgi.framework.Bundle;
  import org.osgi.framework.BundleContext;
  
  /**
   * @author Toni Menzel (tonit)
   * @since Mar 3, 2009
   */
  @RunWith(JUnit4TestRunner.class)
  public class SampleTest {
  
      @Inject
      BundleContext bundleContext = null;
  
      /**
       * You will get a list of bundles installed by default plus your testcase,
       * wrapped into a bundle called pax-exam-probe
       */
      @Test
      public void listBundles() {
          for (Bundle b : bundleContext.getBundles()) {
              System.out.println("Bundle " + b.getBundleId() + " : "
                      + b.getSymbolicName());
          }
      }
  
      @Configuration
      public Option[] config() {
          return options(felix());
      }
  }
  </code></pre>
  
  <p>and its POM file:</p>
  
  <pre><code>&lt;?xml version='1.0' encoding='UTF-8' ?&gt;
  
  &lt;project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"&gt;
  
      &lt;modelVersion&gt;4.0.0&lt;/modelVersion&gt;
  
      &lt;groupId&gt;ru.focusmedia.odp.server&lt;/groupId&gt;
      &lt;artifactId&gt;datastore.itests&lt;/artifactId&gt;
      &lt;version&gt;0.1.0&lt;/version&gt;
      &lt;!-- &lt;packaging&gt;bundle&lt;/packaging&gt; --&gt;
  
      &lt;name&gt;Pax Exam based Testproject&lt;/name&gt;
  
      &lt;build&gt;
          &lt;plugins&gt;
              &lt;plugin&gt;
                  &lt;groupId&gt;org.apache.servicemix.tooling&lt;/groupId&gt;
                  &lt;artifactId&gt;depends-maven-plugin&lt;/artifactId&gt;
                  &lt;version&gt;1.2&lt;/version&gt;
                  &lt;executions&gt;
                      &lt;execution&gt;
                          &lt;id&gt;generate-depends-file&lt;/id&gt;
                          &lt;goals&gt;
                              &lt;goal&gt;generate-depends-file&lt;/goal&gt;
                          &lt;/goals&gt;
                      &lt;/execution&gt;
                  &lt;/executions&gt;
              &lt;/plugin&gt;
          &lt;/plugins&gt;
          &lt;pluginManagement&gt;
              &lt;plugins&gt;
                  &lt;!--This plugin's configuration is used to store Eclipse m2e settings 
                      only. It has no influence on the Maven build itself. --&gt;
                  &lt;plugin&gt;
                      &lt;groupId&gt;org.eclipse.m2e&lt;/groupId&gt;
                      &lt;artifactId&gt;lifecycle-mapping&lt;/artifactId&gt;
                      &lt;version&gt;1.0.0&lt;/version&gt;
                      &lt;configuration&gt;
                          &lt;lifecycleMappingMetadata&gt;
                              &lt;pluginExecutions&gt;
                                  &lt;pluginExecution&gt;
                                      &lt;pluginExecutionFilter&gt;
                                          &lt;groupId&gt;
                                              org.apache.servicemix.tooling
                                          &lt;/groupId&gt;
                                          &lt;artifactId&gt;
                                              depends-maven-plugin
                                          &lt;/artifactId&gt;
                                          &lt;versionRange&gt;
                                              [1.2,)
                                          &lt;/versionRange&gt;
                                          &lt;goals&gt;
                                              &lt;goal&gt;
                                                  generate-depends-file
                                              &lt;/goal&gt;
                                          &lt;/goals&gt;
                                      &lt;/pluginExecutionFilter&gt;
                                      &lt;action&gt;
                                          &lt;execute /&gt;
                                          &lt;!-- &lt;ignore/&gt; --&gt;
                                      &lt;/action&gt;
                                  &lt;/pluginExecution&gt;
                              &lt;/pluginExecutions&gt;
                          &lt;/lifecycleMappingMetadata&gt;
                      &lt;/configuration&gt;
                  &lt;/plugin&gt;
              &lt;/plugins&gt;
          &lt;/pluginManagement&gt;
      &lt;/build&gt;
  
      &lt;dependencies&gt;
  
          &lt;dependency&gt;
              &lt;groupId&gt;org.osgi&lt;/groupId&gt;
              &lt;artifactId&gt;org.osgi.core&lt;/artifactId&gt;
              &lt;version&gt;4.3.0&lt;/version&gt;
              &lt;scope&gt;test&lt;/scope&gt;
          &lt;/dependency&gt;
          &lt;dependency&gt;
              &lt;groupId&gt;org.ops4j.pax.exam&lt;/groupId&gt;
              &lt;artifactId&gt;pax-exam-junit4&lt;/artifactId&gt;
              &lt;version&gt;2.3.1&lt;/version&gt;
              &lt;scope&gt;test&lt;/scope&gt;
          &lt;/dependency&gt;
          &lt;dependency&gt;
              &lt;groupId&gt;org.ops4j.pax.exam&lt;/groupId&gt;
              &lt;artifactId&gt;pax-exam-container-native&lt;/artifactId&gt;
              &lt;version&gt;2.3.1&lt;/version&gt;
              &lt;scope&gt;test&lt;/scope&gt;
          &lt;/dependency&gt;
          &lt;dependency&gt;
              &lt;groupId&gt;org.slf4j&lt;/groupId&gt;
              &lt;artifactId&gt;slf4j-api&lt;/artifactId&gt;
              &lt;version&gt;1.6.4&lt;/version&gt;
              &lt;scope&gt;test&lt;/scope&gt;
          &lt;/dependency&gt;
          &lt;dependency&gt;
              &lt;groupId&gt;org.ops4j.pax.exam&lt;/groupId&gt;
              &lt;artifactId&gt;pax-exam&lt;/artifactId&gt;
              &lt;version&gt;2.3.1&lt;/version&gt;
              &lt;scope&gt;test&lt;/scope&gt;
          &lt;/dependency&gt;
          &lt;dependency&gt;
              &lt;groupId&gt;org.apache.karaf&lt;/groupId&gt;
              &lt;artifactId&gt;karaf&lt;/artifactId&gt;
              &lt;version&gt;2.2.6&lt;/version&gt;
              &lt;type&gt;pom&lt;/type&gt;
              &lt;scope&gt;test&lt;/scope&gt;
          &lt;/dependency&gt;
          &lt;dependency&gt;
              &lt;groupId&gt;org.apache.karaf&lt;/groupId&gt;
              &lt;artifactId&gt;org.apache.karaf.main&lt;/artifactId&gt;
              &lt;version&gt;2.2.6&lt;/version&gt;
              &lt;scope&gt;test&lt;/scope&gt;
          &lt;/dependency&gt;
          &lt;dependency&gt;
              &lt;groupId&gt;org.apache.felix&lt;/groupId&gt;
              &lt;artifactId&gt;org.apache.felix.framework&lt;/artifactId&gt;
              &lt;version&gt;4.0.2&lt;/version&gt;
              &lt;scope&gt;test&lt;/scope&gt;
          &lt;/dependency&gt;
          &lt;dependency&gt;
              &lt;groupId&gt;org.ops4j.pax.exam&lt;/groupId&gt;
              &lt;artifactId&gt;pax-exam-link-mvn&lt;/artifactId&gt;
              &lt;version&gt;2.3.1&lt;/version&gt;
              &lt;scope&gt;test&lt;/scope&gt;
          &lt;/dependency&gt;
          &lt;dependency&gt;
              &lt;groupId&gt;org.ops4j.pax.url&lt;/groupId&gt;
              &lt;artifactId&gt;pax-url-aether&lt;/artifactId&gt;
              &lt;version&gt;1.3.5&lt;/version&gt;
              &lt;scope&gt;test&lt;/scope&gt;
          &lt;/dependency&gt;
          &lt;dependency&gt;
              &lt;groupId&gt;ch.qos.logback&lt;/groupId&gt;
              &lt;artifactId&gt;logback-classic&lt;/artifactId&gt;
              &lt;version&gt;1.0.1&lt;/version&gt;
              &lt;scope&gt;test&lt;/scope&gt;
          &lt;/dependency&gt;
          &lt;dependency&gt;
              &lt;groupId&gt;javax.inject&lt;/groupId&gt;
              &lt;artifactId&gt;javax.inject&lt;/artifactId&gt;
              &lt;version&gt;1&lt;/version&gt;
              &lt;scope&gt;test&lt;/scope&gt;
          &lt;/dependency&gt;
          &lt;dependency&gt;
              &lt;groupId&gt;org.apache.karaf.tooling&lt;/groupId&gt;
              &lt;artifactId&gt;org.apache.karaf.tooling.testing&lt;/artifactId&gt;
              &lt;version&gt;2.2.6&lt;/version&gt;
              &lt;scope&gt;test&lt;/scope&gt;
          &lt;/dependency&gt;
      &lt;/dependencies&gt;
  &lt;/project&gt;
  </code></pre>
  
  <p>I expect the test to be run once, but this is the actual result:</p>
  
  <pre><code>[INFO] Scanning for projects...
  [INFO]                                                                         
  [INFO] ------------------------------------------------------------------------
  [INFO] Building Pax Exam based Testproject 0.1.0
  [INFO] ------------------------------------------------------------------------
  [INFO] 
  [INFO] --- depends-maven-plugin:1.2:generate-depends-file (generate-depends-file) @ datastore.itests ---
  [INFO] Created: /home/aromanov/workspaces/odp-server/ru.focusmedia.odp.server.datastore.itests/target/classes/META-INF/maven/dependencies.properties
  [INFO] 
  [INFO] --- maven-resources-plugin:2.5:resources (default-resources) @ datastore.itests ---
  [debug] execute contextualize
  [WARNING] Using platform encoding (UTF-8 actually) to copy filtered resources, i.e. build is platform dependent!
  [INFO] skip non existing resourceDirectory /home/aromanov/workspaces/odp-server/ru.focusmedia.odp.server.datastore.itests/src/main/resources
  [INFO] 
  [INFO] --- maven-compiler-plugin:2.3.2:compile (default-compile) @ datastore.itests ---
  [INFO] No sources to compile
  [INFO] 
  [INFO] --- maven-resources-plugin:2.5:testResources (default-testResources) @ datastore.itests ---
  [debug] execute contextualize
  [WARNING] Using platform encoding (UTF-8 actually) to copy filtered resources, i.e. build is platform dependent!
  [INFO] Copying 1 resource
  [INFO] 
  [INFO] --- maven-compiler-plugin:2.3.2:testCompile (default-testCompile) @ datastore.itests ---
  [INFO] Nothing to compile - all classes are up to date
  [INFO] 
  [INFO] --- maven-surefire-plugin:2.10:test (default-test) @ datastore.itests ---
  [INFO] Surefire report directory: /home/aromanov/workspaces/odp-server/ru.focusmedia.odp.server.datastore.itests/target/surefire-reports
  
  -------------------------------------------------------
   T E S T S
  -------------------------------------------------------
  Running ru.focusmedia.odp.server.datastore.itests.SampleTest
  SLF4J: Class path contains multiple SLF4J bindings.
  SLF4J: Found binding in [jar:file:/home/aromanov/.m2/repository/ch/qos/logback/logback-classic/1.0.1/logback-classic-1.0.1.jar!/org/slf4j/impl/StaticLoggerBinder.class]
  SLF4J: Found binding in [jar:file:/home/aromanov/.m2/repository/org/apache/karaf/org.apache.karaf.client/2.2.6/org.apache.karaf.client-2.2.6.jar!/org/slf4j/impl/StaticLoggerBinder.class]
  SLF4J: Found binding in [jar:file:/home/aromanov/.m2/repository/org/slf4j/slf4j-simple/1.6.4/slf4j-simple-1.6.4.jar!/org/slf4j/impl/StaticLoggerBinder.class]
  SLF4J: Found binding in [jar:file:/home/aromanov/.m2/repository/org/ops4j/pax/logging/pax-logging-api/1.6.5/pax-logging-api-1.6.5.jar!/org/slf4j/impl/StaticLoggerBinder.class]
  SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
  [   o.o.p.e.s.DefaultExamSystem] - Pax Exam System (Version: 2.3.1) created.
  [org.ops4j.pax.exam.rbc.internal.Activator] : Name, port or host is null. So this RBC remains inactive.
  org.ops4j.pax.logging.pax-logging-api[org.ops4j.pax.logging.internal.Activator] : Enabling SLF4J API support.
  org.ops4j.pax.logging.pax-logging-api[org.ops4j.pax.logging.internal.Activator] : Enabling Jakarta Commons Logging API support.
  org.ops4j.pax.logging.pax-logging-api[org.ops4j.pax.logging.internal.Activator] : Enabling Log4J API support.
  org.ops4j.pax.logging.pax-logging-api[org.ops4j.pax.logging.internal.Activator] : Enabling Avalon Logger API support.
  org.ops4j.pax.logging.pax-logging-api[org.ops4j.pax.logging.internal.Activator] : Enabling JULI Logger API support.
  org.ops4j.pax.exam.extender.service[org.ops4j.pax.exam.raw.extender.intern.Probe] : Test PaxExam-1f348e55-521a-48f1-b5a2-3e1c3276012d to be in PaxExam-1f348e55-521a-48f1-b5a2-3e1c3276012d,
  org.ops4j.pax.exam.extender.service[org.ops4j.pax.exam.raw.extender.intern.Probe] : Registering Service: org.ops4j.pax.exam.ProbeInvoker with Probe-Signature="PaxExam-1f348e55-521a-48f1-b5a2-3e1c3276012d" and expression="ru.focusmedia.odp.server.datastore.itests.SampleTest;listBundles"
  org.ops4j.pax.exam.extender.service[org.ops4j.pax.exam.raw.extender.intern.Probe] : Test PaxExam-Executable to be in PaxExam-1f348e55-521a-48f1-b5a2-3e1c3276012d,
  [org.ops4j.pax.exam.rbc.internal.Activator] : Name, port or host is null. So this RBC remains inactive.
  org.ops4j.pax.logging.pax-logging-api[org.ops4j.pax.logging.internal.Activator] : Enabling SLF4J API support.
  org.ops4j.pax.logging.pax-logging-api[org.ops4j.pax.logging.internal.Activator] : Enabling Jakarta Commons Logging API support.
  org.ops4j.pax.logging.pax-logging-api[org.ops4j.pax.logging.internal.Activator] : Enabling Log4J API support.
  org.ops4j.pax.logging.pax-logging-api[org.ops4j.pax.logging.internal.Activator] : Enabling Avalon Logger API support.
  org.ops4j.pax.logging.pax-logging-api[org.ops4j.pax.logging.internal.Activator] : Enabling JULI Logger API support.
  org.ops4j.pax.exam.extender.service[org.ops4j.pax.exam.raw.extender.intern.Probe] : Test PaxExam-1f348e55-521a-48f1-b5a2-3e1c3276012d to be in PaxExam-1f348e55-521a-48f1-b5a2-3e1c3276012d,
  org.ops4j.pax.exam.extender.service[org.ops4j.pax.exam.raw.extender.intern.Probe] : Registering Service: org.ops4j.pax.exam.ProbeInvoker with Probe-Signature="PaxExam-1f348e55-521a-48f1-b5a2-3e1c3276012d" and expression="ru.focusmedia.odp.server.datastore.itests.SampleTest;listBundles"
  org.ops4j.pax.exam.extender.service[org.ops4j.pax.exam.raw.extender.intern.Probe] : Test PaxExam-Executable to be in PaxExam-1f348e55-521a-48f1-b5a2-3e1c3276012d,
  Bundle 0 : org.eclipse.osgi
  Bundle 1 : org.ops4j.pax.exam.rbc
  Bundle 2 : org.ops4j.pax.exam.inject
  Bundle 3 : org.ops4j.pax.exam.extender.service
  Bundle 4 : osgi.cmpn
  Bundle 5 : org.ops4j.pax.logging.pax-logging-api
  Bundle 6 : org.apache.geronimo.specs.geronimo-atinject_1.0_spec
  Bundle 7 : PAXEXAM-PROBE-5c53a55c-5180-4471-923d-41806df0eb26
  Bundle 0 : org.apache.felix.framework
  Bundle 1 : org.ops4j.pax.exam.rbc
  Bundle 2 : org.ops4j.pax.exam.inject
  Bundle 3 : org.ops4j.pax.exam.extender.service
  Bundle 4 : osgi.cmpn
  Bundle 5 : org.ops4j.pax.logging.pax-logging-api
  Bundle 6 : org.apache.geronimo.specs.geronimo-atinject_1.0_spec
  Bundle 7 : PAXEXAM-PROBE-5c53a55c-5180-4471-923d-41806df0eb26
  org.ops4j.pax.logging.pax-logging-api[org.ops4j.pax.logging.internal.Activator] : Disabling SLF4J API support.
  org.ops4j.pax.logging.pax-logging-api[org.ops4j.pax.logging.internal.Activator] : Disabling Jakarta Commons Logging API support.
  org.ops4j.pax.logging.pax-logging-api[org.ops4j.pax.logging.internal.Activator] : Disabling Log4J API support.
  org.ops4j.pax.logging.pax-logging-api[org.ops4j.pax.logging.internal.Activator] : Disabling Avalon Logger API support.
  org.ops4j.pax.logging.pax-logging-api[org.ops4j.pax.logging.internal.Activator] : Disabling JULI Logger API support.
  org.ops4j.pax.logging.pax-logging-api[org.ops4j.pax.logging.internal.Activator] : Disabling SLF4J API support.
  org.ops4j.pax.logging.pax-logging-api[org.ops4j.pax.logging.internal.Activator] : Disabling Jakarta Commons Logging API support.
  org.ops4j.pax.logging.pax-logging-api[org.ops4j.pax.logging.internal.Activator] : Disabling Log4J API support.
  org.ops4j.pax.logging.pax-logging-api[org.ops4j.pax.logging.internal.Activator] : Disabling Avalon Logger API support.
  org.ops4j.pax.logging.pax-logging-api[org.ops4j.pax.logging.internal.Activator] : Disabling JULI Logger API support.
  Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.964 sec
  
  Results :
  
  Tests run: 2, Failures: 0, Errors: 0, Skipped: 0
  
  [INFO] ------------------------------------------------------------------------
  [INFO] BUILD SUCCESS
  [INFO] ------------------------------------------------------------------------
  [INFO] Total time: 3.130s
  [INFO] Finished at: Wed Apr 18 13:50:30 MSK 2012
  [INFO] Final Memory: 12M/214M
  [INFO] ------------------------------------------------------------------------
  </code></pre>
  
  <p>Why is the test being run on <code>org.eclipse.osgi</code> as well?</p>