[Python-Dev] cpython: Close issue #6210: Implement PEP 409

Antoine Pitrou solipsis at pitrou.net
Sun Feb 26 14:54:21 CET 2012


On Sun, 26 Feb 2012 09:02:59 +0100
nick.coghlan <python-checkins at python.org> wrote:
> +
> +No debugging capability is lost, as the original exception context remains
> +available if needed (for example, if an intervening library has incorrectly
> +suppressed valuable underlying details)::

That's debatable, since you now have to *add* code if you want to print
the original exception as well. The new capability improves the
terseness and clarity of error messages at the expense of debuggability.

> +    def prepare_subprocess():
> +        # don't create core file
> +        try:
> +            setrlimit(RLIMIT_CORE, (0, 0))
> +        except (ValueError, resource_error):
> +            pass

Really? This sounds quite wrong, but it should *at least* explain
why a test of the "raise" statement would produce a core file!
(but I think you should consider removing this part)

> +    def get_output(self, code, filename=None):
> +        """
> +        Run the specified code in Python (in a new child process)
> and read the
> +        output from the standard error or from a file (if filename
> is set).
> +        Return the output lines as a list.
> +        """

We already have assert_python_ok and friends. It's not obvious what
this additional function achieves. Also, the "filename" argument is
never used.

> +        output = re.sub('Current thread 0x[0-9a-f]+',
> +                        'Current thread XXX',
> +                        output)

This looks like output from the faulthandler module. Why would
faulthandler kick in here?

Regards

Antoine.




More information about the Python-Dev mailing list