Mercurial > libervia-backend
diff doc/jp/debug.rst @ 3041:72583524cfd3
doc (jp): jp commands are now fully documented:
rel 232
author | Goffi <goffi@goffi.org> |
---|---|
date | Tue, 01 Oct 2019 22:49:06 +0200 |
parents | |
children | cf843dd7c345 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/jp/debug.rst Tue Oct 01 22:49:06 2019 +0200 @@ -0,0 +1,79 @@ +===================================================== +debug: tools to help debugging/monitoring Salut à Toi +===================================================== + +``debug`` groups commands to monitor or manipulate SàT and XMPP stream. + +.. _jp-debug_bridge_method: + +bridge method +============= + +Call a method of the bridge. You have to provide the name of the method and the arguments +as positional arguments. Arguments are evaluated as Python code (using ``eval``), so you +need to properly escape them (for your shell **and** Python). You can either split your +Python arguments as many shell arguments, or put them in a single shell argument. + +You profile is automatically set if the method requires it (using the value of ``-p +PROFILE, --profile PROFILE``), so you must not specify it as an extra argument. + +You can refer to `Bridge API documentation`_ to get core methods signatures + +.. _Bridge API documentation: https://wiki.goffi.org/wiki/Bridge_API + + +examples +-------- + +Send a message using a single shell arguments for all Python arguments. We +use first the method name (``messageSend``), then the required arguments (see `Bridge +API documentation`_ for details), without the profile as it is automatically set. We +specify them as Python in one shell argument, so we use single quote (``\```)first for +s hell string, and inside it we use double quote (``"``) for Python strings:: + + $ jp debug bridge method messageSend '"louise@example.org", {"": "test message"}, {}, "auto", {}' + +.. note:: + + This is for debugging only, if you want to send message with jp, use :ref:`jp-message_send`. + +Get version string of SàT:: + + $ jp debug bridge method getVersion + + +bridge signal +============= + +Send a fake signal. This is specially useful to test behaviour of a frontend when a +specific event happens. To use is you just need to specify the name of the signal and the +arguments to use (using Python eval in the same way as for jp-debug_bridge_method_). + +example +------- + +Send a note with ``info`` level and hand written XMLUI. Here me use a shell variable to +store the level, so we can easily change it if we want to use an other level for tests. +Note the use of quotes (to escape both for shell and Python):: + + $ LEVEL='info'; jp debug bridge signal -c actionNew '{"xmlui": '"'"'<?xml version="1.0" ?><sat_xmlui title="test title" type="dialog"><dialog level="'$LEVEL'" type="note"><message>test message\non\nseveral\nlines</message></dialog></sat_xmlui>'"'"'}' '""' -1 + + +monitor +======= + +Show raw XML stream. By default, output is pretty formatted/highlighted and you get all +streams in both direction. You can filter the direction using ``-d {in,out,both}, +--direction {in,out,both}``. + +For this to work, you need to set the option ``Activate XML log`` in the ``Debug`` section +of your parameters. + +Verbosity is used, to print details on the direction of a stanza, use ``--verbose, -v`` + +example +------- + +Monitor raw XML stream:: + + $ jp debug monitor -v