[Pyobjc-dev] NSObject, doctest
Brought to you by:
ronaldoussoren
|
From: Erik v. B. <er...@le...> - 2013-12-07 20:33:40
|
Hey,
I have a small problem writing doctests for a module with a NSObject subclass.
Here's a small test:
from AppKit import *
"""
An odd interaction between doctest and an NSObject subclass.
"""
class MyClass(NSObject):
def __new__(cls, a, b):
self = cls.alloc().init()
self.a = a
self.b = b
return self
def doSomething(self):
return a+b
def _test():
def testOne():
"""
Test one
>>> m = MyClass(1,1)
>>> m.doSomething()
2
"""
import doctest
doctest.testmod()
_test()
Here's the result, using Python 2.7.2 (default, Oct 11 2012, 20:14:37) and objc 2.3.2a0.
> <class 'NSAppleEventManagerSuspensionID'>
> Traceback (most recent call last):
> File "/Users/erik/Desktop/docTestTest.py", line 53, in <module>
> _test()
> File "/Users/erik/Desktop/docTestTest.py", line 51, in _test
> doctest.testmod()
> File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/doctest.py", line 1850, in testmod
> for test in finder.find(m, name, globs=globs, extraglobs=extraglobs):
> File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/doctest.py", line 865, in find
> self._find(tests, obj, name, module, source_lines, globs, {})
> File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/doctest.py", line 917, in _find
> self._from_module(module, val)):
> File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/doctest.py", line 880, in _from_module
> elif inspect.getmodule(object) is not None:
> File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/inspect.py", line 486, in getmodule
> file = getabsfile(object, _filename)
> File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/inspect.py", line 469, in getabsfile
> _filename = getsourcefile(object) or getfile(object)
> File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/inspect.py", line 447, in getsourcefile
> filename = getfile(object)
> File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/inspect.py", line 408, in getfile
> object = sys.modules.get(object.__module__)
> AttributeError: __module__
Is there something in the nature of pyobjc objects that makes them confuse doctest?
Thanks!
Erik
|