diff --git a/src/main/provisioning/model.txt b/src/main/provisioning/model.txt
index 09054e0..cc85275 100644
--- a/src/main/provisioning/model.txt
+++ b/src/main/provisioning/model.txt
@@ -30,4 +30,8 @@
 
   org.apache.sling.servlets.resolver.SlingServletResolver
     # Set the servlet resolver's cache size to zero for testing
-    servletresolver.cacheSize=I"0"
\ No newline at end of file
+    servletresolver.cacheSize=I"0"
+    
+[settings]
+  sling.system.packages.class.com.vladium.emma.rt.RT=com.vladium.emma.rt
+  org.apache.sling.commons.log.julenabled=true
diff --git a/src/test/config/sling.properties b/src/test/config/sling.properties
deleted file mode 100644
index bb7b3b5..0000000
--- a/src/test/config/sling.properties
+++ /dev/null
@@ -1,22 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#  http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-sling.system.packages.class.com.vladium.emma.rt.RT=com.vladium.emma.rt
-org.apache.sling.commons.log.julenabled=true
-
-# jackrabbit and oak run modes are mutually exclusive,
-# and cannot be changed after the first startup
-sling.run.mode.install.options=jackrabbit,oak|oak_tar,oak_mongo
diff --git a/src/test/resources/repository.xml b/src/test/resources/repository.xml
deleted file mode 100644
index c20e17d..0000000
--- a/src/test/resources/repository.xml
+++ /dev/null
@@ -1,77 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!--
-  Licensed to the Apache Software Foundation (ASF) under one
-  or more contributor license agreements.  See the NOTICE file
-  distributed with this work for additional information
-  regarding copyright ownership.  The ASF licenses this file
-  to you under the Apache License, Version 2.0 (the
-  "License"); you may not use this file except in compliance
-  with the License.  You may obtain a copy of the License at
-
-   http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing,
-  software distributed under the License is distributed on an
-  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  KIND, either express or implied.  See the License for the
-  specific language governing permissions and limitations
-  under the License.
--->
-<!DOCTYPE Repository
-          PUBLIC "-//The Apache Software Foundation//DTD Jackrabbit 2.0//EN"
-          "http://jackrabbit.apache.org/dtd/repository-2.0.dtd">
-
-<Repository>
-    <FileSystem class="org.apache.jackrabbit.core.fs.local.LocalFileSystem">
-        <param name="path" value="${rep.home}/test_repository"/>
-    </FileSystem>
-
-    <DataStore class="org.apache.jackrabbit.core.data.FileDataStore"/>
-
-    <Security appName="Jackrabbit">
-        <SecurityManager class="org.apache.jackrabbit.core.DefaultSecurityManager" workspaceName="security">
-        </SecurityManager>
-
-        <AccessManager class="org.apache.sling.jcr.jackrabbit.server.impl.security.PluggableDefaultAccessManager">
-        </AccessManager>
-
-        <LoginModule class="org.apache.sling.jcr.jackrabbit.server.impl.security.PluggableDefaultLoginModule">
-            <param name="anonymousId" value="anonymous"/>
-            <param name="adminId" value="admin"/>
-        </LoginModule>
-    </Security>
-
-    <Workspaces rootPath="${rep.home}/workspaces" defaultWorkspace="default"/>
-
-    <Workspace name="${wsp.name}">
-        <FileSystem class="org.apache.jackrabbit.core.fs.local.LocalFileSystem">
-            <param name="path" value="${wsp.home}"/>
-        </FileSystem>
-        <PersistenceManager class="org.apache.jackrabbit.core.persistence.db.DerbyPersistenceManager">
-          <param name="url" value="jdbc:derby:${wsp.home}/db;create=true"/>
-          <param name="schemaObjectPrefix" value="${wsp.name}_"/>
-          <param name="shutdownOnClose" value="false"/>
-        </PersistenceManager>
-        <SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
-            <param name="path" value="${wsp.home}/index"/>
-            <param name="supportHighlighting" value="true"/>
-        </SearchIndex>
-    </Workspace>
-
-    <Versioning rootPath="${rep.home}/version">
-        <FileSystem class="org.apache.jackrabbit.core.fs.local.LocalFileSystem">
-            <param name="path" value="${rep.home}/version" />
-        </FileSystem>
-
-        <PersistenceManager class="org.apache.jackrabbit.core.persistence.db.DerbyPersistenceManager">
-          <param name="url" value="jdbc:derby:${rep.home}/version/db;create=true"/>
-          <param name="schemaObjectPrefix" value="version_"/>
-          <param name="shutdownOnClose" value="false"/>
-        </PersistenceManager>
-    </Versioning>
-
-    <SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
-        <param name="path" value="${rep.home}/repository/index"/>
-        <param name="supportHighlighting" value="true"/>
-    </SearchIndex>
-</Repository>
\ No newline at end of file
