DBUS-TEST-TOOL(1)

πŸ’… DBUS-TEST-TOOL(1) β€” the dbus-test-tool girlies' guide πŸŽ€

okay so bestie, welcome to dbus-test-tool, a whole multi-purpose tool for debugging and profiling D-Bus ✨ (it's in the User Commands section of the manual, iykyk). she's a D-Bus traffic generator and test tool, and she ate, no cap 🫢


🌸 SYNOPSIS 🌸

dbus-test-tool black-hole [--session | --system] [--name=NAME]
               [--no-read]

dbus-test-tool echo [--session | --system] [--name=NAME] [--sleep-ms=MS]

dbus-test-tool spam [--session | --system] [--dest=NAME] [--count=N]
               [--flood] [--ignore-errors] [--messages-per-conn=N]
               [--no-reply] [--queue=N] [--seed=SEED] [--string |
               --bytes | --empty] [--payload=S | --stdin |
               --message-stdin | --random-size]

πŸ¦‹ DESCRIPTION πŸ¦‹

dbus-test-tool is literally a multi-purpose tool for debugging and profiling D-Bus. three modes, three vibes, one icon πŸ‘‘.

dbus-test-tool black-hole connects to D-Bus, optionally requests a name, and then just... does not reply to messages πŸ’€. she normally reads and discards messages from her D-Bus socket, but you can configure her to sleep forever without reading. main character energy: present, unbothered, unreachable.

dbus-test-tool echo connects to D-Bus, optionally requests a name, then sends back an empty reply to every method call, after an optional delay. she's giving customer service πŸ’– "thanks for your message bestie, here's nothing back."

dbus-test-tool spam connects to D-Bus and makes repeated method calls, normally named com.example.Spam. yes she's that girl and she's not sorry πŸ”₯.


✨ OPTIONS ✨

🌈 Common options

  • --session β€” connect to the session bus. this is the default, she lives here πŸ’…
  • --system β€” connect to the system bus. big-girl bus energy πŸ‘‘

πŸ•³οΈ black-hole mode

  • --name=NAME β€” before proceeding, request ownership of the well-known bus name NAME, for example com.example.NoReply. by default, no name is requested, and the tool can only be addressed by a unique bus name such as :1.23.
  • --no-read β€” do not read from the D-Bus socket. literally not listening, not even a little πŸ™ˆ

πŸͺž echo mode

  • --name=NAME β€” before proceeding, request ownership of the well-known bus name NAME, for example com.example.Echo. by default, no name is requested, and the tool can only be addressed by a unique bus name such as :1.23.
  • --sleep-ms=MS β€” block for MS milliseconds before replying to a method call. the dramatic pause, the tension, the buildup 😭

πŸŒͺ️ spam mode

  • --dest=NAME β€” send method calls to the well-known or unique bus name NAME. the default is the dbus-daemon, org.freedesktop.DBus.
  • --count=N β€” send N method calls in total. the default is 1. one (1) single call, she's pacing herself.
  • --queue=N β€” send N method calls before waiting for any replies, then send one new call per reply received, keeping N method calls "in flight" at all times until the number of messages specified with the --count option have been sent. the default is 1, unless --flood is used. it's giving juggling, but make it D-Bus πŸ€Ήβ€β™€οΈ
  • --flood β€” send all messages without waiting for a reply, equivalent to --queue with an arbitrarily large N. no thoughts, head empty, just messages 🌊
  • --no-reply β€” set the "no reply desired" flag on the messages. this implies --flood, since it disables the replies that would be used for a finite --queue length. don't @ her, she won't answer πŸ’€
  • --messages-per-conn=N β€” if given, send N method calls on the same connection, then disconnect and reconnect. the default is to use the same connection for all method calls. glow-up via rebrand, then come back πŸ¦‹
  • --string β€” the payload of each message is a UTF-8 string. this is the default. the actual string used is given by the --payload or --stdin option, defaulting to "hello, world!" πŸ“
  • --bytes β€” the payload of each message is a byte-array. the actual bytes used are given by the --payload or --stdin option, defaulting to the ASCII encoding of "hello, world!".
  • --empty β€” the messages have no payload. minimalism, she invented it πŸŽ€
  • --payload=S β€” use S as the --string or --bytes in the messages. the default is "hello, world!".
  • --stdin β€” read from standard input until end-of-file is reached, and use that as the --string or --bytes in the messages. feed her, she's hungry 🫢
  • --message-stdin β€” read a complete binary D-Bus method call message from standard input, and use that for each method call. one message to rule them all πŸ‘‘
  • --random-size β€” 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. chaos, but make it measured πŸŒͺ️
  • --seed=SEED β€” use SEED as the seed for the pseudorandom number generator, to have somewhat repeatable sequences of random messages. "somewhat" is doing a lot of heavy lifting there, ngl 😭
⚠️ heads up bestie: --ignore-errors shows up in the synopsis for spam mode but has no dedicated description in this manual page β€” it's listed, so here it is in the synopsis, but there's no extra tea on it. same energy as a group chat message that got left on read πŸ’€

πŸ’€ BUGS πŸ’€

please send bug reports to the D-Bus bug tracker or mailing list. see https://www.freedesktop.org/wiki/Software/dbus/. be nice about it, the maintainers are people too 🫢


πŸ’œ AUTHOR πŸ’œ

see https://dbus.freedesktop.org/doc/AUTHORS β€” the whole squad of legends is listed there πŸ‘‘


⭐ SEE ALSO ⭐

  • dbus-send(1) β€” the other one you'll be googling at 2am, fr fr

copyright Β© 2015 Collabora Ltd. πŸ’–

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. no cap, zero warranty, read the license bestie 😭


and that's the tea 🍡 β€” page brought to you by D-Bus 1.16.2, dated 03/03/2025, DBUS-TEST-TOOL(1), slaying since forever βœ¨πŸ’…πŸ¦‹

πŸ“¦ where this page comes from