Provide OSGi regression test [SPR-8791] #13433
There is currently no regression test of the OSGi manifests of the Spring framework bundles. So it is possible to introduce manifest changes which will prevent Spring framework being used as a drop-in upgrade for earlier versions of Spring. See #13431 for an example of this, which was caught relatively late in the day.
The suggested improvement is to introduce a nightly regression test of the ability to resolve Spring framework with a fixed basic set of non-optional dependencies. The test should probably fire up an OSGi framework such as Eclipse Equinox and install the Spring framework bundles and their non-optional dependencies. After this, the Spring framework bundles should be started and then the test should check that all of those bundles are in ACTIVE state.
Affects: 3.1 RC1
The text was updated successfully, but these errors were encountered:
Glyn Normington commented
A stand-alone testcase which builds under Gradle is available at https://github.com/glyn/testspringbundleresolution
See the README for build instructions, essentially:
gradle clean build
The tag Spring-3.1.0.RC2-successful indicates a level of the test which passes with Spring 3.1.0.RC2 (specified as a constant in the test class).
As a validation of the test, it produces the following failure when run against Spring 3.1.0.RC1 (see #13431 for matching diagnostics):
java.lang.AssertionError: The bundle "org.springframework.web_3.1.0.RC1 " could not be resolved. Reason: Missing Constraint: Import-Package: org.apache.http; version="[4.1.0,5.0.0)"