On Wed, 19 Mar 2014 16:41:10 -0700, Thomas Wouters <tho...@python.org> wrote: > On Wed, Mar 19, 2014 at 4:13 PM, Ethan Furman <et...@stoneleaf.us> wrote: > > > On 03/19/2014 03:57 PM, Antoine Pitrou wrote: > > > >> On Wed, 19 Mar 2014 15:17:53 -0700 > >> Ethan Furman <et...@stoneleaf.us> wrote: > >> > >>> On 03/19/2014 03:13 PM, Antoine Pitrou wrote: > >>> > >>>> On Wed, 19 Mar 2014 14:37:42 -0700 > >>>> Ethan Furman <et...@stoneleaf.us> wrote: > >>>>> During handling of the above exception, another exception occurred: > >>>>> > >>>>> Traceback (most recent call last): > >>>>> File > >>>>> "/home/ethan/source/python/issue19995/Lib/test/test_unicode.py", > >>>>> line 1156, in test_formatting > >>>>> self.assertRaisesRegex(TypeError, '%c'.__mod__, pi), > >>>>> > >>>> > >>>> This is certainly not the code you are showing above. > >>>> > >>> > >>> More words, please! :) > >>> > >> > >> I mean the line shown just above in the traceback does not match the > >> code you presented at the top, and that line clearly has a missing > >> regex pattern. > >> > > > > A regex pattern can be a literal, yes? In which case > > > > exception -> TypeError > > regex -> '%x format: an integer is required, not PsuedoFloat' > > callable -> '%x'.__mod__ > > *args -> pi > > **kwargs -> None > > > > So, unless you can point to where I've gone wrong with the above (which is > > why I posted in the first place), I think we have a bug in unittest. > > > > Also: > > > > self.assertRaisesRegex(TypeError, '%x format: an integer is > > required, not float','%x'.__mod__, 3.14), > > self.assertRaisesRegex(TypeError, '%X format: an integer is > > required, not float','%X'.__mod__, 2.11), > > self.assertRaisesRegex(TypeError, '%o format: an integer is > > required, not float','%o'.__mod__, 1.79), > > > > these lines all work just fine. > > > > What Antoine is trying to tell you is that the traceback you pasted shows > this: > > File "/home/ethan/source/python/issue19995/Lib/test/test_unicode.py", > line 1156, in test_formatting > self.assertRaisesRegex(TypeError, '%c'.__mod__, pi), > > ... which is passing '%c'.__mod__ as the 'regex' argument. '%c'.__mod__ is > a method of a builtin type, a 'method-wrapper' object, which is why you get > the error you're getting: AttributeError: 'method-wrapper' object has no > attribute 'search'.
I think http://bugs.python.org/issue20145 is relevant here. --David _______________________________________________ Python-Dev mailing list Python-Dev@python.org https://mail.python.org/mailman/listinfo/python-dev Unsubscribe: https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com