skipdoctest.py
43 lines
| 1.6 KiB
| text/x-python
|
PythonLexer
Fernando Perez
|
r5529 | """Decorators marks that a doctest should be skipped, for both python 2 and 3. | ||
Thomas Kluyver
|
r3886 | |||
The IPython.testing.decorators module triggers various extra imports, including | ||||
numpy and sympy if they're present. Since this decorator is used in core parts | ||||
of IPython, it's in a separate module so that running IPython doesn't trigger | ||||
those imports.""" | ||||
Fernando Perez
|
r5529 | |||
#----------------------------------------------------------------------------- | ||||
# Copyright (C) 2009-2011 The IPython Development Team | ||||
# | ||||
# Distributed under the terms of the BSD License. The full license is in | ||||
# the file COPYING, distributed as part of this software. | ||||
#----------------------------------------------------------------------------- | ||||
#----------------------------------------------------------------------------- | ||||
# Imports | ||||
#----------------------------------------------------------------------------- | ||||
Thomas Kluyver
|
r5204 | import sys | ||
Thomas Kluyver
|
r3886 | |||
Fernando Perez
|
r5529 | #----------------------------------------------------------------------------- | ||
# Decorators | ||||
#----------------------------------------------------------------------------- | ||||
Thomas Kluyver
|
r3886 | def skip_doctest(f): | ||
"""Decorator - mark a function or method for skipping its doctest. | ||||
This decorator allows you to mark a function whose docstring you wish to | ||||
omit from testing, while preserving the docstring for introspection, help, | ||||
etc.""" | ||||
f.skip_doctest = True | ||||
return f | ||||
Thomas Kluyver
|
r5204 | |||
Fernando Perez
|
r5529 | |||
Thomas Kluyver
|
r5204 | def skip_doctest_py3(f): | ||
"""Decorator - skip the doctest under Python 3.""" | ||||
f.skip_doctest = (sys.version_info[0] >= 3) | ||||
return f | ||||
Matthias Bussonnier
|
r22245 | |||
def skip_doctest_py2(f): | ||||
"""Decorator - skip the doctest under Python 3.""" | ||||
f.skip_doctest = (sys.version_info[0] < 3) | ||||
return f | ||||