The DocTest module requires special actions / processing for multi-line strings. <> = Multi-Line Strings in commands = Consider a function {{{get_html_title}}} designed to extract the title from an HTML page. Here is some python code to test the function: {{{#!python >>> html = ''' This is the page title This is the body ''' >>> title = get_html_title(html) >>> assert(title == "This is the page title") }}} Putting this directly into a doctest results in an exception, such as: {{{ Failed example: html = ''' Exception raised: Traceback (most recent call last): File "C:\Python24\lib\doctest.py", line 1243, in __run compileflags, 1) in test.globs File "", line 1 html = ''' ^ SyntaxError: EOF while scanning triple-quoted string }}} The solution is to add the command continuation characters: {{{#!python >>> html = ''' ... ... ... This is the page title ... ... ... This is the body ... ... ... ''' >>> title = get_html_title(html) >>> assert(title == "This is the page title") }}} = Multi-Line Strings in output = Blank lines in the output need to be specially handled. For example, the following doctest will fail: {{{#!python >>> test = "Here is a blank line\n\nBlank line is above" >>> print test Here is a blank line Blank line is above }}} This is because the blank line is used to seperate commands and comments. With Python 2.4, a {{{}}} keyword was added, so the proper doctest is now: {{{#!python >>> test = "Here is a blank line\n\nBlank line is above" >>> print test Here is a blank line Blank line is above }}}