Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Using the OSGi TCK

The OSGi Alliance now provides access to Apache committers to its TCK binaries. This page describes how to use run Felix subprojects against the TCK.

OSGi TCK Overview

The TCK is delivered as two JAR files, one for the core TCK and one for the compendium TCK. Each JAR file is comprised of several other JAR files, which are the actual compliance tests. Typically, there is one JAR per specification, except for the OSGi framework.

The TCK uses BND as its testing harness, which in turn uses the OSGi R4.2 framework launching and embedding API to configure, launch, and install test bundles. Each test JAR file has an associated BND file which supplies the configuration BND needs to run the associated tests.

Modifying the BND files

Modifying the BND files is fairly straightforward, if not tedious. A typical BND file looks like this:

...

The following two examples show how to edit these files for the Felix framework and Felix bundle subprojects.

Testing the Felix framework

The Felix framework is tested against the core TCK. The first thing to do is extract the core TCK JAR file, which includes test suites for:

...

Reports for the tests suites are generated in the reports/ subdirectory and are named after the appropriate test suite.

Testing a Felix bundle

The core TCK tests the framework implementation and its related services. The compendium TCK tests the various non-framework-related specifications, which are implemented as bundles. For the most part, testing a bundle is similar to testing the framework.

...

Where <bnd-file> specifies one or more BND files associated with the desired test suites. Reports for the tests suites are generated in the reports/ subdirectory and are named after the appropriate test suite.

Feedback

For any questions or feedback, subscribe to the Felix developers mailing list by sending a message to dev-subscribe@felix.apache.org; after subscribing, email questions or feedback to dev@felix.apache.org.