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<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. > > Ezio, thanks. I opened issue 12645 to track this. Eli
_______________________________________________ Python-Dev mailing list Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com