bpo-27200: Fix several doctests (GH-604)

This commit is contained in:
Marco Buttu 2017-04-27 14:23:34 +02:00 committed by Berker Peksag
parent 6fde770e4e
commit e65fcde85a
7 changed files with 39 additions and 24 deletions

View File

@ -660,10 +660,14 @@ Here are the methods of the :class:`Message` class:
.. testsetup:: .. testsetup::
>>> from email import message_from_binary_file import email
>>> with open('Lib/test/test_email/data/msg_16.txt', 'rb') as f: from email import message_from_binary_file
... msg = message_from_binary_file(f) from os.path import join, dirname
>>> from email.iterators import _structure lib_dir = dirname(dirname(email.__file__))
file_path = join(lib_dir, 'test/test_email/data/msg_16.txt')
with open(file_path, 'rb') as f:
msg = message_from_binary_file(f)
from email.iterators import _structure
.. doctest:: .. doctest::
@ -686,7 +690,7 @@ Here are the methods of the :class:`Message` class:
.. doctest:: .. doctest::
>>> for part in msg.walk(): >>> for part in msg.walk():
... print(part.get_content_maintype() == 'multipart'), ... print(part.get_content_maintype() == 'multipart',
... part.is_multipart()) ... part.is_multipart())
True True True True
False False False False
@ -698,11 +702,11 @@ Here are the methods of the :class:`Message` class:
>>> _structure(msg) >>> _structure(msg)
multipart/report multipart/report
text/plain text/plain
message/delivery-status message/delivery-status
text/plain text/plain
text/plain text/plain
message/rfc822 message/rfc822
text/plain text/plain
Here the ``message`` parts are not ``multiparts``, but they do contain Here the ``message`` parts are not ``multiparts``, but they do contain
subparts. ``is_multipart()`` returns ``True`` and ``walk`` descends subparts. ``is_multipart()`` returns ``True`` and ``walk`` descends

View File

@ -331,7 +331,7 @@ are always available. They are listed here in alphabetical order.
The resulting list is sorted alphabetically. For example: The resulting list is sorted alphabetically. For example:
>>> import struct >>> import struct
>>> dir() # show the names in the module namespace >>> dir() # show the names in the module namespace # doctest: +SKIP
['__builtins__', '__name__', 'struct'] ['__builtins__', '__name__', 'struct']
>>> dir(struct) # show the names in the struct module # doctest: +SKIP >>> dir(struct) # show the names in the struct module # doctest: +SKIP
['Struct', '__all__', '__builtins__', '__cached__', '__doc__', '__file__', ['Struct', '__all__', '__builtins__', '__cached__', '__doc__', '__file__',

View File

@ -25,9 +25,11 @@ This is the full module API reference—for an overview and introduction, see
.. versionadded:: 3.3 .. versionadded:: 3.3
.. testsetup:: .. testsetup::
>>> import ipaddress
>>> from ipaddress import (ip_network, IPv4Address, IPv4Interface, import ipaddress
... IPv4Network) from ipaddress import (
ip_network, IPv4Address, IPv4Interface, IPv4Network,
)
Convenience factory functions Convenience factory functions
----------------------------- -----------------------------

View File

@ -48,6 +48,7 @@ string instead.
same thread. If a recursive call is made, the *fillvalue* is returned, same thread. If a recursive call is made, the *fillvalue* is returned,
otherwise, the usual :meth:`__repr__` call is made. For example: otherwise, the usual :meth:`__repr__` call is made. For example:
>>> from reprlib import recursive_repr
>>> class MyList(list): >>> class MyList(list):
... @recursive_repr() ... @recursive_repr()
... def __repr__(self): ... def __repr__(self):

View File

@ -43,15 +43,16 @@ The :mod:`shlex` module defines the following functions:
string that can safely be used as one token in a shell command line, for string that can safely be used as one token in a shell command line, for
cases where you cannot use a list. cases where you cannot use a list.
This idiom would be unsafe:: This idiom would be unsafe:
>>> filename = 'somefile; rm -rf ~' >>> filename = 'somefile; rm -rf ~'
>>> command = 'ls -l {}'.format(filename) >>> command = 'ls -l {}'.format(filename)
>>> print(command) # executed by a shell: boom! >>> print(command) # executed by a shell: boom!
ls -l somefile; rm -rf ~ ls -l somefile; rm -rf ~
:func:`quote` lets you plug the security hole:: :func:`quote` lets you plug the security hole:
>>> from shlex import quote
>>> command = 'ls -l {}'.format(quote(filename)) >>> command = 'ls -l {}'.format(quote(filename))
>>> print(command) >>> print(command)
ls -l 'somefile; rm -rf ~' ls -l 'somefile; rm -rf ~'
@ -61,6 +62,7 @@ The :mod:`shlex` module defines the following functions:
The quoting is compatible with UNIX shells and with :func:`split`: The quoting is compatible with UNIX shells and with :func:`split`:
>>> from shlex import split
>>> remote_command = split(remote_command) >>> remote_command = split(remote_command)
>>> remote_command >>> remote_command
['ssh', 'home', "ls -l 'somefile; rm -rf ~'"] ['ssh', 'home', "ls -l 'somefile; rm -rf ~'"]

View File

@ -64,6 +64,9 @@ or on combining URL components into a URL string.
input is presumed to be a relative URL and thus to start with input is presumed to be a relative URL and thus to start with
a path component. a path component.
.. doctest::
:options: +NORMALIZE_WHITESPACE
>>> from urllib.parse import urlparse >>> from urllib.parse import urlparse
>>> urlparse('//www.cwi.nl:80/%7Eguido/Python.html') >>> urlparse('//www.cwi.nl:80/%7Eguido/Python.html')
ParseResult(scheme='', netloc='www.cwi.nl:80', path='/%7Eguido/Python.html', ParseResult(scheme='', netloc='www.cwi.nl:80', path='/%7Eguido/Python.html',

View File

@ -1062,13 +1062,16 @@ The :func:`~math.erf` function computes a probability integral or `Gaussian
error function <https://en.wikipedia.org/wiki/Error_function>`_. The error function <https://en.wikipedia.org/wiki/Error_function>`_. The
complementary error function, :func:`~math.erfc`, is ``1 - erf(x)``: complementary error function, :func:`~math.erfc`, is ``1 - erf(x)``:
>>> from math import erf, erfc, sqrt .. doctest::
>>> erf(1.0/sqrt(2.0)) # portion of normal distribution within 1 standard deviation :options: +SKIP
0.682689492137086
>>> erfc(1.0/sqrt(2.0)) # portion of normal distribution outside 1 standard deviation >>> from math import erf, erfc, sqrt
0.31731050786291404 >>> erf(1.0/sqrt(2.0)) # portion of normal distribution within 1 standard deviation
>>> erf(1.0/sqrt(2.0)) + erfc(1.0/sqrt(2.0)) 0.682689492137086
1.0 >>> erfc(1.0/sqrt(2.0)) # portion of normal distribution outside 1 standard deviation
0.31731050786291404
>>> erf(1.0/sqrt(2.0)) + erfc(1.0/sqrt(2.0))
1.0
The :func:`~math.gamma` function is a continuous extension of the factorial The :func:`~math.gamma` function is a continuous extension of the factorial
function. See https://en.wikipedia.org/wiki/Gamma_function for details. Because function. See https://en.wikipedia.org/wiki/Gamma_function for details. Because
@ -1384,7 +1387,7 @@ guaranteed not to block when :func:`select.select` says a pipe is ready
for writing. for writing.
>>> import select >>> import select
>>> select.PIPE_BUF >>> select.PIPE_BUF # doctest: +SKIP
512 512
(Available on Unix systems. Patch by Sébastien Sablé in :issue:`9862`) (Available on Unix systems. Patch by Sébastien Sablé in :issue:`9862`)