openhab-core/itests/itest-include.bndrun

59 lines
2.1 KiB
Plaintext
Raw Normal View History

-standalone: \
../../bom/runtime-index/target/index.xml;name="org.openhab.core.bom.runtime-index",\
../../bom/test-index/target/index.xml;name="org.openhab.core.bom.test-index",\
../../bom/openhab-core-index/target/local-index.xml;name="org.openhab.core.bom.openhab-core-index",\
target/index.xml;name="self"
-resolve.effective: active
-tester: biz.aQute.tester.junit-platform
# Run all integration tests which are named xyzTest
Test-Cases: ${classes;CONCRETE;PUBLIC;NAMED;*Test}
# Used by Objenesis/Mockito and not actually optional
-runsystempackages: sun.reflect
-runfw: org.eclipse.osgi
-runee: JavaSE-17
Always run OSGi HTTP service on random port in itests (#2759) It is probably always a good idea to run the OSGi HTTP service on a random available port in itests. This fixes some stacktraces when running itests and it will also prevent future issues when tests using the HTTP service are written. These stacktraces often show when running itests in parallel: ``` org.ops4j.pax.web.pax-web-runtime [org.ops4j.pax.web.service.internal.HttpServiceStarted] ERROR : Could not start the servlet context for context path [] java.io.IOException: Failed to bind to /0.0.0.0:8080 at org.eclipse.jetty.server.ServerConnector.openAcceptChannel(ServerConnector.java:349) at org.eclipse.jetty.server.ServerConnector.open(ServerConnector.java:310) at org.eclipse.jetty.server.AbstractNetworkConnector.doStart(AbstractNetworkConnector.java:80) at org.eclipse.jetty.server.ServerConnector.doStart(ServerConnector.java:234) at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73) at org.eclipse.jetty.server.Server.doStart(Server.java:401) at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73) at org.ops4j.pax.web.service.jetty.internal.JettyServerImpl$1.start(JettyServerImpl.java:350) at org.ops4j.pax.web.service.internal.HttpServiceStarted.registerServlet(HttpServiceStarted.java:255) at org.ops4j.pax.web.service.internal.HttpServiceStarted.registerServlet(HttpServiceStarted.java:226) at org.ops4j.pax.web.service.internal.HttpServiceStarted.registerServlet(HttpServiceStarted.java:210) at org.ops4j.pax.web.service.internal.HttpServiceProxy.registerServlet(HttpServiceProxy.java:69) at org.openhab.core.io.http.servlet.BaseOpenHABServlet.activate(BaseOpenHABServlet.java:56) at org.openhab.core.io.http.servlet.OpenHABServlet.activate(OpenHABServlet.java:40) ... ``` Similar to: openhab/openhab-addons#11523 Signed-off-by: Wouter Born <github@maindrain.net>
2022-02-14 08:09:55 +01:00
# An unused random HTTP port is used during tests to prevent resource conflicts
# This property is set by the build-helper-maven-plugin in the itests pom.xml
-runvm: \
-Djdk.util.zip.disableZip64ExtraFieldValidation=true,\
-Dorg.osgi.service.http.port=${org.osgi.service.http.port},\
-DJETTY_AVAILABLE_PROCESSORS=4
Always run OSGi HTTP service on random port in itests (#2759) It is probably always a good idea to run the OSGi HTTP service on a random available port in itests. This fixes some stacktraces when running itests and it will also prevent future issues when tests using the HTTP service are written. These stacktraces often show when running itests in parallel: ``` org.ops4j.pax.web.pax-web-runtime [org.ops4j.pax.web.service.internal.HttpServiceStarted] ERROR : Could not start the servlet context for context path [] java.io.IOException: Failed to bind to /0.0.0.0:8080 at org.eclipse.jetty.server.ServerConnector.openAcceptChannel(ServerConnector.java:349) at org.eclipse.jetty.server.ServerConnector.open(ServerConnector.java:310) at org.eclipse.jetty.server.AbstractNetworkConnector.doStart(AbstractNetworkConnector.java:80) at org.eclipse.jetty.server.ServerConnector.doStart(ServerConnector.java:234) at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73) at org.eclipse.jetty.server.Server.doStart(Server.java:401) at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73) at org.ops4j.pax.web.service.jetty.internal.JettyServerImpl$1.start(JettyServerImpl.java:350) at org.ops4j.pax.web.service.internal.HttpServiceStarted.registerServlet(HttpServiceStarted.java:255) at org.ops4j.pax.web.service.internal.HttpServiceStarted.registerServlet(HttpServiceStarted.java:226) at org.ops4j.pax.web.service.internal.HttpServiceStarted.registerServlet(HttpServiceStarted.java:210) at org.ops4j.pax.web.service.internal.HttpServiceProxy.registerServlet(HttpServiceProxy.java:69) at org.openhab.core.io.http.servlet.BaseOpenHABServlet.activate(BaseOpenHABServlet.java:56) at org.openhab.core.io.http.servlet.OpenHABServlet.activate(OpenHABServlet.java:40) ... ``` Similar to: openhab/openhab-addons#11523 Signed-off-by: Wouter Born <github@maindrain.net>
2022-02-14 08:09:55 +01:00
# The integration test itself does not export anything.
Export-Package:
-exportcontents:
-runrequires.ee: \
bnd.identity;id='org.apache.servicemix.specs.activation-api-1.2.1',\
bnd.identity;id='org.apache.servicemix.specs.annotation-api-1.3',\
bnd.identity;id='org.glassfish.hk2.osgi-resource-locator',\
bnd.identity;id='com.sun.xml.bind.jaxb-osgi'
-runrequires.junit: \
bnd.identity;id='biz.aQute.tester.junit-platform',\
bnd.identity;id='junit-jupiter-engine'
-runproperties: \
org.ops4j.pax.logging.DefaultServiceLog.level=WARN
-runvm.java9plus: \
--add-opens=java.base/java.io=ALL-UNNAMED,\
--add-opens=java.base/java.lang=ALL-UNNAMED,\
--add-opens=java.base/java.lang.reflect=ALL-UNNAMED,\
--add-opens=java.base/java.net=ALL-UNNAMED,\
--add-opens=java.base/java.security=ALL-UNNAMED,\
--add-opens=java.base/java.text=ALL-UNNAMED,\
--add-opens=java.base/java.time=ALL-UNNAMED,\
--add-opens=java.base/java.util=ALL-UNNAMED,\
--add-opens=java.desktop/java.awt.font=ALL-UNNAMED,\
--add-opens=java.naming/javax.naming.spi=ALL-UNNAMED,\
--add-opens=java.rmi/sun.rmi.transport.tcp=ALL-UNNAMED
-runblacklist.itest-include: \
bnd.identity;id='slf4j.api'