To run Twisted tests: make -C tests/twisted check-twisted To run an individual Twisted test: make -C tests/twisted check-twisted \ TWISTED_TESTS=dispatcher/create-at-startup.py Debug information (the test's own log, and Mission Control's log) is recorded in a subdirectory of tests-twisted whose name is based on the test's name, like tests/twisted/tmp-dispatcher_create-at-startup_py. The same tmp-* directory also contains the account data used in the test. If the test fails, its output will be sent to stdout. These directories are normally deleted after a test passes or is skipped, and kept for analysis if it fails. Set the environment variable MC_TEST_KEEP_TEMP to avoid deleting them. To debug an individual test you can set one of the following env variable: * MISSIONCONTROL_TEST_VALGRIND : to run Mission Control inside valgrind. The report is added to missioncontrol.log. You'll probably also want MC_TEST_KEEP_TEMP to keep the logs in tests/twisted/tmp-*, even when tests passed. * MISSIONCONTROL_TEST_REFDBG : to run Mission Control inside refdbg. The report is written to refdbg.log. You can change MISSIONCONTROL_WRAPPER to use an alternative refdbg and change REFDBG_OPTIONS to set your own parameters. Example: export MISSIONCONTROL_TEST_REFDBG=1 export MISSIONCONTROL_WRAPPER="/path/to/refdbg" export REFDBG_OPTIONS="btnum=16" * MISSIONCONTROL_WRAPPER="nemiver" : to run Mission Control inside the graphical debugger nemiver. You'll be able to set up breakpoints; then hit the "continue" button to launch Mission Control.