Hi, which version of Pax Exam are you using? And did you try to upgrade to the latest version of it?
regards, Achim 2015-02-13 15:40 GMT+01:00 Nick Baker <[email protected]>: > We are experiencing the same slowdown in PAX-Exam with 3.0.0, also using > TinyBundles. Pretty painful. > > MavenArtifactUrlReference karafUrl = maven() > .groupId( "org.apache.karaf" ) > .artifactId( "apache-karaf" ) > .version( "3.0.0" ) > .type( "tar.gz" ); > > > ... > > karafDistributionConfiguration() > .frameworkUrl( karafUrl ) > .unpackDirectory( new File( "target/exam" ) ) > .useDeployFolder( false ), > > > > > On 2/13/15, 6:10 AM, "koslowskyj" <[email protected]> wrote: > > >Hi, > > > >I am not sure whether this belongs on the karaf or rather on the pax > >mailinglist. > >After i upgraded from karaf 2.3.3 to 3.0.3 i noticed that our integration > >tests slowed down dramatically (30 seconds to 1 minute per test). > > > >So i tried a few things, setted up a minimal test with PaxExam for > >KarafContainer and added also a Tinybundle to the Test (because most of > >our > >tests use TinyBundles). I noticed that when i was using the same Test and > >same maven settings for PaxExam with diffrent Karaf Version they were a > >lot > >slower on Karaf 3.0.3 (a ~30 second timeout during the Test with 3.0.3). > >With Karaf 2.3.3 they behaved as expected. This only seems to happen when > >using TinyBundles and Karaf 3.0.3. > >Is this a bug? Does anybody know how to fix this? > > > >Best regards > > > > > >2.3.3 result: > > > >[INFO] Total time: 24.384 s > > > >3.0.3 result: > > > >[INFO] Total time: 54.138 s > > > > > >Test: > > > > > >import static aQute.bnd.osgi.Constants.BUNDLE_SYMBOLICNAME; > >import static aQute.bnd.osgi.Constants.EXPORT_PACKAGE; > >import static aQute.bnd.osgi.Constants.IMPORT_PACKAGE; > >import static junit.framework.Assert.assertTrue; > >import static org.ops4j.pax.exam.CoreOptions.maven; > >import static org.ops4j.pax.exam.CoreOptions.streamBundle; > >import static org.ops4j.pax.tinybundles.core.TinyBundles.bundle; > >import static org.osgi.framework.Constants.DYNAMICIMPORT_PACKAGE; > > > >import java.io.File; > > > >import org.junit.Test; > >import org.junit.runner.RunWith; > >import org.ops4j.pax.exam.Configuration; > >import org.ops4j.pax.exam.CoreOptions; > >import org.ops4j.pax.exam.Option; > >import org.ops4j.pax.exam.junit.PaxExam; > >import org.ops4j.pax.exam.karaf.options.KarafDistributionOption; > >import org.ops4j.pax.exam.karaf.options.LogLevelOption.LogLevel; > >import org.ops4j.pax.exam.spi.reactors.ExamReactorStrategy; > >import org.ops4j.pax.exam.spi.reactors.PerClass; > >import org.ops4j.pax.tinybundles.core.TinyBundle; > > > >import sample.minimal.karaf.test.second.MyClass; > > > >@RunWith(PaxExam.class) > >@ExamReactorStrategy(PerClass.class) > >public class VersionAsInProjectKarafTest > >{ > > > > @Configuration > > public Option[] config() > > { > > return new Option[]{ > > KarafDistributionOption.logLevel(LogLevel.TRACE), > > > >KarafDistributionOption.karafDistributionConfiguration().frameworkUrl( > > > >maven().groupId("org.apache.karaf").artifactId("apache-karaf").type("tar.g > >z").versionAsInProject()) > > .karafVersion("2.3.3") > > // .karafVersion("3.0.3") > > .name("Apache > >Karaf").useDeployFolder(false).unpackDirectory(new > >File("target/paxexam")), > > > >KarafDistributionOption.editConfigurationFileExtend("etc/config.properties > >", > >"org.apache.aries.blueprint.synchronous", "false"), > > runtimeUtils() > > }; > > } > > > > > > /** > > * Sets up and provisions a bundle packaged with the runtime utitlity > >classes and corresponding headers. This method > > * should not be called directly as it is called from {@link > >#provisionRuntimeUtilities()}. > > */ > > private static Option runtimeUtils() > > { > > > > final TinyBundle tinyBundle = bundle() > > .add(MyClass.class) > > .set(BUNDLE_SYMBOLICNAME, > >"sample.minimal.karaf.test.second") > > .set(EXPORT_PACKAGE, "sample.minimal.karaf.test.second") > > .set(IMPORT_PACKAGE, "*") > > .set(DYNAMICIMPORT_PACKAGE, "*"); > > > > return CoreOptions.provision(streamBundle(tinyBundle.build())); > > } > > > > > > @Test > > public void test() throws Exception > > { > > assertTrue(true); > > } > > > >} > > > >pom.xml > > > > > ><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/xsd/maven-4.0.0.xsd"> > > <modelVersion>4.0.0</modelVersion> > > <groupId>some.test</groupId> > > > <artifactId>sample.minimal.karaf.test.second</artifactId> > > <version>0.0.1-SNAPSHOT</version> > > <packaging>bundle</packaging> > > > > <dependencies> > > > > > <dependency> > > *setting for karaf > 3* > > > / < groupId>org.apache.karaf.features</groupId> > > > <version>3.0.3</version>/ > > > > > *setting for karaf 2* > >/ <groupId>org.apache.karaf.assemblies.features</groupId> > > / > <artifactId>standard</artifactId> > > > /<version>2.3.3</version>/ > > > <classifier>features</classifier> > > > <type>xml</type> > > > </dependency> > > > > > > > <dependency> > > > <groupId>org.apache.karaf</groupId> > > > <artifactId>apache-karaf</artifactId> > > > <version>2.3.3</version> > > > <type>tar.gz</type> > > > <scope>test</scope> > > > </dependency> > > > > > <dependency> > > > <groupId> > > > org.ops4j.pax.exam > > > </groupId> > > > <artifactId> > > > pax-exam-spi > > > </artifactId> > > > <version>4.4.0</version> > > > <scope>test</scope> > > > </dependency> > > > > > <dependency> > > > <groupId>org.ops4j.pax.exam</groupId> > > > <artifactId>pax-exam-container-karaf</artifactId> > > > <version>4.4.0</version> > > > <scope>test</scope> > > > </dependency> > > > <dependency> > > > <groupId>org.ops4j.pax.exam</groupId> > > > <artifactId>pax-exam-junit4</artifactId> > > > <version>4.4.0</version> > > > <scope>test</scope> > > > </dependency> > > > <dependency> > > > <groupId>org.ops4j.pax.exam</groupId> > > > <artifactId>pax-exam</artifactId> > > > <version>4.4.0</version> > > > <scope>test</scope> > > > </dependency> > > > <dependency> > > > <groupId>org.ops4j.pax.url</groupId> > > > <artifactId>pax-url-aether</artifactId> > > > <version>2.3.0</version> > > > <scope>test</scope> > > > </dependency> > > > <dependency> > > > <groupId>javax.inject</groupId> > > > <artifactId>javax.inject</artifactId> > > > <version>1</version> > > > <scope>test</scope> > > > </dependency> > > > <dependency> > > > <groupId>junit</groupId> > > > <artifactId>junit</artifactId> > > > <version>4.11</version> > > > <scope>test</scope> > > > </dependency> > > </dependencies> > > > > <build> > > <plugins> > > > > > <plugin> > > > > <artifactId>maven-compiler-plugin</artifactId> > > > <version>3.1</version> > > > <configuration> > > > > <source>1.7</source> > > > > <target>1.7</target> > > > </configuration> > > > </plugin> > > > <plugin> > > > > <groupId>org.apache.felix</groupId> > > > > <artifactId>maven-bundle-plugin</artifactId> > > > > <extensions>true</extensions> > > > > <version>2.3.7</version> > > > > > </plugin> > > > <plugin> > > > > <groupId>org.apache.servicemix.tooling</groupId> > > > > <artifactId>depends-maven-plugin</artifactId> > > > <version>1.2</version> > > > > > <executions> > > > > <execution> > > > > <id>generate-depends-file</id> > > > > <goals> > > > > > <goal>generate-depends-file</goal> > > > > </goals> > > > > </execution> > > > </executions> > > > </plugin> > > > <plugin> > > > > <artifactId>maven-surefire-plugin</artifactId> > > > <configuration> > > > > <systemPropertyVariables> > > > ><pax.exam.karaf.version>2.3.3</pax.exam.karaf.version> > > > > </systemPropertyVariables> > > > </configuration> > > > </plugin> > > </plugins> > > </build> > ></project> > > > > > > > > > > > >-- > >View this message in context: > > > http://karaf.922171.n3.nabble.com/Integration-Tests-hang-for-approx-30-sec > >onds-after-Karaf-2-3-3-upgrade-to-3-0-3-tp4038517.html > >Sent from the Karaf - User mailing list archive at Nabble.com. > > -- Apache Member Apache Karaf <http://karaf.apache.org/> Committer & PMC OPS4J Pax Web <http://wiki.ops4j.org/display/paxweb/Pax+Web/> Committer & Project Lead blog <http://notizblog.nierbeck.de/> Co-Author of Apache Karaf Cookbook <http://bit.ly/1ps9rkS> Software Architect / Project Manager / Scrum Master
