From: Georg Brandl Date: Sat, 22 Mar 2008 10:56:23 +0000 (+0000) Subject: Activate the Sphinx doctest extension and convert howto/functional to use it. X-Git-Tag: v2.6a2~172 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=17baef0b7c7986619b7db46c70239f6b1a7d6a8f;p=python Activate the Sphinx doctest extension and convert howto/functional to use it. --- diff --git a/Doc/Makefile b/Doc/Makefile index e94be8160d..64a1b2fe04 100644 --- a/Doc/Makefile +++ b/Doc/Makefile @@ -82,6 +82,11 @@ coverage: BUILDER = coverage coverage: build @echo "Coverage finished; see c.txt and python.txt in build/coverage" +doctest: BUILDER = doctest +doctest: build + @echo "Testing of doctests in the sources finished, look at the " \ + "results in build/doctest/output.txt" + clean: -rm -rf build/* -rm -rf tools/sphinx diff --git a/Doc/conf.py b/Doc/conf.py index 82d16b86f5..f6c08c5178 100644 --- a/Doc/conf.py +++ b/Doc/conf.py @@ -13,7 +13,8 @@ sys.path.append('tools/sphinxext') # General configuration # --------------------- -extensions = ['sphinx.ext.refcounting', 'sphinx.ext.coverage'] +extensions = ['sphinx.ext.refcounting', 'sphinx.ext.coverage', + 'sphinx.ext.doctest'] templates_path = ['tools/sphinxext'] # General substitutions. diff --git a/Doc/library/decimal.rst b/Doc/library/decimal.rst index 2d2ae938bd..cbd3950cf6 100644 --- a/Doc/library/decimal.rst +++ b/Doc/library/decimal.rst @@ -15,9 +15,12 @@ .. sectionauthor:: Raymond D. Hettinger - .. versionadded:: 2.4 +.. testsetup:: * + + from decimal import * + The :mod:`decimal` module provides support for decimal floating point arithmetic. It offers several advantages over the :class:`float` datatype: @@ -47,7 +50,7 @@ arithmetic. It offers several advantages over the :class:`float` datatype: * Unlike hardware based binary floating point, the decimal module has a user alterable precision (defaulting to 28 places) which can be as large as needed for - a given problem:: + a given problem: >>> getcontext().prec = 6 >>> Decimal(1) / Decimal(7) @@ -115,7 +118,9 @@ Quick-start Tutorial The usual start to using decimals is importing the module, viewing the current context with :func:`getcontext` and, if necessary, setting new values for -precision, rounding, or enabled traps:: +precision, rounding, or enabled traps: + +.. doctest:: newcontext >>> from decimal import * >>> getcontext() @@ -130,7 +135,7 @@ create a Decimal from a :class:`float`, first convert it to a string. This serves as an explicit reminder of the details of the conversion (including representation error). Decimal numbers include special values such as :const:`NaN` which stands for "Not a number", positive and negative -:const:`Infinity`, and :const:`-0`. :: +:const:`Infinity`, and :const:`-0`. >>> Decimal(10) Decimal('10') @@ -149,7 +154,9 @@ representation error). Decimal numbers include special values such as The significance of a new Decimal is determined solely by the number of digits input. Context precision and rounding only come into play during arithmetic -operations. :: +operations. + +.. doctest:: newcontext >>> getcontext().prec = 6 >>> Decimal('3.0')