On 03/19/2014 03:57 PM, Antoine Pitrou wrote: > On Wed, 19 Mar 2014 15:17:53 -0700 > Ethan Furman <ethan at stoneleaf.us> wrote: >> On 03/19/2014 03:13 PM, Antoine Pitrou wrote: >>> On Wed, 19 Mar 2014 14:37:42 -0700 >>> Ethan Furman <ethan at stoneleaf.us> wrote: >>>> Here's the code in question: >>>> >>>> class PsuedoFloat: >>>> def __init__(self, value): >>>> self.value = float(value) >>>> def __int__(self): >>>> return int(self.value) >>>> >>>> pi = PsuedoFloat(3.1415) >>>> >>>> self.assertRaisesRegex(TypeError, '%x format: an integer is required, not PsuedoFloat', '%x'.__mod__, pi), >>>> >>>> Here's the exception: >>>> >>>> ====================================================================== >>>> ERROR: test_formatting (test.test_unicode.UnicodeTest) >>>> ---------------------------------------------------------------------- >>>> TypeError: 'PsuedoFloat' object is not callable >>>> >>>> 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. -- ~Ethan~
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4