Commit Graph

115 Commits

Author SHA1 Message Date
Serhiy Storchaka b12cb6a550 Issue #19535: Fixed test_docxmlrpc, test_functools, test_inspect, and
test_statistics when python is run with -OO.
2013-12-08 18:16:18 +02:00
Larry Hastings fcafe43320 Fix inspect.signature tests for builtins when docstrings are compiled out. 2013-11-23 17:35:48 -08:00
Larry Hastings 44e2eaab54 Issue #19674: inspect.signature() now produces a correct signature
for some builtins.
2013-11-23 15:37:55 -08:00
Ethan Furman b0c84cdaac Issue #19030: final pieces for proper location of various class attributes located in the metaclass.
Okay, hopefully the very last patch for this issue.  :/

I realized when playing with Enum that the metaclass attributes weren't always displayed properly.

New patch properly locates DynamicClassAttributes, virtual class attributes (returned by __getattr__ and friends), and metaclass class attributes (if they are also in the metaclass __dir__ method).

Also had to change one line in pydoc to get this to work.

Added tests in test_inspect and test_pydoc to cover these situations.
2013-10-20 22:37:39 -07:00
Ethan Furman 63c141cacd Close #19030: inspect.getmembers and inspect.classify_class_attrs
Order of search is now:
  1. Try getattr
  2. If that throws an exception, check __dict__ directly
  3. If still not found, walk the mro looking for the eldest class that has
     the attribute (e.g. things returned by __getattr__)
  4. If none of that works (e.g. due to a buggy __dir__, __getattr__, etc.
     method or missing __slot__ attribute), ignore the attribute entirely.
2013-10-18 00:27:39 -07:00
Brett Cannon 0de3f0197b Tweak skipIf message 2013-10-02 10:58:58 -04:00
Brett Cannon 634a8fc042 Try to fix issue #19134 again 2013-10-02 10:25:42 -04:00
Brett Cannon 63f03ed3db Issue #19134: Make a test in inspect conditional on multiprocessing
being available.

Thanks to Remi Pointel for the bug report.
2013-09-30 15:21:09 -04:00
Ethan Furman e03ea37a7b Close #19030: improvements to inspect and Enum.
inspect.getmembers and inspect.classify_class_attrs now search the metaclass
mro for types.DynamicClassAttributes (what use to be called
enum._RouteClassAttributeToGetattr); in part this means that these two
functions no longer rely solely on dir().

Besides now returning more accurate information, these improvements also
allow a more helpful help() on Enum classes.
2013-09-25 07:14:41 -07:00
Nick Coghlan f94a16b494 Close #18626: add a basic CLI for the inspect module 2013-09-22 22:46:49 +10:00
Serhiy Storchaka 1e0d82cece Issue #18830: inspect.getclasstree() no more produces duplicated entries even
when input list contains duplicates.
2013-09-05 17:16:12 +03:00
Serhiy Storchaka 362c1b513d Issue #18830: inspect.getclasstree() no more produces duplicated entries even
when input list contains duplicates.
2013-09-05 17:14:32 +03:00
Nick Coghlan e8c45d6d0e Close #13266: Add inspect.unwrap
Initial patch by Daniel Urban and Aaron Iles
2013-07-28 20:00:01 +10:00
Ezio Melotti 0503de9c83 #17526: merge with 3.3. 2013-03-30 05:19:06 +02:00
Ezio Melotti 1b145927d7 #17526: fix an IndexError raised while passing code without filename to inspect.findsource(). Initial patch by Tyler Doyle. 2013-03-30 05:17:24 +02:00
Antoine Pitrou 64a5562f4c Issue #17071: Signature.bind() now works when one of the keyword arguments is named self. 2013-01-29 21:21:56 +01:00
Antoine Pitrou bd41d1b14c Issue #17071: Signature.bind() now works when one of the keyword arguments is named ``self``. 2013-01-29 21:20:57 +01:00
Andrew Svetlov f7a17b48d7 Replace IOError with OSError (#16715) 2012-12-25 16:47:37 +02:00
Antoine Pitrou 5d62a61b58 Fix test_inspect messing up with linecache.cache. 2012-07-08 13:48:46 +02:00
Nick Coghlan 6c6e2545cb Properly test the various builtins lookup cases in inspect.getclosurevars 2012-06-23 20:07:39 +10:00
Antoine Pitrou 46cb1ef457 Use non-deprecated speling. 2012-06-23 18:11:59 +02:00
Nick Coghlan 04e2e3f231 Close #15153: Added inspect.getgeneratorlocals to simplify whitebox testing of generator state updates 2012-06-23 19:52:05 +10:00
Nick Coghlan 2f92e54507 Close #13062: Add inspect.getclosurevars to simplify testing stateful closures 2012-06-23 19:39:55 +10:00
Larry Hastings 7c7cbfc00f Issue #15008: Implement PEP 362 "Signature Objects".
Patch by Yury Selivanov.
2012-06-22 15:19:35 -07:00
Antoine Pitrou d5a1a21a89 Prevent test_inspect from keeping alive a ton of frames and local variables by way of a global variable keeping a reference to a traceback.
Should fix some buildbot failures.
2012-06-17 23:18:07 +02:00
Georg Brandl 802505d05e Merge more test vs hashing-order fixes from 3.2. 2012-02-21 00:34:05 +01:00
Georg Brandl 178e5ea305 Disable an inspect test: it depends on dict ordering which parameter is reported as duplicate. 2012-02-21 00:32:36 +01:00
Antoine Pitrou af5facc4ca Add part of test_inspect test from 2.7 2012-01-18 17:40:48 +01:00
Antoine Pitrou 0c60381749 Add part of test_inspect test from 2.7 2012-01-18 17:40:18 +01:00
Michael Foord 3ba95f8bd9 Metaclasses with metaclasses with a __dict__ descriptor can no longer trigger code execution with inspect.getattr_static.
Closes issue 11829.
2011-12-22 01:13:37 +00:00
Antoine Pitrou 86a8a9ae98 Issue #1785: Fix inspect and pydoc with misbehaving descriptors.
Also fixes issue #13581: `help(type)` wouldn't display anything.
2011-12-21 09:57:40 +01:00
Michael Foord a51623b160 Fix inspect.getattr_static to work on modules (again).
Closes issue 11813.
2011-12-18 22:01:40 +00:00
Michael Foord 85530aa1c3 Merge 2011-12-22 01:15:53 +00:00
Antoine Pitrou 12f65d1fef Issue #1785: Fix inspect and pydoc with misbehaving descriptors.
Also fixes issue #13581: `help(type)` wouldn't display anything.
2011-12-21 09:59:49 +01:00
Michael Foord a699a2d0c1 Merge 3.2 2011-12-18 22:09:27 +00:00
Ezio Melotti d8b509b192 #13012: use splitlines(keepends=True/False) instead of splitlines(0/1). 2011-09-28 17:37:55 +03:00
Benjamin Peterson 9620cc0463 allow "fake" filenames in findsource (closes #9284)
This allows findsource() to work in doctests.

A patch from Dirkjan Ochtman.
2011-06-11 15:53:11 -05:00
Ezio Melotti 75cbd73666 #11938: Fix duplicated test name in test_inspect. Patch by Andreas Stührk. 2011-04-28 00:59:29 +03:00
Benjamin Peterson 6a2638b163 Correct handling of functions with only kwarg args in getcallargs (closes #11256)
A patch from Daniel Urban.
2011-03-28 17:32:31 -05:00
Michael Foord dcebe0f2dc Closes issue 11133. Fixes two cases where inspect.getattr_static could trigger code execution 2011-03-15 19:20:44 -04:00
Alexander Belopolsky f546e7035f Issue4335: Added a test for inspect.getsourcelines with a module without EOL at EOF. 2010-12-02 00:10:11 +00:00
Alexander Belopolsky 2f9a77a389 Reverted unintended change from r86916 2010-12-01 21:55:40 +00:00
Alexander Belopolsky 41e422a4ff Issue #4113: Added custom __repr__ method to functools.partial. 2010-12-01 20:05:49 +00:00
Nick Coghlan 7921b9f210 Issue 10220: switch to using string constants rather than integers for inspect.getgeneratorstate() return values and make debugging friendly str() and repr() for generator states a requirement in the test suite 2010-11-30 06:36:04 +00:00
Nick Coghlan e0f04659cd Issue #10220: Add inspect.getgeneratorstate(). Initial patch by Rodolpho Eckhardt 2010-11-21 03:44:04 +00:00
Ezio Melotti b3aedd4862 #9424: Replace deprecated assert* methods in the Python test suite. 2010-11-20 19:04:17 +00:00
Michael Foord 35184edd3d Issue 9732: __class__ no longer checked on objects by getattr_static 2010-11-20 16:58:30 +00:00
Michael Foord e516265bbc Issue 9732: fetch the method resolution order from the type metaclass directly in getattr_static 2010-11-20 16:40:44 +00:00
Michael Foord cc7ebb8f69 Issue 9732: remove use of __class__ in inspect.getattr_static and note the mro exception to code execution 2010-11-20 16:20:16 +00:00
Michael Foord 95fc51dfda Issue 9732: addition of getattr_static to the inspect module 2010-11-20 15:07:30 +00:00