You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@karaf.apache.org by Serge Huber <sh...@jahia.com> on 2015/07/31 10:28:20 UTC
Karaf 4.0.0 and Integration Tests
Hello Karaf-ers,
I am trying to setup integration tests using Karaf 4.0.0 and I’m basing my code on the itests project in the Karaf source code.
I was having an issue at startup that looked like this :
-------------------------------------------------------
T E S T S
-------------------------------------------------------
[org.ops4j.pax.exam.spi.DefaultExamSystem] : Pax Exam System (Version: 4.5.0) created.
[org.ops4j.pax.exam.junit.impl.ProbeRunner] : creating PaxExam runner for class com.tofodo.checker.tests.integration.BasicTest
Running com.tofodo.checker.tests.integration.AllTests
[org.ops4j.pax.exam.junit.impl.ProbeRunner] : creating PaxExam runner for class com.tofodo.checker.tests.integration.BasicTest
[org.ops4j.pax.exam.junit.impl.ProbeRunner] : running test class com.tofodo.checker.tests.integration.BasicTest
[org.ops4j.pax.exam.karaf.container.internal.KarafTestContainer] : Wait for test container to finish its initialization [ RelativeTimeout value = 180000 ]
[org.ops4j.pax.exam.rbc.client.RemoteBundleContextClient] : Waiting for remote bundle context.. on 21000 name: f7ac8fed-92c2-4454-a913-77f69a2ffac8 timout: [ RelativeTimeout value = 180000 ]
22:58:35,238 | ERROR | af.features.internal.service.BootFeaturesInstaller | Error installing boot feature repository file:/x1/asf/karaf/k40x/target/checkout/assemblies/apache-karaf/target/assembly/system/org/apache/karaf/features/framework/4.0.0/framework-4.0.0-features.xml
java.io.IOException: /x1/asf/karaf/k40x/target/checkout/assemblies/apache-karaf/target/assembly/system/org/apache/karaf/features/framework/4.0.0/framework-4.0.0-features.xml (No such file or directory) : file:/x1/asf/karaf/k40x/target/checkout/assemblies/apache-karaf/target/assembly/system/org/apache/karaf/features/framework/4.0.0/framework-4.0.0-features.xml
at org.apache.karaf.features.internal.service.RepositoryImpl.load(RepositoryImpl.java:85)[8:org.apache.karaf.features.core:4.0.0]
at org.apache.karaf.features.internal.service.FeaturesServiceImpl.loadRepository(FeaturesServiceImpl.java:391)[8:org.apache.karaf.features.core:4.0.0]
at org.apache.karaf.features.internal.service.FeaturesServiceImpl.addRepository(FeaturesServiceImpl.java:411)[8:org.apache.karaf.features.core:4.0.0]
at org.apache.karaf.features.internal.service.FeaturesServiceImpl.addRepository(FeaturesServiceImpl.java:402)[8:org.apache.karaf.features.core:4.0.0]
at org.apache.karaf.features.internal.service.BootFeaturesInstaller.installBootFeatures(BootFeaturesInstaller.java:86)[8:org.apache.karaf.features.core:4.0.0]
at org.apache.karaf.features.internal.service.BootFeaturesInstaller.start(BootFeaturesInstaller.java:76)[8:org.apache.karaf.features.core:4.0.0]
at org.apache.karaf.features.internal.osgi.Activator.doStart(Activator.java:257)[8:org.apache.karaf.features.core:4.0.0]
at org.apache.karaf.util.tracker.BaseActivator.run(BaseActivator.java:233)[8:org.apache.karaf.features.core:4.0.0]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)[:1.7.0_79]
at java.util.concurrent.FutureTask.run(FutureTask.java:262)[:1.7.0_79]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)[:1.7.0_79]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)[:1.7.0_79]
at java.lang.Thread.run(Thread.java:745)[:1.7.0_79]
Caused by: java.io.FileNotFoundException: /x1/asf/karaf/k40x/target/checkout/assemblies/apache-karaf/target/assembly/system/org/apache/karaf/features/framework/4.0.0/framework-4.0.0-features.xml (No such file or directory)
at java.io.FileInputStream.open(Native Method)[:1.7.0_79]
at java.io.FileInputStream.<init>(FileInputStream.java:146)[:1.7.0_79]
at java.io.FileInputStream.<init>(FileInputStream.java:101)[:1.7.0_79]
at sun.net.www.protocol.file.FileURLConnection.connect(FileURLConnection.java:90)[:1.7.0_79]
at sun.net.www.protocol.file.FileURLConnection.getInputStream(FileURLConnection.java:188)[:1.7.0_79]
at java.net.URL.openStream(URL.java:1037)[:1.7.0_79]
at org.apache.karaf.features.internal.service.RepositoryImpl.load(RepositoryImpl.java:80)[8:org.apache.karaf.features.core:4.0.0]
... 12 more
It took me a while to track down the origin of this problem until I realized that the problem comes from the apache-karaf-4.0.0.tar.gz itself ! Specifically the etc/org.apache.karaf.features.cfg file contains the following hardcoded path :
featuresRepositories = \
file:/x1/asf/karaf/k40x/target/checkout/assemblies/apache-karaf/target/assembly/system/org/apache/karaf/features/framework/4.0.0/framework-4.0.0-features.xml, \
mvn:org.apache.karaf.features/enterprise/4.0.0/xml/features, \
mvn:org.apache.karaf.features/spring/4.0.0/xml/features, \
mvn:org.apache.karaf.features/standard/4.0.0/xml/features
It’s not entirely clear where this path is coming from. I’m guessing it’s somehow related to the Builder but I’m not an expert (yet) on this codebase so I might be wrong.
Is it possible to simply use my own custom org.apache.karaf.features.cfg file in my integration test project as a workaround until this issue is solved ?
Thanks a lot for your help,
cheers,
Serge…