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 <b...@pouwelse.com> 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 
> <osgi-dev@mail.osgi.org <mailto:osgi-dev@mail.osgi.org>>:
> 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
> osgi-dev@mail.osgi.org <mailto:osgi-dev@mail.osgi.org>
> https://mail.osgi.org/mailman/listinfo/osgi-dev 
> <https://mail.osgi.org/mailman/listinfo/osgi-dev>

_______________________________________________
OSGi Developer Mail List
osgi-dev@mail.osgi.org
https://mail.osgi.org/mailman/listinfo/osgi-dev

Reply via email to