Python doctests are cool. Let me start with a simple example:
def foo():
"""
>>> foo()
hello world
"""
print "hello world"
Now let's assume some part is somewhat varying, e.g., because it is a time value or a random number. In general, doctests allow me to specify a wildcard saying using the +ELLIPSIS option.
This works fine when for instance "world" is a varying string:
def foo():
"""
>>> foo() # doctest: +ELLIPSIS
hello ...
"""
print "hello world"
In my case however, the variable string is at the beginning of the line:
def foo():
"""
>>> foo() # doctest: +ELLIPSIS
... world
"""
print "hello world"
which is bad, because the 3 dots in the beginning are interpreted as line continuation characters and not as ellipsis for the output. Therefore, this test fails:
Failed example:
foo() # doctest: +ELLIPSIS
world
Expected nothing
Got:
hello world
So, I could now rewrite my could to have the variable part somewhere else, but is there any way to teach doctest that the 3 dots at the beginning of a line are an ellipsis?