[Python-checkins] cpython: fix doc typo for library/test.rst

Ezio Melotti ezio.melotti at gmail.com
Wed Jul 27 19:46:36 CEST 2011


Hi,

On 27/07/2011 20.31, eli.bendersky wrote:
> http://hg.python.org/cpython/rev/8989aa5b357c
> changeset:   71532:8989aa5b357c
> user:        Eli Bendersky<eliben at gmail.com>
> date:        Wed Jul 27 20:29:59 2011 +0300
> summary:
>    fix doc typo for library/test.rst
>
> files:
>    Doc/library/test.rst |  2 +-
>    1 files changed, 1 insertions(+), 1 deletions(-)
>
>
> diff --git a/Doc/library/test.rst b/Doc/library/test.rst
> --- a/Doc/library/test.rst
> +++ b/Doc/library/test.rst
> @@ -447,7 +447,7 @@
>      Module and package deprecation messages are suppressed during this import
>      if *deprecated* is ``True``.
>
> -   This function will raise :exc:`unittest.SkipTest` is the named module
> +   This function will raise :exc:`unittest.SkipTest` if the named module

Actually I think this is no longer true.  import_fresh_module raises an 
ImportError if *name* can't be imported, or returns None if the fresh 
module is not found.

Its use case is to enable or block accelerations for modules that 
optionally provide one.  All the modules that currently use 
import_fresh_module are (afaik) always available (json, warnings, 
heapq), so raising SkipTest when the module is missing is not useful now.
It returns None in the case an acceleration is missing, so e.g. in 
"cjson = import_fresh_module('json', fresh=['_json'])" cjson will be 
None and it will be possible to do things like @skipUnless(cjson, 
'requires _json').  Here raising an ImportError will defeat (part of) 
the purpose of the function, i.e. avoiding:
try:
   import _json
except ImportError:
   _json = None

and raising a SkipTest when the accelerations are missing is not an 
option if there are other tests (e.g. the tests for the Python 
implementation).

These changes come from http://hg.python.org/cpython/rev/c1a12a308c5b .  
Before the change import_fresh_module was still returning the module 
(e.g. json) even when the acceleration (fresh=['_json']) was missing, 
and the C tests were run twice using the same pure-python module used 
for the Py ones.

The typo and the wrong doc is also on 2.7.

Best Regards,
Ezio Melotti

>      cannot be imported.
>
>      Example use::
>



More information about the Python-checkins mailing list