diff --git a/dependencymanager/test/src/test/java/org/apache/felix/dm/test/AbstractServiceDependencyTest.java b/dependencymanager/test/src/test/java/org/apache/felix/dm/test/AbstractServiceDependencyTest.java
index 5d10d0f..6a10a19 100644
--- a/dependencymanager/test/src/test/java/org/apache/felix/dm/test/AbstractServiceDependencyTest.java
+++ b/dependencymanager/test/src/test/java/org/apache/felix/dm/test/AbstractServiceDependencyTest.java
@@ -34,7 +34,7 @@
 import org.osgi.framework.BundleContext;
 
 @RunWith(JUnit4TestRunner.class)
-public class AbstractServiceDependencyTest {
+public class AbstractServiceDependencyTest extends Base {
    @Configuration
    public static Option[] configuration() {
        return options(
diff --git a/dependencymanager/test/src/test/java/org/apache/felix/dm/test/AdapterTest.java b/dependencymanager/test/src/test/java/org/apache/felix/dm/test/AdapterTest.java
index e357811..1e1b51d 100644
--- a/dependencymanager/test/src/test/java/org/apache/felix/dm/test/AdapterTest.java
+++ b/dependencymanager/test/src/test/java/org/apache/felix/dm/test/AdapterTest.java
@@ -32,7 +32,7 @@
 import org.osgi.framework.BundleContext;
 
 @RunWith(JUnit4TestRunner.class)
-public class AdapterTest {
+public class AdapterTest extends Base {
     @Configuration
     public static Option[] configuration() {
         return options(
diff --git a/dependencymanager/test/src/test/java/org/apache/felix/dm/test/AspectTest.java b/dependencymanager/test/src/test/java/org/apache/felix/dm/test/AspectTest.java
index 29f079a..2446c70 100644
--- a/dependencymanager/test/src/test/java/org/apache/felix/dm/test/AspectTest.java
+++ b/dependencymanager/test/src/test/java/org/apache/felix/dm/test/AspectTest.java
@@ -35,7 +35,7 @@
 import org.osgi.framework.Constants;
 
 @RunWith(JUnit4TestRunner.class)
-public class AspectTest {
+public class AspectTest extends Base {
     @Configuration
     public static Option[] configuration() {
         return options(
diff --git a/dependencymanager/test/src/test/java/org/apache/felix/dm/test/ComponentLifeCycleTest.java b/dependencymanager/test/src/test/java/org/apache/felix/dm/test/ComponentLifeCycleTest.java
index 5859ea4..6ae26bc 100644
--- a/dependencymanager/test/src/test/java/org/apache/felix/dm/test/ComponentLifeCycleTest.java
+++ b/dependencymanager/test/src/test/java/org/apache/felix/dm/test/ComponentLifeCycleTest.java
@@ -32,7 +32,7 @@
 import org.osgi.framework.BundleContext;
 
 @RunWith(JUnit4TestRunner.class)
-public class ComponentLifeCycleTest {
+public class ComponentLifeCycleTest extends Base {
     @Configuration
     public static Option[] configuration() {
         return options(
diff --git a/dependencymanager/test/src/test/java/org/apache/felix/dm/test/ConfigurationDependencyTest.java b/dependencymanager/test/src/test/java/org/apache/felix/dm/test/ConfigurationDependencyTest.java
index 84efcfb..4698b74 100644
--- a/dependencymanager/test/src/test/java/org/apache/felix/dm/test/ConfigurationDependencyTest.java
+++ b/dependencymanager/test/src/test/java/org/apache/felix/dm/test/ConfigurationDependencyTest.java
@@ -41,7 +41,7 @@
 import org.osgi.service.cm.ManagedService;
 
 @RunWith(JUnit4TestRunner.class)
-public class ConfigurationDependencyTest {
+public class ConfigurationDependencyTest extends Base {
     @Configuration
     public static Option[] configuration() {
         return options(
diff --git a/dependencymanager/test/src/test/java/org/apache/felix/dm/test/FELIX2078_ServiceDependencyTest.java b/dependencymanager/test/src/test/java/org/apache/felix/dm/test/FELIX2078_ServiceDependencyTest.java
index 362676a..2d0d90a 100644
--- a/dependencymanager/test/src/test/java/org/apache/felix/dm/test/FELIX2078_ServiceDependencyTest.java
+++ b/dependencymanager/test/src/test/java/org/apache/felix/dm/test/FELIX2078_ServiceDependencyTest.java
@@ -32,7 +32,7 @@
 import org.osgi.framework.BundleContext;
 
 @RunWith(JUnit4TestRunner.class)
-public class FELIX2078_ServiceDependencyTest {
+public class FELIX2078_ServiceDependencyTest extends Base {
     @Configuration
     public static Option[] configuration() {
         return options(
diff --git a/dependencymanager/test/src/test/java/org/apache/felix/dm/test/MultipleServiceDependencyTest.java b/dependencymanager/test/src/test/java/org/apache/felix/dm/test/MultipleServiceDependencyTest.java
index bcb0290..c9cbeeb 100644
--- a/dependencymanager/test/src/test/java/org/apache/felix/dm/test/MultipleServiceDependencyTest.java
+++ b/dependencymanager/test/src/test/java/org/apache/felix/dm/test/MultipleServiceDependencyTest.java
@@ -35,7 +35,7 @@
 import org.osgi.framework.Constants;
 
 @RunWith(JUnit4TestRunner.class)
-public class MultipleServiceDependencyTest {
+public class MultipleServiceDependencyTest extends Base {
    @Configuration
    public static Option[] configuration() {
        return options(
diff --git a/dependencymanager/test/src/test/java/org/apache/felix/dm/test/ResourceDependencyTest.java b/dependencymanager/test/src/test/java/org/apache/felix/dm/test/ResourceDependencyTest.java
index c1fe796..51441b3 100644
--- a/dependencymanager/test/src/test/java/org/apache/felix/dm/test/ResourceDependencyTest.java
+++ b/dependencymanager/test/src/test/java/org/apache/felix/dm/test/ResourceDependencyTest.java
@@ -47,7 +47,7 @@
 import org.osgi.framework.ServiceReference;
 
 @RunWith(JUnit4TestRunner.class)
-public class ResourceDependencyTest {
+public class ResourceDependencyTest extends Base {
     @Configuration
     public static Option[] configuration() {
         return options(
diff --git a/dependencymanager/test/src/test/java/org/apache/felix/dm/test/ServiceDependencyTest.java b/dependencymanager/test/src/test/java/org/apache/felix/dm/test/ServiceDependencyTest.java
index ad7ebc9..664b708 100644
--- a/dependencymanager/test/src/test/java/org/apache/felix/dm/test/ServiceDependencyTest.java
+++ b/dependencymanager/test/src/test/java/org/apache/felix/dm/test/ServiceDependencyTest.java
@@ -32,7 +32,7 @@
 import org.osgi.framework.BundleContext;
 
 @RunWith(JUnit4TestRunner.class)
-public class ServiceDependencyTest {
+public class ServiceDependencyTest extends Base {
     @Configuration
     public static Option[] configuration() {
         return options(
diff --git a/dependencymanager/test/src/test/java/org/apache/felix/dm/test/SharingDependenciesWithMultipleServicesTest.java b/dependencymanager/test/src/test/java/org/apache/felix/dm/test/SharingDependenciesWithMultipleServicesTest.java
index 29b5969..2d4f510 100644
--- a/dependencymanager/test/src/test/java/org/apache/felix/dm/test/SharingDependenciesWithMultipleServicesTest.java
+++ b/dependencymanager/test/src/test/java/org/apache/felix/dm/test/SharingDependenciesWithMultipleServicesTest.java
@@ -49,7 +49,7 @@
 import org.osgi.service.cm.ManagedService;
 
 @RunWith(JUnit4TestRunner.class)
-public class SharingDependenciesWithMultipleServicesTest {
+public class SharingDependenciesWithMultipleServicesTest extends Base {
     @Configuration
     public static Option[] configuration() {
         return options(
diff --git a/dependencymanager/test/src/test/java/org/apache/felix/dm/test/TemporalServiceDependencyTest.java b/dependencymanager/test/src/test/java/org/apache/felix/dm/test/TemporalServiceDependencyTest.java
index cd76f5b..fed433d 100644
--- a/dependencymanager/test/src/test/java/org/apache/felix/dm/test/TemporalServiceDependencyTest.java
+++ b/dependencymanager/test/src/test/java/org/apache/felix/dm/test/TemporalServiceDependencyTest.java
@@ -32,7 +32,7 @@
 import org.osgi.framework.BundleContext;
 
 @RunWith(JUnit4TestRunner.class)
-public class TemporalServiceDependencyTest {
+public class TemporalServiceDependencyTest extends Base {
     @Configuration
     public static Option[] configuration() {
         return options(
