This is an automated email from the ASF dual-hosted git repository. stbischof pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/felix-dev.git
The following commit(s) were added to refs/heads/master by this push: new 4097a96185 [framework] add tck module - run the OSGi-TCK osgi.test.cases.framework 4097a96185 is described below commit 4097a96185086ed7bb0a0e05a08c14e918692cd4 Author: Stefan Bischof <stbisc...@bipolis.org> AuthorDate: Sat Apr 12 13:06:58 2025 +0200 [framework] add tck module - run the OSGi-TCK osgi.test.cases.framework Signed-off-by: Stefan Bischof <stbisc...@bipolis.org> --- .github/workflows/maven-ci.yml | 17 +++-- framework.tck/pom.xml | 160 +++++++++++++++++++++++++++++++++++++++++ framework.tck/tck.bndrun | 36 ++++++++++ 3 files changed, 209 insertions(+), 4 deletions(-) diff --git a/.github/workflows/maven-ci.yml b/.github/workflows/maven-ci.yml index 86bdd614a8..24284494dd 100644 --- a/.github/workflows/maven-ci.yml +++ b/.github/workflows/maven-ci.yml @@ -27,12 +27,16 @@ permissions: {} jobs: build: runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + java: [17] steps: - uses: actions/checkout@v4 - - name: Set up JDK 17 + - name: Set up JDK ${{ matrix.java }} uses: actions/setup-java@v4 with: - java-version: '17' + java-version: ${{ matrix.java }} distribution: 'temurin' cache: maven - name: Set up Maven @@ -40,7 +44,7 @@ jobs: with: maven-version: 3.9.9 - name: Check which subproject changed and build affected ones - uses: dorny/paths-filter@v3.0.2 + uses: dorny/paths-filter@v3.0.2 id: changes with: filters: | @@ -80,12 +84,17 @@ jobs: - name: Felix Framework if: steps.changes.outputs.framework == 'true' run: mvn -B -V -Dstyle.color=always --file framework/pom.xml clean verify + - name: OSGi-TCK Framework + if: steps.changes.outputs.framework == 'true' + run: mvn -B -V -Dstyle.color=always --file framework.tck/pom.xml clean verify - name: Upload Test Results if: always() uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2 with: - name: test-results + name: test-results-jdk${{ matrix.java }} if-no-files-found: warn path: | ${{ github.workspace }}/**/target/surefire-reports/*.xml ${{ github.workspace }}/**/target/failsafe-reports/*.xml + ${{ github.workspace }}/**/target/test-reports/tck/*.xml + diff --git a/framework.tck/pom.xml b/framework.tck/pom.xml new file mode 100644 index 0000000000..e13eda584b --- /dev/null +++ b/framework.tck/pom.xml @@ -0,0 +1,160 @@ +<!-- + 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. +--> +<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/maven-v4_0_0.xsd"> + <parent> + <groupId>org.apache.felix</groupId> + <artifactId>felix-parent</artifactId> + <version>8</version> + <relativePath>../pom/pom.xml</relativePath> + </parent> + <modelVersion>4.0.0</modelVersion> + <packaging>jar</packaging> + <name>Apache Felix Framework</name> + <artifactId>org.apache.felix.framework.tck</artifactId> + <version>7.1.0-SNAPSHOT</version> + <properties> + <dollar>$</dollar> + <felix.java.version>8</felix.java.version> + </properties> + <scm> + <connection>scm:git:https://github.com/apache/felix-dev.git</connection> + <developerConnection>scm:git:https://github.com/apache/felix-dev.git</developerConnection> + <url>https://gitbox.apache.org/repos/asf?p=felix-dev.git</url> + <tag>org.apache.felix.framework-7.0.2</tag> + </scm> + + + <build> + <plugins> + <plugin> + <groupId>biz.aQute.bnd</groupId> + <artifactId>bnd-resolver-maven-plugin</artifactId> + <version>7.1.0</version> + <configuration> + <includeDependencyManagement>true</includeDependencyManagement> + <bndruns> + <bndrun>tck.bndrun</bndrun> + </bndruns> + <scopes> + <scope>compile</scope> + <scope>runtime</scope> + <scope>test</scope> + </scopes> + <failOnChanges>false</failOnChanges> + <bndruns> + <bndrun>tck.bndrun</bndrun> + </bndruns> + </configuration> + <executions> + <execution> + <goals> + <goal>resolve</goal> + </goals> + </execution> + </executions> + </plugin> + <plugin> + <groupId>biz.aQute.bnd</groupId> + <artifactId>bnd-testing-maven-plugin</artifactId> + <version>7.1.0</version> + <configuration> + <failOnChanges>true</failOnChanges> + <includeDependencyManagement>true</includeDependencyManagement> + <bndruns> + <bndrun>tck.bndrun</bndrun> + </bndruns> + <scopes> + <scope>compile</scope> + <scope>runtime</scope> + <scope>test</scope> + </scopes> + </configuration> + <executions> + <execution> + <goals> + <goal>testing</goal> + </goals> + </execution> + </executions> + </plugin> + + </plugins> + + + </build> + <dependencies> + + <dependency> + <groupId>net.bytebuddy</groupId> + <artifactId>byte-buddy</artifactId> + <version>1.17.5</version> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.assertj</groupId> + <artifactId>assertj-core</artifactId> + <version>3.27.3</version> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.apache.servicemix.bundles</groupId> + <artifactId>org.apache.servicemix.bundles.junit</artifactId> + <version>4.13.2_1</version> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.junit.platform</groupId> + <artifactId>junit-platform-launcher</artifactId> + <version>1.12.1</version> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.junit.platform</groupId> + <artifactId>junit-platform-engine</artifactId> + <version>1.12.1</version> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.junit.platform</groupId> + <artifactId>junit-platform-launcher</artifactId> + <version>1.12.1</version> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.osgi</groupId> + <artifactId>org.osgi.test.cases.framework</artifactId> + <version>8.0.0</version> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.apache.felix</groupId> + <artifactId>org.apache.felix.framework</artifactId> + <version>7.1.0-SNAPSHOT</version> + </dependency> + <!-- tck run --> + <dependency> + <groupId>biz.aQute.bnd</groupId> + <artifactId>biz.aQute.junit</artifactId> + <version>6.4.1</version> + <scope>runtime</scope> + </dependency> + </dependencies> +</project> \ No newline at end of file diff --git a/framework.tck/tck.bndrun b/framework.tck/tck.bndrun new file mode 100644 index 0000000000..541ec5ddb6 --- /dev/null +++ b/framework.tck/tck.bndrun @@ -0,0 +1,36 @@ +-runproperties: \ + ${runproperties}=,\ + org.osgi.test.cases.framework.div.tb16=xyz,\ + org.osgi.test.cases.framework.div.tb15=abc,\ + org.osgi.framework.system.capabilities.extra='osgi.ee; osgi.ee="testOSGiEE", osgi.ee; osgi.ee="AA/BB", osgi.ee; osgi.ee="CC-XX/DD-YY", osgi.ee; osgi.ee="EE/FF-YY"; version:Version="2.0", osgi.ee; osgi.ee="GG-XX/HH"; version:Version="1.0", osgi.ee; osgi.ee="II-1.0/JJ-2.0", osgi.ee; osgi.ee="div/tb7a"',\ + org.osgi.test.cases.framework.div.tb12=abc + +-runee: JavaSE-17 +-runrequires: \ + bnd.identity;id='org.osgi.test.cases.framework',\ + bnd.identity;id='net.bytebuddy.byte-buddy',\ + bnd.identity;id=assertj-core,\ + bnd.identity;id=junit-platform-commons,\ + bnd.identity;id=junit-platform-engine,\ + bnd.identity;id=junit-platform-launcher,\ + bnd.identity;id=junit-vintage-engine,\ + bnd.identity;id='biz.aQute.junit' + + +-runfw: org.apache.felix.framework;version='[7.0.0,8) + +-tester: biz.aQute.tester.junit-platform + +# resolved bundles +-runbundles: \ + org.osgi.test.cases.framework;version='[8.0.0,8.0.1)',\ + org.apache.servicemix.bundles.bcel;version='[5.2.0,5.2.1)',\ + org.apache.servicemix.bundles.junit;version='[4.13.2,4.13.3)',\ + junit-platform-commons;version='[1.12.1,1.12.2)',\ + junit-platform-engine;version='[1.12.1,1.12.2)',\ + org.opentest4j;version='[1.3.0,1.3.1)',\ + junit-platform-launcher;version='[1.12.1,1.12.2)',\ + assertj-core;version='[3.27.3,3.27.4)',\ + biz.aQute.junit;version='[6.4.1,6.4.2)',\ + junit-vintage-engine;version='[5.7.1,5.7.2)',\ + net.bytebuddy.byte-buddy;version='[1.17.5,1.17.6)' \ No newline at end of file