This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author eli.bendersky
Recipients Arfrever, danielsh, einarfd, eli.bendersky, ezio.melotti, georg.brandl, jcea, larry, santoso.wijaya
Date 2012-12-30.00:18:33
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1356826713.47.0.494732068948.issue16076@psf.upfronthosting.co.za>
In-reply-to
Content
I think I understand what's going on there. Pickle, to make sure an object can be picked, looks at the module it comes from and tries to import its class, to make sure they're the same.

What happens since 3.3 is that for the Python Element class, it imports ElementTree. The harness in test_xml_etree carefully sets up to ignore _elementtree so the correct class is pulled. However, if test___all__ runs before it it just does a brute "from ElementTree import *" which places the C version in sys.modules, and this is what pickle finds.

So in the meantime, until issue 15083 is resolved I think it's safe to put ET in the ignore list of test___all__.
History
Date User Action Args
2012-12-30 00:18:33eli.benderskysetrecipients: + eli.bendersky, georg.brandl, jcea, larry, ezio.melotti, Arfrever, santoso.wijaya, einarfd, danielsh
2012-12-30 00:18:33eli.benderskysetmessageid: <1356826713.47.0.494732068948.issue16076@psf.upfronthosting.co.za>
2012-12-30 00:18:33eli.benderskylinkissue16076 messages
2012-12-30 00:18:33eli.benderskycreate