Tests for D-Bus binding test rig: Tests are functions which will perform a particular transformation on the input and return the result. They should be defined as a D-Bus signature and description of the function: test-introspect.xml The SingleTests Tests and TestSignals interfaces should be implemented by the servers. The TestClient interface should be implemented by the client. Servers must also support: Peer.Ping Introspectable.Introspect on all objects and parent paths Clients try and cause these to fail in the most obscure way possible. Servers make sure all of their methods are called each run. Output format: Server: ok ok .... untested Client: pass pass .... fail fail report : report : Starting clients and servers is done using Makefiles and chaining thereof. Each binding should provide the following Makefile targets in their respective top-level dirs: cross-test-compile - do any compilation necessary to run the server and client cross-test-server - run a server which binds to org.freedesktop.DBus.Binding.TestServer. Listens and answers method calls on the /Test object until Exit is called. Then prints test reports. cross-test-client - run a client which runs comprehensive tests against the server, then calls Exit and prints test reports Ignoring tests: Tests can be ignored if you know they are going to fail. This will print a list of ignored fails. To ignore tests create a file cross-test-ignore containing a list of interface.function, one per line. A note on Signals: The tests involve two signals. Triggered is sent from the server to the client when the Trigger() method is called. The client sends Trigger to the server which should cause Response() to be called by the server on the client.