summaryrefslogtreecommitdiffstats
path: root/Lib/test/test_inspect.py
Commit message (Collapse)AuthorAgeFilesLines
* 15 -> 16, the 2ndGeorg Brandl2008-03-031-1/+1
|
* 15 -> 16Christian Heimes2008-03-031-2/+2
|
* Issue #1916. Added isgenerator() and isgeneratorfunction() toFacundo Batista2008-02-181-8/+20
| | | | | inspect.py. Thanks Javi Mansilla for patch review and corrections.
* Replaced import of the 'new' module with 'types' module and added a ↵Christian Heimes2007-11-271-2/+2
| | | | deprecation warning to the 'new' module.
* Fix the speed regression in inspect.py by adding another cache to speed up ↵Nick Coghlan2006-09-071-0/+11
| | | | getmodule(). Patch #1553314
* Make tabnanny recognize IndentationErrors raised by tokenize.Georg Brandl2006-08-141-0/+3
| | | | | Add a test to test_inspect to make sure indented source is recognized correctly. (fixes #1224621)
* Ensure the actual number matches the expected countNeal Norwitz2006-07-281-3/+4
|
* Patch #1520294: Support for getset and member descriptors in types.py,Barry Warsaw2006-07-271-3/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | inspect.py, and pydoc.py. Specifically, this allows for querying the type of an object against these built-in C types and more importantly, for getting their docstrings printed in the interactive interpreter's help() function. This patch includes a new built-in module called _types which provides definitions of getset and member descriptors for use by the types.py module. These types are exposed as types.GetSetDescriptorType and types.MemberDescriptorType. Query functions are provided as inspect.isgetsetdescriptor() and inspect.ismemberdescriptor(). The implementations of these are robust enough to work with Python implementations other than CPython, which may not have these fundamental types. The patch also includes documentation and test suite updates. I commit these changes now under these guiding principles: 1. Silence is assent. The release manager has not said "no", and of the few people that cared enough to respond to the thread, the worst vote was "0". 2. It's easier to ask for forgiveness than permission. 3. It's so dang easy to revert stuff in svn, that you could view this as a forcing function. :) Windows build patches will follow.
* Fix SF#1516184 (again) and add a test to prevent regression.Phillip J. Eby2006-07-201-0/+1
| | | | (There was a problem with empty filenames still causing recursion)
* Whitespace normalization.Tim Peters2006-07-101-1/+1
|
* Fix SF#1516184 and add a test to prevent regression.Phillip J. Eby2006-07-101-0/+10
|
* Make use of new str.startswith/endswith semantics.Georg Brandl2006-06-091-1/+1
| | | | Occurences in email and compiler were ignored due to backwards compat requirements.
* Fix SF bug #1458903 with AST compiler.Neal Norwitz2006-03-271-2/+4
| | | | | | | | | | | | def foo((x)): was getting recognized as requiring tuple unpacking which is not correct. Add tests for this case and the proper way to unpack a tuple of one: def foo((x,)): test_inpsect was incorrect before. I'm not sure why it was passing, but that has been corrected with a test for both functions above. This means the test (and therefore inspect.getargspec()) are broken in 2.4.
* some more fixes and tests for inspect.getsource(), triggered by crashesArmin Rigo2005-09-251-0/+12
| | | | from the PyPy project as well as the SF bug #1295909.
* Patch #1159931/bug #1143895: inspect.getsource failed when functions,Johannes Gijsbers2005-03-121-0/+10
| | | | | | etc., had comments after the colon, and some other cases. This patch take a simpler approach that doesn't rely on looking for a ':'. Thanks Simon Percivall!
* Whitespace normalization.Tim Peters2005-01-071-22/+21
|
* Patch #1011890: fix inspect.getsource breaking with line-continuation &Johannes Gijsbers2004-12-121-1/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | more. Thanks to Simon Percivall! The patch makes changes to inspect.py in two places: * the pattern to match against functions at line 436 is modified: lambdas should be matched even if not preceded by whitespace, as long as "lambda" isn't part of another word. * the BlockFinder class is heavily modified. Changes are: - checking for "def", "class" or "lambda" names before setting self.started to True. Then checking the same line for word characters after the colon (if the colon is on that line). If so, and the line does not end with a line continuation marker, raise EndOfBlock immediately. - adding self.passline to show that the line is to be included and no more checking is necessary on that line. Since a NEWLINE token is not generated when a line continuation marker exists, this allows getsource to continue with these functions even if the following line would not be indented. Also add a bunch of 'quite-unlikely-to-occur-in-real-life-but-working-anyway' tests.
* Patch #736962: port test_inspect to unittest. As part of this, move outJohannes Gijsbers2004-12-121-395/+349
| | | | | the fodder modules to separate files to get rid of the imp.load_source() trickery.
* Patch #1006219: let inspect.getsource show '@' decorators and add tests forJohannes Gijsbers2004-08-181-0/+41
| | | | | this (which are rather ugly, but it'll have to do until test_inspect gets a major overhaul and a conversion to unittest). Thanks Simon Percivall!
* - Bug #891637, patch #1005466: fix inspect.getargs() crash on def foo((bar)).Matthias Klose2004-08-151-0/+8
|
* [Bug #954364] inspect.getframeinfo() sometimes produces incorrect traceback ↵Andrew M. Kuchling2004-06-051-2/+2
| | | | line #s; fix is to look at tb.tb_lineno, not tb.frame.f_lineno. Patch from Robin Becker and me.
* Patch #830858: Correct the number of is-functions. Backported to 2.3 and 2.2.Martin v. Löwis2003-10-311-0/+4
|
* Add a trivial test of getargspec() with a method.Jeremy Hylton2003-06-271-16/+21
|
* Refer to __builtin__.file, not __builtins__.fileMartin v. Löwis2003-05-031-2/+3
|
* Patch #711902: Cause pydoc to show data descriptor __doc__ strings.Martin v. Löwis2003-05-031-0/+3
|
* getdoc():Ka-Ping Yee2002-11-301-1/+1
| | | | | | Remove leading whitespace from first line; remove leading and trailing blank lines from docstrings. (Patch 645938 submitted by David Goodger.)
* Get rid of relative imports in all unittests. Now anything thatBarry Warsaw2002-07-231-1/+1
| | | | | | | | | | | imports e.g. test_support must do so using an absolute package name such as "import test.test_support" or "from test import test_support". This also updates the README in Lib/test, and gets rid of the duplicate data dirctory in Lib/test/data (replaced by Lib/email/test/data). Now Tim and Jack can have at it. :)
* Remove obsolete __dynamic__ distinction.Tim Peters2001-10-151-74/+1
|
* New function classify_class_attrs(). As a number of SF bug reportsTim Peters2001-09-231-0/+201
| | | | | | | | | | | | | | | | | | | point out, pydoc doesn't tell you where class attributes were defined, gets several new 2.2 features wrong, and isn't aware of some new features checked in on Thursday <wink>. pydoc is hampered in part because inspect.py has the same limitations. Alas, I can't think of a way to fix this within the current architecture of inspect/pydoc: it's simply not possible in 2.2 to figure out everything needed just from examining the object you get back from class.attr. You also need the class context, and the method resolution order, and tests against various things that simply didn't exist before. OTOH, knowledge of how to do that is getting quite complex, so doesn't belong in pydoc. classify_class_attrs takes a different approach, analyzing all the class attrs "at once", and returning the most interesting stuff for each, all in one gulp. pydoc needs to be reworked to use this for classes (instead of the current "filter dir(class) umpteen times against assorted predicates" approach).
* Add a function to compute a class's method resolution order. This isTim Peters2001-09-221-0/+20
| | | | | | easy for 2.2 new-style classes, but trickier for classic classes, and different approaches are needed "depending". The function will allow later code to treat all flavors of classes uniformly.
* Don't have trace() skip the top frame; return them all.Ka-Ping Yee2001-03-231-5/+7
|
* Clean up junk files left behind by imp.load_source().Tim Peters2001-03-041-1/+7
|
* Replace literal '@test' with TESTFN.Ka-Ping Yee2001-03-021-6/+6
|
* inspect: a module for getting information out of live Python objectsKa-Ping Yee2001-02-271-0/+207