This is an automated email from the ASF dual-hosted git repository. amichair pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/aries-rsa.git
commit 0f9b2981f167a225819abe3df096086c5dc28842 Author: Amichai Rothman <[email protected]> AuthorDate: Wed Mar 18 14:29:37 2026 +0200 ARIES-2210 Update and run TCK tests 8.1.0 --- itests/pom.xml | 1 + itests/tck/README.md | 17 ++--- itests/tck/install/install-tests.sh | 23 ------ itests/tck/pom.xml | 145 ++++++++++++++++++++++++++++++------ itests/tck/runtests | 21 ------ itests/tck/tck.bndrun | 114 +++++++++++++++++++--------- parent/pom.xml | 13 +++- 7 files changed, 221 insertions(+), 113 deletions(-) diff --git a/itests/pom.xml b/itests/pom.xml index 4385152b..e768310f 100644 --- a/itests/pom.xml +++ b/itests/pom.xml @@ -39,6 +39,7 @@ <modules> <module>felix</module> + <module>tck</module> </modules> <dependencyManagement> diff --git a/itests/tck/README.md b/itests/tck/README.md index 4581ca44..464f6b31 100644 --- a/itests/tck/README.md +++ b/itests/tck/README.md @@ -1,18 +1,13 @@ # TCK Tests -## Install tests from tck +This module runs the OSGi RSA TCK tests, to make sure the RSA implementation is fully compliant with the specs. -Call install-tests.sh with the path to the directory where the test jars reside. - - sh install/install-tests.sh ~/checkout/osgi_ct_enterprise/jar - -This installs the tests to your local maven repo and only needs to be done once. - -## Build the index +## Run the tests - mvn package +To run all tests: -## Run the tests + ../../mvnw verify -TODO +To run a specific test: + ../../mvnw verify -Dtck.test=<fullly.qualified.TestClass[:method]> diff --git a/itests/tck/install/install-tests.sh b/itests/tck/install/install-tests.sh deleted file mode 100644 index 41370f8a..00000000 --- a/itests/tck/install/install-tests.sh +++ /dev/null @@ -1,23 +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. -mvn org.apache.maven.plugins:maven-install-plugin:install-file -Dfile=$1/org.osgi.test.cases.remoteserviceadmin-5.0.0.jar \ - -DgroupId=org.osgi.test.cases \ - -DartifactId=org.osgi.test.cases.remoteserviceadmin \ - -Dversion=5.0.0 \ - -Dpackaging=jar \ - -DgeneratePom=true diff --git a/itests/tck/pom.xml b/itests/tck/pom.xml index dba86c46..b29cecbb 100644 --- a/itests/tck/pom.xml +++ b/itests/tck/pom.xml @@ -17,7 +17,7 @@ <parent> <groupId>org.apache.aries.rsa</groupId> <artifactId>org.apache.aries.rsa.itests</artifactId> - <version>1.10-SNAPSHOT</version> + <version>2.0.0-SNAPSHOT</version> <relativePath>../pom.xml</relativePath> </parent> @@ -28,57 +28,131 @@ <name>Aries Remote Service Admin itests tck</name> <properties> - <paxlogging.version>1.11.17</paxlogging.version> + <tck.version>8.1.0</tck.version> + <jaxb.version>4.0.8</jaxb.version> </properties> <dependencies> - <!-- Test cases from the tck. These need to be deployed by hand as - redistribution is not allowed --> + <!-- RSA --> <dependency> - <groupId>org.osgi.test.cases</groupId> - <artifactId>org.osgi.test.cases.remoteserviceadmin</artifactId> - <version>5.0.0</version> + <groupId>org.apache.aries.rsa</groupId> + <artifactId>org.apache.aries.rsa.core</artifactId> + <version>${project.version}</version> + </dependency> + <dependency> + <groupId>org.apache.aries.rsa</groupId> + <artifactId>org.apache.aries.rsa.spi</artifactId> + <version>${project.version}</version> </dependency> <dependency> <groupId>org.apache.aries.rsa</groupId> - <artifactId>repository</artifactId> + <artifactId>org.apache.aries.rsa.topology-manager</artifactId> + <version>${project.version}</version> + </dependency> + <dependency> + <groupId>org.apache.aries.rsa.discovery</groupId> + <artifactId>org.apache.aries.rsa.discovery.local</artifactId> + <version>${project.version}</version> + </dependency> + <dependency> + <groupId>org.apache.aries.rsa.discovery</groupId> + <artifactId>org.apache.aries.rsa.discovery.tcp</artifactId> + <version>${project.version}</version> + </dependency> + <dependency> + <groupId>org.apache.aries.rsa.provider</groupId> + <artifactId>org.apache.aries.rsa.provider.tcp</artifactId> <version>${project.version}</version> - <type>pom</type> </dependency> - <!-- Test framework --> + <!-- JAXB dependencies (used by e.g. discovery.local) --> + <dependency> + <groupId>jakarta.xml.bind</groupId> + <artifactId>jakarta.xml.bind-api</artifactId> + </dependency> + <dependency> + <groupId>com.sun.xml.bind</groupId> + <artifactId>jaxb-impl</artifactId> + <version>${jaxb.version}</version> + </dependency> + <dependency> + <groupId>com.sun.xml.bind</groupId> + <artifactId>jaxb-core</artifactId> + <version>${jaxb.version}</version> + </dependency> + <dependency> + <groupId>jakarta.activation</groupId> + <artifactId>jakarta.activation-api</artifactId> + </dependency> + <dependency> + <groupId>com.sun.istack</groupId> + <artifactId>istack-commons-runtime</artifactId> + <version>4.2.0</version> + </dependency> + <dependency> + <groupId>org.glassfish.hk2</groupId> + <artifactId>osgi-resource-locator</artifactId> + <version>3.0.0</version> + </dependency> + + <!-- TCK Test cases. --> <dependency> - <groupId>biz.aQute.bnd</groupId> - <artifactId>bnd</artifactId> - <version>2.4.0</version> + <groupId>org.osgi</groupId> + <artifactId>org.osgi.test.cases.remoteserviceadmin</artifactId> + <version>${tck.version}</version> </dependency> + + <!-- Test framework --> <dependency> <groupId>org.apache.servicemix.bundles</groupId> <artifactId>org.apache.servicemix.bundles.junit</artifactId> - <version>3.8.2_2</version> + <version>4.13.2_1</version> </dependency> <dependency> - <groupId>org.eclipse</groupId> + <groupId>org.assertj</groupId> + <artifactId>assertj-core</artifactId> + <version>3.27.7</version> + </dependency> + <dependency> + <groupId>net.bytebuddy</groupId> + <artifactId>byte-buddy</artifactId> + <version>1.18.8</version> + </dependency> + + <!-- OSGi framework --> + <dependency> + <groupId>org.eclipse.platform</groupId> <artifactId>org.eclipse.osgi</artifactId> - <version>3.8.0.v20120529-1548</version> - <scope>provided</scope> + <version>3.24.100</version> + </dependency> + <dependency> + <groupId>org.osgi</groupId> + <artifactId>org.osgi.util.function</artifactId> + <version>1.2.0</version> + </dependency> + <dependency> + <groupId>org.osgi</groupId> + <artifactId>org.osgi.util.promise</artifactId> + </dependency> + <dependency> + <groupId>org.osgi</groupId> + <artifactId>org.osgi.service.component</artifactId> + <version>1.5.1</version> </dependency> <dependency> <groupId>org.ops4j.pax.logging</groupId> <artifactId>pax-logging-api</artifactId> <version>${paxlogging.version}</version> - <scope>test</scope> </dependency> <dependency> <groupId>org.ops4j.pax.logging</groupId> - <artifactId>pax-logging-service</artifactId> + <artifactId>pax-logging-log4j2</artifactId> <version>${paxlogging.version}</version> - <scope>test</scope> </dependency> - <!-- Needed compendium services --> + <!-- OSGi compendium services --> <dependency> <groupId>org.apache.felix</groupId> <artifactId>org.apache.felix.configadmin</artifactId> @@ -88,7 +162,11 @@ <groupId>org.apache.felix</groupId> <artifactId>org.apache.felix.eventadmin</artifactId> <version>1.6.4</version> - <scope>test</scope> + </dependency> + <dependency> + <groupId>org.apache.felix</groupId> + <artifactId>org.apache.felix.scr</artifactId> + <version>2.2.18</version> </dependency> </dependencies> @@ -98,7 +176,7 @@ <plugin> <groupId>biz.aQute.bnd</groupId> <artifactId>bnd-indexer-maven-plugin</artifactId> - <version>3.3.0</version> + <version>${bnd.version}</version> <configuration> <localURLs>REQUIRED</localURLs> </configuration> @@ -111,6 +189,27 @@ </execution> </executions> </plugin> + <plugin> + <groupId>biz.aQute.bnd</groupId> + <artifactId>bnd-testing-maven-plugin</artifactId> + <version>${bnd.version}</version> + <configuration> + <bndruns> + <bndrun>tck.bndrun</bndrun> + </bndruns> + <failOnChanges>false</failOnChanges> + <!-- enables passing -Dtck.test=<TestClass> on maven command line to run specific tests --> + <test>${tck.test}</test> + </configuration> + <executions> + <execution> + <id>testing</id> + <goals> + <goal>testing</goal> + </goals> + </execution> + </executions> + </plugin> </plugins> </build> diff --git a/itests/tck/runtests b/itests/tck/runtests deleted file mode 100755 index bdd500af..00000000 --- a/itests/tck/runtests +++ /dev/null @@ -1,21 +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. - -cp org.osgi.test.cases.jpa.bnd target -cd target -java -jar lib/bnd-3.3.0.jar runtests --title osgi.ct -cd .. diff --git a/itests/tck/tck.bndrun b/itests/tck/tck.bndrun index bca7e89f..756f0dd2 100644 --- a/itests/tck/tck.bndrun +++ b/itests/tck/tck.bndrun @@ -17,45 +17,91 @@ # under the License. #-standalone: target/index.xml --runtrace = true +-runtrace: true --target = \ - org.osgi.test.cases.remoteserviceadmin +-target: org.osgi.test.cases.remoteserviceadmin --runproperties = \ - report="true", \ - osgi.resolverMode="strict" - rsa.ct.timeout="300000", \ - rsa.ct.timeout.factor="3" -# org.osgi.test.cases.remoteserviceadmin.system.packages.extra="junit.framework;version=3.8", \ -# org.osgi.test.cases.remoteserviceadmin.bundles="jar/osgi.cmpn-5.0.0.jar,jar/org.osgi.impl.service.log-1.3.2.jar,jar/org.apache.cxf.dosgi.singlebundle-1.3.1.jar,jar/org.apache.cxf.dosgi.discovery.server.config-1.2.0.jar", \ -# org.osgi.test.cases.remoteserviceadmin.serverconfig="service.exported.configs,org.apache.cxf.ws.port", \ -# service.exported.configs="org.apache.cxf.ws", \ -# org.apache.cxf.ws.port="@@FREE_PORT@@" +-runproperties:\ + report="true",\ + osgi.resolverMode="strict",\ + rsa.ct.timeout=30000,\ + rsa.ct.timeout.factor=3,\ + rsa.tck.timeout=10000,\ + service.exported.configs="aries.tcp",\ + org.osgi.framework.system.packages.extra="\ + org.osgi.service.remoteserviceadmin",\ + org.osgi.test.cases.remoteserviceadmin.system.packages.extra="\ + org.osgi.service.remoteserviceadmin,\ + junit.framework",\ + org.osgi.test.cases.remoteserviceadmin.serverconfig="service.exported.configs",\ + org.osgi.test.cases.remoteserviceadmin.bundles="\ + ${repo;org.apache.aries.rsa.core;2.0.0.SNAPSHOT},\ + ${repo;org.apache.aries.rsa.spi;2.0.0.SNAPSHOT},\ + ${repo;org.apache.aries.rsa.topology-manager;2.0.0.SNAPSHOT},\ + ${repo;org.apache.aries.rsa.discovery.local;2.0.0.SNAPSHOT},\ + ${repo;org.apache.aries.rsa.discovery.tcp;2.0.0.SNAPSHOT},\ + ${repo;org.apache.aries.rsa.provider.tcp;2.0.0.SNAPSHOT},\ + ${repo;org.osgi.service.component;1.5.1},\ + ${repo;org.osgi.util.function;1.2.0},\ + ${repo;org.osgi.util.promise;1.3.0},\ + ${repo;org.apache.felix.configadmin;1.9.26},\ + ${repo;org.apache.felix.eventadmin;1.6.4},\ + ${repo;org.apache.felix.scr;2.2.18},\ + ${repo;org.apache.servicemix.bundles.junit;4.13.2},\ + ${repo;org.ops4j.pax.logging.pax-logging-api;2.3.3},\ + ${repo;org.ops4j.pax.logging.pax-logging-log4j2;2.3.3},\ + ${repo;jakarta.activation-api;2.1.4},\ + ${repo;jakarta.xml.bind-api;4.0.5},\ + ${repo;com.sun.xml.bind.jaxb-impl;4.0.8},\ + ${repo;com.sun.xml.bind.jaxb-core;4.0.8},\ + ${repo;com.sun.istack.commons-runtime;4.2.0},\ + ${repo;org.glassfish.hk2.osgi-resource-locator;3.0.0}",\ + org.apache.aries.rsa.discovery.tcp.address=localhost:7668,\ + org.apache.aries.rsa.discovery.tcp.peers=localhost:7669,\ + org.apache.aries.rsa.bridge=true,\ + org.osgi.test.cases.remoteserviceadmin.framework.properties="\ + org.apache.aries.rsa.discovery.tcp.address=localhost:7669,\ + org.apache.aries.rsa.discovery.tcp.peers=localhost:7668,\ + org.apache.aries.rsa.bridge=true" --runvm = \ - -Xmx512m, -XX:MaxPermSize=350m +-runvm:\ + -Xmx512m + #,"-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5005" --runsystempackages=javax.xml.stream; version=1.0, javax.xml.stream.events; version=1.0, javax.xml.stream.util; version=1.0 --runfw: org.eclipse.osgi;version='[3.8.0.v20120529-1548,3.8.0.v20120529-1548]' --runee: JavaSE-1.8 --runrequires: \ +-runsystempackages:\ + javax.xml.stream; version=1.0,\ + javax.xml.stream.events; version=1.0,\ + javax.xml.stream.util; version=1.0 +-runfw: org.eclipse.osgi;version='[3.24.100,3.24.101)' +-runee: JavaSE-${java.specification.version} +-runrequires:\ osgi.identity;filter:='(osgi.identity=org.osgi.test.cases.remoteserviceadmin)',\ osgi.identity;filter:='(osgi.identity=org.apache.aries.rsa.topology-manager)',\ - osgi.identity;filter:='(osgi.identity=org.ops4j.pax.logging.pax-logging-service)' - --runblacklist: \ - osgi.identity;filter:='(osgi.identity=osgi.cmpn)',\ - osgi.identity;filter:='(osgi.identity=slf4j.api)' --runbundles: \ - org.apache.aries.rsa.core;version='[1.10.0,1.10.1)',\ - org.apache.aries.rsa.discovery.config;version='[1.10.0,1.10.1)',\ - org.apache.aries.rsa.provider.tcp;version='[1.10.0,1.10.1)',\ - org.apache.aries.rsa.spi;version='[1.10.0,1.10.1)',\ - org.apache.aries.rsa.topology-manager;version='[1.10.0,1.10.1)',\ + osgi.identity;filter:='(osgi.identity=org.ops4j.pax.logging.pax-logging-log4j2)' +-runblacklist:\ + osgi.identity;filter:='(osgi.identity=osgi.cmpn)' +-runbundles:\ + org.apache.aries.rsa.core;version='[2.0.0,2.0.1)',\ + org.apache.aries.rsa.spi;version='[2.0.0,2.0.1)',\ + org.apache.aries.rsa.topology-manager;version='[2.0.0,2.0.1)',\ + org.apache.aries.rsa.discovery.local;version='[2.0.0,2.0.1)',\ + org.apache.aries.rsa.discovery.tcp;version='[2.0.0,2.0.1)',\ + org.apache.aries.rsa.provider.tcp;version='[2.0.0,2.0.1)',\ + org.osgi.service.component;version='[1.5.1,1.5.2)',\ + org.osgi.util.function;version='[1.2.0,1.2.1)',\ + org.osgi.util.promise;version='[1.3.0,1.3.1)',\ org.apache.felix.configadmin;version='[1.9.26,1.9.27)',\ org.apache.felix.eventadmin;version='[1.6.4,1.6.5)',\ - org.apache.servicemix.bundles.junit;version='[3.8.2,3.8.3)',\ - org.osgi.test.cases.remoteserviceadmin;version='[5.0.0,5.0.1)',\ - org.ops4j.pax.logging.pax-logging-api;version='[1.11.17,1.11.18)',\ - org.ops4j.pax.logging.pax-logging-service;version='[1.11.17,1.11.18)' + org.apache.felix.scr;version='[2.2.18,2.2.19)',\ + org.apache.servicemix.bundles.junit;version='[4.13.2,4.13.3)',\ + assertj-core;version='[3.27.7,3.27.8)',\ + net.bytebuddy.byte-buddy;version='[1.18.8,1.18.9)',\ + org.ops4j.pax.logging.pax-logging-api;version='[2.3.3,2.3.4)',\ + org.ops4j.pax.logging.pax-logging-log4j2;version='[2.3.3,2.3.4)',\ + jakarta.activation-api;version='[2.1.4,2.1.5)',\ + jakarta.xml.bind-api;version='[4.0.5,4.0.6)',\ + com.sun.xml.bind.jaxb-impl;version='[4.0.8,4.0.9)',\ + com.sun.xml.bind.jaxb-core;version='[4.0.8,4.0.9)',\ + com.sun.istack.commons-runtime;version='[4.2.0,4.2.1)',\ + org.glassfish.hk2.osgi-resource-locator;version='[3.0.0,3.0.1)',\ + org.osgi.test.cases.remoteserviceadmin;version='[8.1.0,8.1.1)' diff --git a/parent/pom.xml b/parent/pom.xml index 73db01ad..b680d865 100644 --- a/parent/pom.xml +++ b/parent/pom.xml @@ -33,7 +33,7 @@ <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> - <bnd.version>6.4.0</bnd.version> + <bnd.version>7.2.3</bnd.version> <zookeeper.version>3.9.3_1</zookeeper.version> <netty.version>4.1.121.Final</netty.version> <slf4j.version>2.0.17</slf4j.version> @@ -41,6 +41,7 @@ <hawtdispatch.version>1.22</hawtdispatch.version> <hawtbuf.version>1.11</hawtbuf.version> <exam.version>4.13.5</exam.version> + <paxlogging.version>2.3.3</paxlogging.version> </properties> <dependencies> @@ -472,6 +473,16 @@ </plugins> </build> </profile> + <profile> + <!-- bnd 7.x no longer supports Java 11, so we pin it to an older version that does --> + <id>legacy-jdk-bnd</id> + <activation> + <jdk>11</jdk> + </activation> + <properties> + <bnd.version>6.4.0</bnd.version> + </properties> + </profile> </profiles> </project>
