Skip to content

Commit

Permalink
bpo-27200: Fix pathlib, ssl, turtle and weakref doctests (GH-616)
Browse files Browse the repository at this point in the history
  • Loading branch information
marco-buttu authored and berkerpeksag committed Apr 13, 2017
1 parent d1dc65d commit 7b2491a
Show file tree
Hide file tree
Showing 4 changed files with 25 additions and 9 deletions.
12 changes: 11 additions & 1 deletion Doc/library/pathlib.rst
Original file line number Diff line number Diff line change
Expand Up @@ -271,6 +271,10 @@ property:
Methods and properties
^^^^^^^^^^^^^^^^^^^^^^

.. testsetup::

from pathlib import PurePosixPath, PureWindowsPath

Pure paths provide the following methods and properties:

.. data:: PurePath.drive
Expand Down Expand Up @@ -657,6 +661,8 @@ call fails (for example because the path doesn't exist):
Return information about this path (similarly to :func:`os.stat`).
The result is looked up at each call to this method.

::

>>> p = Path('setup.py')
>>> p.stat().st_size
956
Expand Down Expand Up @@ -948,7 +954,7 @@ call fails (for example because the path doesn't exist):
.. method:: Path.rglob(pattern)

This is like calling :meth:`Path.glob` with "``**``" added in front of the
given *pattern*:
given *pattern*::

>>> sorted(Path().rglob("*.py"))
[PosixPath('build/lib/pathlib.py'),
Expand All @@ -972,6 +978,8 @@ call fails (for example because the path doesn't exist):
An :exc:`OSError` can be raised if either file cannot be accessed for some
reason.

::

>>> p = Path('spam')
>>> q = Path('eggs')
>>> p.samefile(q)
Expand All @@ -988,6 +996,8 @@ call fails (for example because the path doesn't exist):
*target_is_directory* must be true (default ``False``) if the link's target
is a directory. Under POSIX, *target_is_directory*'s value is ignored.

::

>>> p = Path('mylink')
>>> p.symlink_to('setup.py')
>>> p.resolve()
Expand Down
15 changes: 11 additions & 4 deletions Doc/library/ssl.rst
Original file line number Diff line number Diff line change
Expand Up @@ -369,6 +369,10 @@ Random generation
Certificate handling
^^^^^^^^^^^^^^^^^^^^

.. testsetup::

import ssl

.. function:: match_hostname(cert, hostname)

Verify that *cert* (in decoded format as returned by
Expand Down Expand Up @@ -415,10 +419,10 @@ Certificate handling

>>> import ssl
>>> timestamp = ssl.cert_time_to_seconds("Jan 5 09:34:43 2018 GMT")
>>> timestamp
>>> timestamp # doctest: +SKIP
1515144883
>>> from datetime import datetime
>>> print(datetime.utcfromtimestamp(timestamp))
>>> print(datetime.utcfromtimestamp(timestamp)) # doctest: +SKIP
2018-01-05 09:34:43

"notBefore" or "notAfter" dates must use GMT (:rfc:`5280`).
Expand Down Expand Up @@ -1378,6 +1382,7 @@ to speed up repeated connections from the same clients.
'strength_bits': 128}]

On OpenSSL 1.1 and newer the cipher dict contains additional fields::

>>> ctx.get_ciphers() # OpenSSL 1.1+
[{'aead': True,
'alg_bits': 256,
Expand Down Expand Up @@ -1638,7 +1643,7 @@ to speed up repeated connections from the same clients.
.. versionchanged:: 3.6
:attr:`SSLContext.options` returns :class:`Options` flags:

>>> ssl.create_default_context().options
>>> ssl.create_default_context().options # doctest: +SKIP
<Options.OP_ALL|OP_NO_SSLv3|OP_NO_SSLv2|OP_NO_COMPRESSION: 2197947391>

.. attribute:: SSLContext.protocol
Expand All @@ -1658,7 +1663,7 @@ to speed up repeated connections from the same clients.
.. versionchanged:: 3.6
:attr:`SSLContext.verify_flags` returns :class:`VerifyFlags` flags:

>>> ssl.create_default_context().verify_flags
>>> ssl.create_default_context().verify_flags # doctest: +SKIP
<VerifyFlags.VERIFY_X509_TRUSTED_FIRST: 32768>

.. attribute:: SSLContext.verify_mode
Expand Down Expand Up @@ -2259,6 +2264,8 @@ recommended to use :const:`PROTOCOL_TLS_CLIENT` or
:const:`PROTOCOL_TLS_SERVER` as the protocol version. SSLv2 and SSLv3 are
disabled by default.

::

>>> client_context = ssl.SSLContext(ssl.PROTOCOL_TLS_CLIENT)
>>> client_context.options |= ssl.OP_NO_TLSv1
>>> client_context.options |= ssl.OP_NO_TLSv1_1
Expand Down
5 changes: 2 additions & 3 deletions Doc/library/turtle.rst
Original file line number Diff line number Diff line change
Expand Up @@ -936,10 +936,9 @@ Color control
>>> turtle.fillcolor("violet")
>>> turtle.fillcolor()
'violet'
>>> col = turtle.pencolor()
>>> col
>>> turtle.pencolor()
(50.0, 193.0, 143.0)
>>> turtle.fillcolor(col)
>>> turtle.fillcolor((50, 193, 143)) # Integers, not floats
>>> turtle.fillcolor()
(50.0, 193.0, 143.0)
>>> turtle.fillcolor('#ffffff')
Expand Down
2 changes: 1 addition & 1 deletion Doc/library/weakref.rst
Original file line number Diff line number Diff line change
Expand Up @@ -478,7 +478,7 @@ the constructor when it was created.
>>> obj = Object()
>>> f = weakref.finalize(obj, callback, 1, 2, z=3)
>>> f.detach() #doctest:+ELLIPSIS
(<__main__.Object object ...>, <function callback ...>, (1, 2), {'z': 3})
(<...Object object ...>, <function callback ...>, (1, 2), {'z': 3})
>>> newobj, func, args, kwargs = _
>>> assert not f.alive
>>> assert newobj is obj
Expand Down

0 comments on commit 7b2491a

Please sign in to comment.