blob: 5b7c43ed88a7e4127f5a774c4dd1bf035cb110d8 [file] [log] [blame]
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd">
<refentry id="dbus-test-tool.1">
<refentryinfo>
<copyright>
<year>2015</year>
<holder>Collabora Ltd.</holder>
</copyright>
<legalnotice>
<para>This man page is distributed under the same terms as
dbus-test-tool (GPL-2+). There is NO WARRANTY, to the extent
permitted by law.</para>
</legalnotice>
</refentryinfo>
<refmeta>
<refentrytitle>dbus-test-tool</refentrytitle>
<manvolnum>1</manvolnum>
<refmiscinfo class="manual">User Commands</refmiscinfo>
<refmiscinfo class="source">D-Bus</refmiscinfo>
<refmiscinfo class="version">@DBUS_VERSION@</refmiscinfo>
</refmeta>
<refnamediv>
<refname>dbus-test-tool</refname>
<refpurpose>D-Bus traffic generator and test tool</refpurpose>
</refnamediv>
<refsynopsisdiv id="synopsis">
<cmdsynopsis>
<command>dbus-test-tool</command>
<arg choice="plain">black-hole</arg>
<group choice="opt">
<arg choice="plain">--session</arg>
<arg choice="plain">--system</arg>
</group>
<arg choice="opt">--name=<replaceable>NAME</replaceable></arg>
<arg choice="opt">--no-read</arg>
</cmdsynopsis>
<cmdsynopsis>
<command>dbus-test-tool</command>
<arg choice="plain">echo</arg>
<group choice="opt">
<arg choice="plain">--session</arg>
<arg choice="plain">--system</arg>
</group>
<arg choice="opt">--name=<replaceable>NAME</replaceable></arg>
<arg choice="opt">--sleep-ms=<replaceable>MS</replaceable></arg>
</cmdsynopsis>
<cmdsynopsis>
<command>dbus-test-tool</command>
<arg choice="plain">spam</arg>
<group choice="opt">
<arg choice="plain">--session</arg>
<arg choice="plain">--system</arg>
</group>
<arg choice="opt">--dest=<replaceable>NAME</replaceable></arg>
<arg choice="opt">--count=<replaceable>N</replaceable></arg>
<arg choice="opt">--flood</arg>
<arg choice="opt">--ignore-errors</arg>
<arg choice="opt">--messages-per-conn=<replaceable>N</replaceable></arg>
<arg choice="opt">--no-reply</arg>
<arg choice="opt">--queue=<replaceable>N</replaceable></arg>
<arg choice="opt">--seed=<replaceable>SEED</replaceable></arg>
<group choice="opt">
<arg choice="plain">--string</arg>
<arg choice="plain">--bytes</arg>
<arg choice="plain">--empty</arg>
</group>
<group choice="opt">
<arg choice="plain">--payload=<replaceable>S</replaceable></arg>
<arg choice="plain">--stdin</arg>
<arg choice="plain">--message-stdin</arg>
<arg choice="plain">--random-size</arg>
</group>
</cmdsynopsis>
</refsynopsisdiv>
<refsect1 id="description">
<title>DESCRIPTION</title>
<para><command>dbus-test-tool</command> is a multi-purpose tool
for debugging and profiling D-Bus.</para>
<para><command>dbus-test-tool black-hole</command>
connects to D-Bus, optionally requests a name, then does not
reply to messages. It normally reads and discards messages from
its D-Bus socket, but can be configured to sleep forever without
reading.</para>
<para><command>dbus-test-tool echo</command>
connects to D-Bus, optionally requests a name, then sends back an
empty reply to every method call, after an optional delay.</para>
<para><command>dbus-test-tool spam</command>
connects to D-Bus and makes repeated method calls,
normally named <literal>com.example.Spam</literal>.</para>
</refsect1>
<refsect1 id="options">
<title>OPTIONS</title>
<refsect2>
<title>Common options</title>
<variablelist remap="TP">
<varlistentry>
<term><option>--session</option></term>
<listitem>
<para>Connect to the session bus. This is the default.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>--system</option></term>
<listitem>
<para>Connect to the system bus.</para>
</listitem>
</varlistentry>
</variablelist>
</refsect2>
<refsect2>
<title>black-hole mode</title>
<variablelist remap="TP">
<varlistentry>
<term><option>--name=</option><replaceable>NAME</replaceable></term>
<listitem>
<para>Before proceeding, request ownership of the well-known
bus name <replaceable>NAME</replaceable>, for example
<literal>com.example.NoReply</literal>. By default,
no name is requested, and the tool can only be addressed by
a unique bus name such as <literal>:1.23</literal>.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>--no-read</option></term>
<listitem>
<para>Do not read from the D-Bus socket.</para>
</listitem>
</varlistentry>
</variablelist>
</refsect2>
<refsect2>
<title>echo mode</title>
<variablelist remap="TP">
<varlistentry>
<term><option>--name=</option><replaceable>NAME</replaceable></term>
<listitem>
<para>Before proceeding, request ownership of the well-known
bus name <replaceable>NAME</replaceable>, for example
<literal>com.example.Echo</literal>. By default,
no name is requested, and the tool can only be addressed by
a unique bus name such as <literal>:1.23</literal>.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>--sleep-ms=</option><replaceable>MS</replaceable></term>
<listitem>
<para>Block for <replaceable>MS</replaceable> milliseconds
before replying to a method call.</para>
</listitem>
</varlistentry>
</variablelist>
</refsect2>
<refsect2>
<title>spam mode</title>
<variablelist remap="TP">
<varlistentry>
<term><option>--dest=</option><replaceable>NAME</replaceable></term>
<listitem>
<para>Send method calls to the well-known or unique
bus name <replaceable>NAME</replaceable>.
The default is the dbus-daemon,
<literal>org.freedesktop.DBus</literal>.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>--count=</option><replaceable>N</replaceable></term>
<listitem>
<para>Send <replaceable>N</replaceable> method calls in total.
The default is 1.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>--queue=</option><replaceable>N</replaceable></term>
<listitem>
<para>Send <replaceable>N</replaceable> method calls before
waiting for any replies, then send one new call per reply
received, keeping <replaceable>N</replaceable> method calls
"in flight" at all times until the number of messages specified
with the <option>--count</option> option have been sent.
The default is 1, unless <option>--flood</option>
is used.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>--flood</option></term>
<listitem>
<para>Send all messages without waiting for a reply,
equivalent to <option>--queue</option> with an arbitrarily
large <replaceable>N</replaceable>.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>--no-reply</option></term>
<listitem>
<para>Set the "no reply desired" flag on the messages.
This implies <option>--flood</option>, since it disables
the replies that would be used for a finite
<option>--queue</option> length.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>--messages-per-conn=</option><replaceable>N</replaceable></term>
<listitem>
<para>If given, send <replaceable>N</replaceable> method calls
on the same connection, then disconnect and reconnect.
The default is to use the same connection for all method
calls.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>--string</option></term>
<listitem>
<para>The payload of each message is a UTF-8 string. This is the
default. The actual string used is given by the
<option>--payload</option> or <option>--stdin</option>
option, defaulting to "hello, world!".</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>--bytes</option></term>
<listitem>
<para>The payload of each message is a byte-array.
The actual bytes used are given by the
<option>--payload</option> or <option>--stdin</option>
option, defaulting to the ASCII encoding of
"hello, world!".</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>--empty</option></term>
<listitem>
<para>The messages have no payload.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>--payload=</option><replaceable>S</replaceable></term>
<listitem>
<para>Use <replaceable>S</replaceable> as the
<option>--string</option> or <option>--bytes</option>
in the messages. The default is "hello, world!".</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>--stdin</option></term>
<listitem>
<para>Read from standard input until end-of-file is reached,
and use that as the <option>--string</option> or
<option>--bytes</option> in the messages.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>--message-stdin</option></term>
<listitem>
<para>Read a complete binary D-Bus method call message from
standard input, and use that for each method call.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>--random-size</option></term>
<listitem>
<para>Read whitespace-separated ASCII decimal numbers from
standard input, choose one at random for each message,
and send a message whose payload is a string of that
length.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>--seed=</option><replaceable>SEED</replaceable></term>
<listitem>
<para>Use <replaceable>SEED</replaceable> as the seed
for the pseudorandom number generator, to have somewhat
repeatable sequences of random messages.</para>
</listitem>
</varlistentry>
</variablelist>
</refsect2>
</refsect1>
<refsect1 id="bugs">
<title>BUGS</title>
<para>Please send bug reports to the D-Bus bug tracker or mailing list.
See <ulink url="http://www.freedesktop.org/software/dbus/">http://www.freedesktop.org/software/dbus/</ulink>.</para>
</refsect1>
<refsect1 id="see_also">
<title>SEE ALSO</title>
<para><citerefentry><refentrytitle>dbus-send</refentrytitle><manvolnum>1</manvolnum></citerefentry></para>
</refsect1>
</refentry>