New submission from Eli Bendersky <eli...@gmail.com>:

>From Ezio Melotti's email to python-dev:


    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.

----------
assignee: docs@python
components: Documentation
keywords: easy
messages: 141255
nosy: docs@python, eli.bendersky, ezio.melotti
priority: normal
severity: normal
status: open
title: test.support. import_fresh_module - incorrect doc
versions: Python 2.7, Python 3.3

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue12645>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to