[issue22032] Use __qualname__ together with __module__

2015-09-24 Thread STINNER Victor

STINNER Victor added the comment:

Barry, Robert: I'm sorry that the change broke tests, but tests should not rely 
on the exact representation. They can test type(obj).__name__ for example.

Barry: "people should be aware that this can break doctests"

Some years ago, I was a big fan of doctest. But with the release of Python 3, I 
now think that it's a big mess. It's very hard to write reliable doctests. Most 
doctests rely on the exact representation of objects and subtle details which 
break on minor Python releases.

IHMO it's better to write classic unittest tests and use functions like 
assertEqual(). By the way, the unittest made great progress last years, it 
shows better error message when a test fails.

Maybe we should document better such changes in the 
https://docs.python.org/dev/whatsnew/3.5.html#porting-to-python-3-5 section ?

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue22032] Use __qualname__ together with __module__

2015-09-24 Thread STINNER Victor

STINNER Victor added the comment:

Oh by the way, this issue is closed, what do you expect Barry and Robert? If 
you consider that it's a bug, please open a new issue and describe what you 
want :-)

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue22032] Use __qualname__ together with __module__

2015-09-24 Thread Robert Kuska

Robert Kuska added the comment:

FYI This also broke nosetests tests which relies on exact output.

https://github.com/nose-devs/nose/issues/928

--
nosy: +rkuska

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue22032] Use __qualname__ together with __module__

2015-09-24 Thread STINNER Victor

STINNER Victor added the comment:

Ok, anyway, thanks for your feedback.

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue22032] Use __qualname__ together with __module__

2015-09-24 Thread Barry A. Warsaw

Barry A. Warsaw added the comment:

I'm not expecting a change either, I was also just documenting observed 
breakages.  Given that I've ported a *ton* of code to 3.5 and only seen a 
handful of failures related to this issue, I agree that it's better just to 
provide information and let packages fix their code.

I am keeping a running document of such issues here: 
https://wiki.python.org/moin/PortingToPy3k/34to35

As for the larger question of doctests, we can discuss elsewhere.  Probably not 
appropriate for *this* issue .

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue22032] Use __qualname__ together with __module__

2015-06-23 Thread Barry A. Warsaw

Barry A. Warsaw added the comment:

FWIW, this broke the zope.testing doctests:

https://bugs.launchpad.net/zope.testing/+bug/1467644

I submitted a patch, which was reasonable given the normalization that 
zope.testing does for doctest output, but people should be aware that this can 
break doctests.  Unfortunately, short of the normalizing tricks that 
zope.testing does, there's no way to write such tests that are compatible with 
both 3.4 and 3.5.  OTOH, I agree that raising nested exceptions the way 
zope.testing does is probably rare.

--
nosy: +barry

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue22032
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue22032] Use __qualname__ together with __module__

2014-07-22 Thread Serhiy Storchaka

New submission from Serhiy Storchaka:

Often when class name is reported in stdlib (e.g. in reprs), it used together 
with module name: '%s.%s' % (self.__class__.__module__, 
self.__class__.__name__). But this code is wrong when a class is nested. The 
__qualname__ attribute should be used instead of just __name__ (and it is 
already used in multiple places).

Proposed patch replaces __name__ to __qualname__ when it used together with 
module name to format full class name.

--
components: Library (Lib)
files: repr_qualname.diff
keywords: patch
messages: 223649
nosy: serhiy.storchaka
priority: normal
severity: normal
stage: patch review
status: open
title: Use __qualname__ together with __module__
type: behavior
versions: Python 3.4, Python 3.5
Added file: http://bugs.python.org/file36026/repr_qualname.diff

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue22032
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue22032] Use __qualname__ together with __module__

2014-07-22 Thread STINNER Victor

STINNER Victor added the comment:

The patch looks good to me.

For Python 3.4, may it break the backward compatibility? For example, breaking 
doctests relying on the exact representation? If there is a risk, it's maybe 
safer to only modify Python 3.5.

--
nosy: +haypo

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue22032
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue22032] Use __qualname__ together with __module__

2014-07-22 Thread Serhiy Storchaka

Serhiy Storchaka added the comment:

It broke Python tests (test_traceback and test_unittest), and the patch 
contains fixes for this. Yes, it can break user test if they test nested 
subclasses of classes touched by this patch. This is not very likely, but on 
other hand I don't see what can happen wrong when we will not fix it in 3.4.

--
versions:  -Python 3.4

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue22032
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue22032] Use __qualname__ together with __module__

2014-07-22 Thread STINNER Victor

STINNER Victor added the comment:

If an application relies on the exact representation in an unit test, it would 
be annoying to check the minor Python version to support the old and the new 
format.

Using the qualified name is better, but it can wait Python 3.5 IMO. They are 
enough complains that Python breaks backward compatibility, which is true or 
not :-)

--

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue22032
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue22032] Use __qualname__ together with __module__

2014-07-22 Thread Roundup Robot

Roundup Robot added the comment:

New changeset fe3c98313855 by Serhiy Storchaka in branch 'default':
Issue #22032: __qualname__ instead of __name__ is now always used to format
http://hg.python.org/cpython/rev/fe3c98313855

--
nosy: +python-dev

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue22032
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue22032] Use __qualname__ together with __module__

2014-07-22 Thread Serhiy Storchaka

Serhiy Storchaka added the comment:

I agree with you. Thank for your review Victor.

All these issues are precursors to issue22033.

--
assignee:  - serhiy.storchaka
resolution:  - fixed
stage: patch review - resolved
status: open - closed

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue22032
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com