There is something else in the pipeline as well that might help:
biz.aQute.bnd.runtime.snapshot. It is not being built yet but you can build it
yourself in the bnd workspace. If you place that bundle in your runtime it will
make a snapshot in the current directory just before the framework stops. You
can then drag from the file system and then drop this file on
https://bnd.bndtools.org/snapshot.html
It is still under development but it provides a wealth of information. There
are also gogo commands to make intermediate snapshots. I find this an
invaluable tool for debugging OSGi issues.
Glad you like it! Looking forward to your PR's! :-)
Kind regards,
Peter Kriens
> On 15 Mar 2019, at 08:43, Bram Pouwelse <[email protected]> wrote:
>
> Hi Peter,
>
> I actually started to play with this cool new toy yesterday and I like it.
> It gives a lot more control over the framework(s) launched than the test
> support that has always been there. Not that long ago I was looking for
> something like this but had to hand craft some code to get more than one
> framework in a test but with Launchpad I can just use a bndrun again to
> bootstrap multiple framework instances. So it was a perfect fit for my tests
> and I can get rid of some framework boostrap boilerplate :).
>
> I did run into the "Version Sensitivity" issue when trying to obtain
> ConfigurationAdmin but that's well explained on the page you just shared, if
> only I'd read that page yesterday that would've saved me some time....
>
> So this is definitely a useful tool, thanks Peter!
>
> Kind regards,
> Bram
>
>
> Op vr 15 mrt. 2019 om 08:28 schreef Peter Kriens via osgi-dev
> <[email protected] <mailto:[email protected]>>:
> I've recently been working on a bndtools testing framework based on some Pax
> Exam envy. The result is _Launchpad_. It is a builder for a framework setup
> using all the information from a bnd workspace and its projects. For each
> test method you can then execute your tests without having to generate a test
> bundle. Due to some deep class loading magic, the class space of the test
> code (for example JUnit) is properly exported via the framework. Although
> there are some pitfalls, sharing the classes this way works quite well.
>
> Launchpad also contains an injector that you can use to inject services and
> some key OSGi objects like BundleContext in your test object. A large number
> of utility methods on Launchpad provide conveniences for testing. For
> example, you can also hide services with one call.
>
> Launchpad is agnostic of a testing framework. It has been tested with JUnit
> but TestNG or other frameworks should be no problem.
>
> This is all documented:
> https://bnd.bndtools.org/chapters/315-launchpad-testing.html
> <https://bnd.bndtools.org/chapters/315-launchpad-testing.html>
>
> This is an ambitious test environment. There is now experience at one of my
> customers but it clearly needs to go to a learning period. Almost all of what
> is documented is in 4.2.0 which is just released, if you want the absolute
> latest get the 4.3.0 snapshot.
>
> Launchpad is developed for the bnd Workspace model. I think it can be adapted
> to the Maven model with the bndrun files since this mimics a Workspace
> beneath the covers. However, that might require some work and surely some
> documentation. Volunteers welcome.
>
> Let me know if this is useful and file issues on
> https://github.com/bndtools/bnd/issues
> <https://github.com/bndtools/bnd/issues> when there are issues or really good
> ideas.
>
> Kind regards,
>
> Peter Kriens
> _______________________________________________
> OSGi Developer Mail List
> [email protected] <mailto:[email protected]>
> https://mail.osgi.org/mailman/listinfo/osgi-dev
> <https://mail.osgi.org/mailman/listinfo/osgi-dev>
_______________________________________________
OSGi Developer Mail List
[email protected]
https://mail.osgi.org/mailman/listinfo/osgi-dev