Files @ 9211cc737587
Branch filter:

Location: kallithea/docs/usage/debugging.rst - annotation

9211cc737587 1.2 KiB text/prs.fallenstein.rst Show Source Show as Raw Download as Raw
Thomas De Schampheleire
pytest migration: search: use tmpdir fixture instead of 'current dir'

The test_empty_search method needs to refer to an existing directory that is
guaranteed to not contain a search index. The current implementation chose
the 'current' directory '.' but it is more of a hack than careful planning.
A temporary empty directory would be cleaner but was more involved to
create.

With the introduction of pytest-style test classes, this can very easily
be improved. Creating a temporary directory with pytest is as simple as
accepting the magic 'tmpdir' argument to the test method. This 'tmpdir' is
a fixture provided by pytest. The variable is initialized with a
py.path.local object referring a temporary directory. For details, see:
http://pytest.org/latest/tmpdir.html
.. _debugging:

===================
Debugging Kallithea
===================

If you encounter problems with Kallithea, here are some instructions
on how to debug them.

.. note:: First make sure you're using the latest version available.


Enable detailed debug
---------------------

Kallithea uses the standard Python ``logging`` module to log its output.
By default only loggers with ``INFO`` level are displayed. To enable full output
change ``level = DEBUG`` for all logging handlers in the currently used .ini file.
This change will allow you to see much more detailed output in the log file or
console. This generally helps a lot to track issues.


Enable interactive debug mode
-----------------------------

To enable interactive debug mode simply comment out ``set debug = false`` in
the .ini file. This will trigger an interactive debugger each time
there is an error in the browser, or send a http link if an error occured in the backend. This
is a great tool for fast debugging as you get a handy Python console right
in the web view.

.. warning:: NEVER ENABLE THIS ON PRODUCTION! The interactive console
             can be a serious security threat to your system.