Andrew Barnert added the comment:

The attached patch fixes the one wording change from the patch2 review, and 
makes all the error messages consistent as suggested by Serhiy, and also adds a 
lot more tests: every way that a special method can fall back should now be 
tested. (Of course it would be good if someone else went through and made sure 
I didn't miss anything.) However:

> Without tests you can't be sure that there is no special case in some 
> abstract classes or operators, or that it can't be introduced in future.

Yes, but there's clearly a cost to maintaining and running 13 copies of each 
__ispam__ test, and 20 copies of each __rspam__ test. And the benefit is 
minuscule--if all 13 methods share the same code; it's far more likely that 
someone will break the __isub__ test than that they'll break the __isub__ code.

> But I don't know what is the best place for tests. Tests for special methods 
> are scattered though different files: test_binop, test_class, test_compare, 
> test_descr, test_richcmp, test_augassign, test_contains, test_iter, etc.

Yeah, they pretty much have to be scattered around the code. As they are in the 
attached diff. But I don't think that's a huge problem, except for the poor sap 
who has to review the patch. :)

----------
Added file: http://bugs.python.org/file41511/patch3.diff

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

Reply via email to