Binding tests

Daniel P. Berrange dan at berrange.com
Wed Jul 26 10:43:21 PDT 2006


On Wed, Jul 26, 2006 at 05:41:39PM +0100, Matthew Johnson wrote:
> I have been making progress with the cross-binding tests. I have a
> specification (probably needs some filling out), a makefile to run the
> tests and parse the output and an implementation of them all in the Java
> binding.
> 
> http://www.matthew.ath.cx/projects/dbus-test/ has the latest version;
> the important things are the README, which should explain how it works
> and test-introspect.html which is a human-readable version of the
> introspection data for the tests interface.
> 
> At the moment it assumes the bindings are all in subdirectories of the
> appropriate name. The last (I think) piece to do is to automate
> obtaining the bindings and putting them in the correct place. One
> solution to this is to require them all to be in git and then check them
> out and ad symlinks. An alternative could be to have a Makefile in git
> that gets the binding from elsewhere, comments welcome.

Rather than having it make assumptions about the names of sub-dirs, 
could we re-arrange things a little - I think it'd be good to have
the ability to run this kind of test harness independant of the source
tree. And in particular keep a clean separation between the mechanisms 
for checking out the code from source / building it and actually performing
the tests. For example, I already have an automated builder for the Perl
bindings[1] which deals with the issue of checking code out from SCM[2], so 
it'd be handy to just be able to call out to a script to run the test harness
alone.

One simple approach would be to have the stuff currently in the Makefile 
just be in a standalone shell script. Each binding would provide two 
executables - one implementing the client side of the test suite, the 
other implementing the server side of the test suite. The test harness
script could accept two parameters - the path to the client executable
and the path to the server executable, run the two & report on outcome.

eg

  $ dbus-binding-test  /path/to/dbus-client-perl  /path/todbus-server-java


> I'd like to be able to test this against another binding, any volunteers
> welcome!

Certainly, when I back from vacation I'll take a stab at writing a Perl
impl of the test suite.

Regards,
Dan.

[1] http://autobuild.berrange.com/~builder/module-net-dbus-dev.html
[2] In particular it doesn't just checkout "HEAD" or equiv, but 
    takes care to sync to explicit timestamp, so at a later date 
    the build cycle can be precisely repeated by supplying the
    same timestamp.
-- 
|=-            GPG key: http://www.berrange.com/~dan/gpgkey.txt       -=|
|=-       Perl modules: http://search.cpan.org/~danberr/              -=|
|=-           Projects: http://freshmeat.net/~danielpb/               -=|
|=-   berrange at redhat.com  -  Daniel Berrange  -  dan at berrange.com    -=|
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
Url : http://lists.freedesktop.org/archives/dbus/attachments/20060726/1675c34e/attachment.pgp


More information about the dbus mailing list