openhab-core/itests/itest-include.bndrun
Wouter Born b5bf0b0157
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

57 lines
2.1 KiB
Plaintext

-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}
# A temporary inclusion until an R7 framework is available
Import-Package: org.osgi.framework.*;version="[1.8,2)",*
# Used by Objenesis/Mockito and not actually optional
-runsystempackages: sun.reflect
-runfw: org.eclipse.osgi
-runee: JavaSE-11
# 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: -Dorg.osgi.service.http.port=${org.osgi.service.http.port}
# 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: \
nashorn.args=--no-deprecation-warning,\
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