Lines Matching refs:inspect
6 import inspect
93 predicates = set([inspect.isbuiltin, inspect.isclass, inspect.iscode,
94 inspect.isframe, inspect.isfunction, inspect.ismethod,
95 inspect.ismodule, inspect.istraceback,
96 inspect.isgenerator, inspect.isgeneratorfunction,
97 inspect.iscoroutine, inspect.iscoroutinefunction,
98 inspect.isasyncgen, inspect.isasyncgenfunction,
99 inspect.ismethodwrapper])
106 if (predicate == inspect.isgeneratorfunction or \
107 predicate == inspect.isasyncgenfunction or \
108 predicate == inspect.iscoroutinefunction) and \
109 other == inspect.isfunction:
114 support.check__all__(self, inspect, not_exported=("modulesbyfile",))
136 self.istest(inspect.isbuiltin, 'sys.exit')
137 self.istest(inspect.isbuiltin, '[].append')
138 self.istest(inspect.iscode, 'mod.spam.__code__')
143 self.istest(inspect.isframe, 'tb.tb_frame')
144 self.istest(inspect.istraceback, 'tb')
146 self.istest(inspect.isgetsetdescriptor,
149 self.assertFalse(inspect.isgetsetdescriptor(type(tb.tb_frame).f_locals))
153 self.istest(inspect.isfunction, 'mod.spam')
154 self.istest(inspect.isfunction, 'mod.StupidGit.abuse')
155 self.istest(inspect.ismethod, 'git.argue')
156 self.istest(inspect.ismethod, 'mod.custom_method')
157 self.istest(inspect.ismodule, 'mod')
158 self.istest(inspect.isdatadescriptor, 'collections.defaultdict.default_factory')
159 self.istest(inspect.isgenerator, '(x for x in range(2))')
160 self.istest(inspect.isgeneratorfunction, 'generator_function_example')
161 self.istest(inspect.isasyncgen,
163 self.istest(inspect.isasyncgenfunction,
168 self.istest(inspect.iscoroutine, 'coroutine_function_example(1)')
169 self.istest(inspect.iscoroutinefunction, 'coroutine_function_example')
172 self.istest(inspect.ismemberdescriptor, 'datetime.timedelta.days')
174 self.assertFalse(inspect.ismemberdescriptor(datetime.timedelta.days))
175 self.istest(inspect.ismethodwrapper, "object().__str__")
176 self.istest(inspect.ismethodwrapper, "object().__eq__")
177 self.istest(inspect.ismethodwrapper, "object().__repr__")
178 self.assertFalse(inspect.ismethodwrapper(type))
179 self.assertFalse(inspect.ismethodwrapper(int))
180 self.assertFalse(inspect.ismethodwrapper(type("AnyClass", (), {})))
190 inspect.iscoroutinefunction(gen_coroutine_function_example))
192 inspect.iscoroutinefunction(
195 self.assertFalse(inspect.iscoroutine(gen_coro))
198 inspect.isgeneratorfunction(gen_coroutine_function_example))
200 inspect.isgeneratorfunction(
203 self.assertTrue(inspect.isgenerator(gen_coro))
206 inspect.iscoroutinefunction(unittest.mock.Mock()))
208 inspect.iscoroutinefunction(unittest.mock.AsyncMock()))
210 inspect.iscoroutinefunction(coroutine_function_example))
212 inspect.iscoroutinefunction(
215 self.assertTrue(inspect.iscoroutine(coro))
218 inspect.isgeneratorfunction(unittest.mock.Mock()))
220 inspect.isgeneratorfunction(unittest.mock.AsyncMock()))
222 inspect.isgeneratorfunction(coroutine_function_example))
224 inspect.isgeneratorfunction(
227 self.assertFalse(inspect.isgenerator(coro))
230 inspect.isasyncgenfunction(unittest.mock.Mock()))
232 inspect.isasyncgenfunction(unittest.mock.AsyncMock()))
234 inspect.isasyncgenfunction(coroutine_function_example))
236 inspect.isasyncgenfunction(async_generator_function_example))
238 inspect.isasyncgenfunction(
241 self.assertTrue(inspect.isasyncgen(async_gen_coro))
247 self.assertFalse(inspect.isawaitable(gen()))
252 self.assertTrue(inspect.isawaitable(coro))
253 self.assertTrue(inspect.isawaitable(gen_coro))
258 self.assertTrue(inspect.isawaitable(Future()))
259 self.assertFalse(inspect.isawaitable(Future))
264 self.assertFalse(inspect.isawaitable(not_fut))
270 self.assertTrue(inspect.isroutine(git.argue))
271 self.assertTrue(inspect.isroutine(mod.custom_method))
272 self.assertTrue(inspect.isroutine([].count))
274 self.assertTrue(inspect.isroutine(mod.spam))
275 self.assertTrue(inspect.isroutine(mod.StupidGit.abuse))
277 self.assertTrue(inspect.isroutine(object.__init__))
278 self.assertTrue(inspect.isroutine(object.__str__))
279 self.assertTrue(inspect.isroutine(object.__lt__))
280 self.assertTrue(inspect.isroutine(int.__lt__))
282 self.assertTrue(inspect.isroutine(object().__init__))
283 self.assertTrue(inspect.isroutine(object().__str__))
284 self.assertTrue(inspect.isroutine(object().__lt__))
285 self.assertTrue(inspect.isroutine((42).__lt__))
287 self.assertTrue(inspect.isroutine(str.join))
288 self.assertTrue(inspect.isroutine(list.append))
289 self.assertTrue(inspect.isroutine(''.join))
290 self.assertTrue(inspect.isroutine([].append))
292 self.assertFalse(inspect.isroutine(object))
293 self.assertFalse(inspect.isroutine(object()))
294 self.assertFalse(inspect.isroutine(str()))
296 self.assertFalse(inspect.isroutine(mod))
298 self.assertFalse(inspect.isroutine(type))
299 self.assertFalse(inspect.isroutine(int))
300 self.assertFalse(inspect.isroutine(type('some_class', (), {})))
303 self.istest(inspect.isclass, 'mod.StupidGit')
304 self.assertTrue(inspect.isclass(list))
309 self.assertFalse(inspect.isclass(CustomGetattr()))
316 members = dict(inspect.getmembers(x))
336 self.assertTrue(inspect.isabstract(AbstractClassExample))
337 self.assertFalse(inspect.isabstract(ClassExample))
338 self.assertFalse(inspect.isabstract(a))
339 self.assertFalse(inspect.isabstract(int))
340 self.assertFalse(inspect.isabstract(5))
347 isabstract_checks.append(inspect.isabstract(cls))
374 self.istest(inspect.istraceback, 'git.ex[2]')
375 self.istest(inspect.isframe, 'mod.fr')
382 (modfile, 16, 'eggs', [' st = inspect.stack()\n'], 0))
402 self.assertIn('inspect.stack()', record.code_context[0])
419 args, varargs, varkw, locals = inspect.getargvalues(mod.fr)
424 self.assertEqual(inspect.formatargvalues(args, varargs, varkw, locals),
428 args, varargs, varkw, locals = inspect.getargvalues(mod.fr.f_back)
432 self.assertEqual(inspect.formatargvalues(args, varargs, varkw, locals),
440 with open(inspect.getsourcefile(self.fodderModule), encoding="utf-8") as fp:
448 self.assertEqual(inspect.getsource(obj),
460 classes = inspect.getmembers(mod, inspect.isclass)
469 tree = inspect.getclasstree([cls[1] for cls in classes])
485 tree = inspect.getclasstree([cls[1] for cls in classes], True)
500 functions = inspect.getmembers(mod, inspect.isfunction)
508 self.assertEqual(inspect.getdoc(mod), 'A module docstring.')
509 self.assertEqual(inspect.getdoc(mod.StupidGit),
511 self.assertEqual(inspect.getdoc(git.abuse),
513 self.assertEqual(inspect.getdoc(SlotUser.power),
515 self.assertEqual(inspect.getdoc(SlotUser.distance),
521 self.assertEqual(inspect.getdoc(mod.FesteringGob),
523 self.assertEqual(inspect.getdoc(mod.FesteringGob.abuse),
525 self.assertEqual(inspect.getdoc(mod.FesteringGob().abuse),
527 self.assertEqual(inspect.getdoc(mod.FesteringGob.contradiction),
532 finddoc = inspect._finddoc
540 self.assertEqual(inspect.cleandoc('An\n indented\n docstring.'),
544 self.assertEqual(inspect.getcomments(mod), '# line 1\n')
545 self.assertEqual(inspect.getcomments(mod.StupidGit), '# line 20\n')
546 self.assertEqual(inspect.getcomments(mod2.cls160), '# line 159\n')
549 self.assertIsNone(inspect.getcomments(co))
551 self.assertIsNone(inspect.getcomments(list))
555 self.assertEqual(inspect.getmodule(mod), mod)
557 self.assertEqual(inspect.getmodule(mod.StupidGit), mod)
559 self.assertEqual(inspect.getmodule(mod.StupidGit.abuse), mod)
561 self.assertEqual(inspect.getmodule(mod.StupidGit.abuse), mod)
563 self.assertEqual(inspect.getmodule(str), sys.modules["builtins"])
565 self.assertEqual(inspect.getmodule(None, modfile), mod)
571 with unittest.mock.patch('inspect.getabsfile', _getabsfile):
572 f = inspect.currentframe()
573 self.assertIsNone(inspect.getmodule(f))
574 inspect.getouterframes(f) # smoke test
577 frame_info = inspect.getframeinfo(self.fodderModule.fr, 50)
587 self.assertEqual(normcase(inspect.getsourcefile(mod.spam)), modfile)
588 self.assertEqual(normcase(inspect.getsourcefile(git.abuse)), modfile)
591 self.assertEqual(inspect.getsourcefile(co), None)
594 self.assertEqual(normcase(inspect.getsourcefile(co)), fn)
599 self.assertEqual(inspect.getfile(mod.StupidGit), mod.__file__)
603 inspect.getfile(sys)
608 inspect.getfile(int)
613 inspect.getfile(abs)
616 inspect.getfile(list.append)
627 inspect.getfile(C)
635 inspect.getfile(er)
644 self.assertEqual(inspect.getsourcefile(m.x.__code__), '<string>')
646 inspect.getmodule(compile('a=10','','single'))
661 inspect.getsource(ns["x"])
672 code = "import sys, inspect; \
675 inspect.getsource(A)"
707 # Test inspect.getsource with a one-line lambda function.
711 # Test inspect.getsource with a three-line lambda function,
716 # Test inspect.getsource with a two-line lambda function,
721 # Test inspect.getsource with a regular one-line function.
725 # Test inspect.getsource with a regular function where
731 # Test inspect.getsource with a regular function where
737 # Test inspect.getsource with a one-line lambda function
742 # Test inspect.getsource with a lambda function defined
788 self.assertRaises(OSError, inspect.getsource, unicodedata)
789 self.assertRaises(OSError, inspect.findsource, unicodedata)
794 self.assertRaises(OSError, inspect.findsource, co)
795 self.assertRaises(OSError, inspect.getsource, co)
798 self.assertEqual(inspect.findsource(co), (lines,0))
799 self.assertEqual(inspect.getsource(co), lines[0])
806 self.assertRaises(IOError, inspect.findsource, co)
807 self.assertRaises(IOError, inspect.getsource, co)
810 mod_len = len(inspect.getsource(mod))
818 inspect.findsource(func)
922 return [t[:3] for t in inspect.classify_class_attrs(cls)]
934 got = inspect.getmro(D)
943 inspect.getfullargspec(routine)
989 spam_param = inspect.Parameter('spam', inspect.Parameter.POSITIONAL_ONLY)
990 test.__signature__ = inspect.Signature(parameters=(spam_param,))
996 spec = inspect.getfullargspec(test)
1000 spec = inspect.getfullargspec(test)
1022 spec = inspect.getfullargspec(builtin)
1032 inspect.getfullargspec(builtin)
1036 signature = inspect.getfullargspec(fn)
1041 signature = inspect.getfullargspec(unsorted_keyword_only_parameters_fn)
1132 inspect.classify_class_attrs(builtin)
1156 should_find_dca = inspect.Attribute('ham', 'data', VA, VA.__dict__['ham'])
1157 self.assertIn(should_find_dca, inspect.classify_class_attrs(VA))
1158 should_find_ga = inspect.Attribute('ham', 'data', Meta, 'spam')
1159 self.assertIn(should_find_ga, inspect.classify_class_attrs(VA))
1173 should_find_attr = inspect.Attribute('dd', 'data', HasNB, HasNB.dd)
1174 self.assertIn(should_find_attr, inspect.classify_class_attrs(HasNB))
1183 should_find = inspect.Attribute('fish', 'data', Meta, 'slap')
1184 self.assertIn(should_find, inspect.classify_class_attrs(Class))
1196 should_find = inspect.Attribute('BOOM', 'data', Meta, 42)
1197 self.assertIn(should_find, inspect.classify_class_attrs(Class))
1227 should_find1 = inspect.Attribute('one', 'data', Meta1, 1)
1228 should_find2 = inspect.Attribute('two', 'data', Meta2, 2)
1229 should_find3 = inspect.Attribute('three', 'data', Meta3, 3)
1230 cca = inspect.classify_class_attrs(Class2)
1240 attrs = [a[0] for a in inspect.classify_class_attrs(C)]
1259 ismethoddescriptor = pred_wrapper(inspect.ismethoddescriptor)
1260 isdatadescriptor = pred_wrapper(inspect.isdatadescriptor)
1262 self.assertEqual(inspect.getmembers(A, ismethoddescriptor),
1264 self.assertEqual(inspect.getmembers(A, isdatadescriptor),
1270 self.assertEqual(inspect.getmembers(B, ismethoddescriptor),
1272 self.assertEqual(inspect.getmembers(B, isdatadescriptor),
1280 self.assertIn(('f', B.f), inspect.getmembers(B))
1281 self.assertNotIn(('f', B.f), inspect.getmembers(B, inspect.ismethod))
1283 self.assertIn(('f', b.f), inspect.getmembers(b))
1284 self.assertIn(('f', b.f), inspect.getmembers(b, inspect.ismethod))
1299 self.assertIn(('eggs', 'scrambled'), inspect.getmembers(A))
1300 self.assertIn(('eggs', 'spam'), inspect.getmembers(A()))
1302 self.assertIn(('__getattr__', b.__getattr__), inspect.getmembers(b))
1314 instance_members = inspect.getmembers_static(a)
1315 class_members = inspect.getmembers_static(A)
1316 self.assertIn(('name', inspect.getattr_static(a, 'name')), instance_members)
1317 self.assertIn(('eggs', inspect.getattr_static(a, 'eggs')), instance_members)
1318 self.assertIn(('name', inspect.getattr_static(A, 'name')), class_members)
1319 self.assertIn(('eggs', inspect.getattr_static(A, 'eggs')), class_members)
1327 attrs = [a[0] for a in inspect.getmembers(C)]
1332 self.assertEqual(inspect.get_annotations(foo), {'a': int, 'b': str})
1335 self.assertEqual(inspect.get_annotations(foo), {'a': 'foo', 'b': 'str'})
1337 self.assertEqual(inspect.get_annotations(foo, eval_str=True, locals=locals()), {'a': foo, 'b': str})
1338 self.assertEqual(inspect.get_annotations(foo, eval_str=True, globals=locals()), {'a': foo, 'b': str})
1341 self.assertEqual(inspect.get_annotations(isa), {'a': int, 'b': str})
1342 self.assertEqual(inspect.get_annotations(isa.MyClass), {'a': int, 'b': str})
1343 self.assertEqual(inspect.get_annotations(isa.function), {'a': int, 'b': str, 'return': isa.MyClass})
1344 self.assertEqual(inspect.get_annotations(isa.function2), {'a': int, 'b': 'str', 'c': isa.MyClass, 'return': isa.MyClass})
1345 self.assertEqual(inspect.get_annotations(isa.function3), {'a': 'int', 'b': 'str', 'c': 'MyClass'})
1346 self.assertEqual(inspect.get_annotations(inspect), {}) # inspect module has no annotations
1347 self.assertEqual(inspect.get_annotations(isa.UnannotatedClass), {})
1348 self.assertEqual(inspect.get_annotations(isa.unannotated_function), {})
1350 self.assertEqual(inspect.get_annotations(isa, eval_str=True), {'a': int, 'b': str})
1351 self.assertEqual(inspect.get_annotations(isa.MyClass, eval_str=True), {'a': int, 'b': str})
1352 self.assertEqual(inspect.get_annotations(isa.function, eval_str=True), {'a': int, 'b': str, 'return': isa.MyClass})
1353 self.assertEqual(inspect.get_annotations(isa.function2, eval_str=True), {'a': int, 'b': str, 'c': isa.MyClass, 'return': isa.MyClass})
1354 self.assertEqual(inspect.get_annotations(isa.function3, eval_str=True), {'a': int, 'b': str, 'c': isa.MyClass})
1355 self.assertEqual(inspect.get_annotations(inspect, eval_str=True), {})
1356 self.assertEqual(inspect.get_annotations(isa.UnannotatedClass, eval_str=True), {})
1357 self.assertEqual(inspect.get_annotations(isa.unannotated_function, eval_str=True), {})
1359 self.assertEqual(inspect.get_annotations(isa, eval_str=False), {'a': int, 'b': str})
1360 self.assertEqual(inspect.get_annotations(isa.MyClass, eval_str=False), {'a': int, 'b': str})
1361 self.assertEqual(inspect.get_annotations(isa.function, eval_str=False), {'a': int, 'b': str, 'return': isa.MyClass})
1362 self.assertEqual(inspect.get_annotations(isa.function2, eval_str=False), {'a': int, 'b': 'str', 'c': isa.MyClass, 'return': isa.MyClass})
1363 self.assertEqual(inspect.get_annotations(isa.function3, eval_str=False), {'a': 'int', 'b': 'str', 'c': 'MyClass'})
1364 self.assertEqual(inspect.get_annotations(inspect, eval_str=False), {})
1365 self.assertEqual(inspect.get_annotations(isa.UnannotatedClass, eval_str=False), {})
1366 self.assertEqual(inspect.get_annotations(isa.unannotated_function, eval_str=False), {})
1377 self.assertEqual(inspect.get_annotations(wrapped), {'a': int, 'b': str, 'return': isa.MyClass})
1378 self.assertEqual(inspect.get_annotations(wrapped, eval_str=True), {'a': int, 'b': str, 'return': isa.MyClass})
1379 self.assertEqual(inspect.get_annotations(wrapped, eval_str=False), {'a': int, 'b': str, 'return': isa.MyClass})
1383 self.assertEqual(inspect.get_annotations(isa), {'a': 'int', 'b': 'str'})
1384 self.assertEqual(inspect.get_annotations(isa.MyClass), {'a': 'int', 'b': 'str'})
1385 self.assertEqual(inspect.get_annotations(isa.function), {'a': 'int', 'b': 'str', 'return': 'MyClass'})
1386 self.assertEqual(inspect.get_annotations(isa.function2), {'a': 'int', 'b': "'str'", 'c': 'MyClass', 'return': 'MyClass'})
1387 self.assertEqual(inspect.get_annotations(isa.function3), {'a': "'int'", 'b': "'str'", 'c': "'MyClass'"})
1388 self.assertEqual(inspect.get_annotations(isa.UnannotatedClass), {})
1389 self.assertEqual(inspect.get_annotations(isa.unannotated_function), {})
1391 self.assertEqual(inspect.get_annotations(isa, eval_str=True), {'a': int, 'b': str})
1392 self.assertEqual(inspect.get_annotations(isa.MyClass, eval_str=True), {'a': int, 'b': str})
1393 self.assertEqual(inspect.get_annotations(isa.function, eval_str=True), {'a': int, 'b': str, 'return': isa.MyClass})
1394 self.assertEqual(inspect.get_annotations(isa.function2, eval_str=True), {'a': int, 'b': 'str', 'c': isa.MyClass, 'return': isa.MyClass})
1395 self.assertEqual(inspect.get_annotations(isa.function3, eval_str=True), {'a': 'int', 'b': 'str', 'c': 'MyClass'})
1396 self.assertEqual(inspect.get_annotations(isa.UnannotatedClass, eval_str=True), {})
1397 self.assertEqual(inspect.get_annotations(isa.unannotated_function, eval_str=True), {})
1399 self.assertEqual(inspect.get_annotations(isa, eval_str=False), {'a': 'int', 'b': 'str'})
1400 self.assertEqual(inspect.get_annotations(isa.MyClass, eval_str=False), {'a': 'int', 'b': 'str'})
1401 self.assertEqual(inspect.get_annotations(isa.function, eval_str=False), {'a': 'int', 'b': 'str', 'return': 'MyClass'})
1402 self.assertEqual(inspect.get_annotations(isa.function2, eval_str=False), {'a': 'int', 'b': "'str'", 'c': 'MyClass', 'return': 'MyClass'})
1403 self.assertEqual(inspect.get_annotations(isa.function3, eval_str=False), {'a': "'int'", 'b': "'str'", 'c': "'MyClass'"})
1404 self.assertEqual(inspect.get_annotations(isa.UnannotatedClass, eval_str=False), {})
1405 self.assertEqual(inspect.get_annotations(isa.unannotated_function, eval_str=False), {})
1408 self.assertEqual(inspect.get_annotations(isa2), {})
1409 self.assertEqual(inspect.get_annotations(isa2, eval_str=True), {})
1410 self.assertEqual(inspect.get_annotations(isa2, eval_str=False), {})
1421 self.assertEqual(inspect.get_annotations(wrapped), {'a': 'int', 'b': 'str', 'return': 'MyClass'})
1422 self.assertEqual(inspect.get_annotations(wrapped, eval_str=True), {'a': int, 'b': str, 'return': isa.MyClass})
1423 self.assertEqual(inspect.get_annotations(wrapped, eval_str=False), {'a': 'int', 'b': 'str', 'return': 'MyClass'})
1426 self.assertEqual(inspect.get_annotations(isa.MyClassWithLocalAnnotations), {'x': 'mytype'})
1427 self.assertEqual(inspect.get_annotations(isa.MyClassWithLocalAnnotations, eval_str=True), {'x': int})
1433 self.assertEqual(inspect.formatannotation(ann), 'Union[List[str], int]')
1434 self.assertEqual(inspect.formatannotation(ann1), 'Union[List[testModule.typing.A], int]')
1448 self.assertFalse(inspect.isdatadescriptor(NonDataDescriptor()),
1450 self.assertTrue(inspect.isdatadescriptor(DataDescriptor0()),
1452 self.assertTrue(inspect.isdatadescriptor(DataDescriptor1()),
1454 self.assertTrue(inspect.isdatadescriptor(DataDescriptor2()),
1460 self.assertTrue(inspect.isdatadescriptor(Slotted.foo),
1468 self.assertTrue(inspect.isdatadescriptor(Propertied.a_property),
1481 self.assertFalse(inspect.isdatadescriptor(Test().instance_method),
1483 self.assertFalse(inspect.isdatadescriptor(Test().class_method),
1485 self.assertFalse(inspect.isdatadescriptor(Test().static_method),
1487 self.assertFalse(inspect.isdatadescriptor(function),
1489 self.assertFalse(inspect.isdatadescriptor(a_lambda),
1507 expected = inspect.ClosureVars(nonlocal_vars, global_vars,
1509 self.assertEqual(inspect.getclosurevars(f(_arg)), expected)
1522 expected = inspect.ClosureVars(nonlocal_vars, global_vars,
1524 self.assertEqual(inspect.getclosurevars(f(_arg)), expected)
1537 expected = inspect.ClosureVars(nonlocal_vars, global_vars,
1539 self.assertEqual(inspect.getclosurevars(C().f(_arg)), expected)
1544 return inspect.getclosurevars(f).nonlocals
1581 _empty = inspect.ClosureVars({}, {}, {}, set())
1582 self.assertEqual(inspect.getclosurevars(lambda: True), _empty)
1583 self.assertEqual(inspect.getclosurevars(foo), _empty)
1587 self.assertRaises(TypeError, inspect.getclosurevars, 1)
1588 self.assertRaises(TypeError, inspect.getclosurevars, list)
1589 self.assertRaises(TypeError, inspect.getclosurevars, {})
1600 expected = inspect.ClosureVars({}, {}, {"print":print}, {"path"})
1601 self.assertEqual(inspect.getclosurevars(f), expected)
1606 expected = inspect.ClosureVars({}, {}, {"path":1}, {"print"})
1607 self.assertEqual(inspect.getclosurevars(f), expected)
1612 expected = inspect.ClosureVars({}, {}, {"path":os.path}, {"print"})
1613 self.assertEqual(inspect.getclosurevars(f), expected)
1621 r2 = eval('inspect.getcallargs(func, %s)' % call_params_string, None,
1634 eval('inspect.getcallargs(func, %s)' % call_param_string, None,
1794 inspect.getcallargs(f5)
1801 inspect.getcallargs(f6)
1807 inspect.Parameter("foo", kind=inspect.Parameter.VAR_KEYWORD,
1811 inspect.Parameter("bar", kind=5, default=42)
1815 inspect.Parameter(123, kind=4)
1858 self.assertEqual(inspect.getattr_static(thing, 'x'), Thing.x)
1859 self.assertEqual(inspect.getattr_static(thing, 'x', None), Thing.x)
1861 inspect.getattr_static(thing, 'y')
1863 self.assertEqual(inspect.getattr_static(thing, 'y', 3), 3)
1872 self.assertEqual(inspect.getattr_static(something, 'x'), Thing.x)
1880 self.assertEqual(inspect.getattr_static(thing, 'x'), 3)
1882 self.assertEqual(inspect.getattr_static(thing, 'x'), 2)
1890 self.assertEqual(inspect.getattr_static(thing, 'x'), Thing.x)
1900 self.assertEqual(inspect.getattr_static(thing, 'x'), desc)
1906 self.assertEqual(inspect.getattr_static(Thing, 'x'), Thing.x)
1915 self.assertEqual(inspect.getattr_static(Thing, 'x'), Thing.__dict__['x'])
1923 self.assertEqual(inspect.getattr_static(OtherThing, 'x'), Thing.x)
1932 self.assertEqual(inspect.getattr_static(thing, 'x'), Thing.x)
1933 self.assertEqual(inspect.getattr_static(thing, 'y'), 'bar')
1936 self.assertEqual(inspect.getattr_static(thing, 'x'), Thing.x)
1943 self.assertEqual(inspect.getattr_static(Thing, 'attr'), 'foo')
1949 self.assertEqual(inspect.getattr_static(OtherThing, 'attr'), 'foo')
1954 self.assertEqual(inspect.getattr_static(OtherOtherThing, 'x'), 3)
1957 self.assertEqual(inspect.getattr_static(1, 'foo', None), None)
1958 self.assertNotEqual(inspect.getattr_static('foo', 'lower'), None)
1963 self.assertEqual(inspect.getattr_static(handle, 'name'), type(handle).name)
1976 self.assertEqual(inspect.getattr_static(OtherThing(), 'x'), Thing.x)
1989 self.assertEqual(inspect.getattr_static(foo, 'd'), 1)
1994 self.assertEqual(inspect.getattr_static(foo, 'd'), Foo.__dict__['d'])
1998 self.assertEqual(inspect.getattr_static(foo, 'd'), Foo.__dict__['d'])
2008 self.assertEqual(inspect.getattr_static(Thing, 'd'), meta.__dict__['d'])
2023 self.assertEqual(inspect.getattr_static(instance, 'foo'), 3)
2025 self.assertEqual(inspect.getattr_static(Something, 'foo'), 3)
2039 self.assertEqual(inspect.getattr_static(Something(), 'foo'), 3)
2040 self.assertEqual(inspect.getattr_static(Something, 'foo'), 3)
2055 self.assertEqual(inspect.getattr_static(foo, 'a'), 3)
2071 self.assertEqual(inspect.getattr_static(foo, 'a'), 3)
2087 self.assertEqual(inspect.getattr_static(instance, "spam"), 42)
2092 self.assertIsNot(inspect.getattr_static(sys, "version", sentinel),
2109 inspect.getattr_static(Thing, "spam")
2122 inspect.getattr_static(Foo(), 'whatever')
2136 inspect.getattr_static(Foo(), 'really_could_be_anything')
2150 return inspect.getgeneratorstate(self.generator)
2153 self.assertEqual(self._generatorstate(), inspect.GEN_CREATED)
2157 self.assertEqual(self._generatorstate(), inspect.GEN_SUSPENDED)
2162 self.assertEqual(self._generatorstate(), inspect.GEN_CLOSED)
2167 self.assertEqual(self._generatorstate(), inspect.GEN_CLOSED)
2176 self.assertEqual(self._generatorstate(), inspect.GEN_RUNNING)
2178 self.assertEqual(self._generatorstate(), inspect.GEN_RUNNING)
2189 state = getattr(inspect, name)
2202 self.assertEqual(inspect.getgeneratorlocals(numbers),
2205 self.assertEqual(inspect.getgeneratorlocals(numbers),
2209 self.assertEqual(inspect.getgeneratorlocals(numbers),
2213 self.assertEqual(inspect.getgeneratorlocals(numbers),
2220 self.assertEqual(inspect.getgeneratorlocals(numbers), {})
2226 self.assertEqual(inspect.getgeneratorlocals(one), {})
2231 self.assertEqual(inspect.getgeneratorlocals(one), {})
2234 self.assertRaises(TypeError, inspect.getgeneratorlocals, 1)
2235 self.assertRaises(TypeError, inspect.getgeneratorlocals, lambda x: True)
2236 self.assertRaises(TypeError, inspect.getgeneratorlocals, set)
2237 self.assertRaises(TypeError, inspect.getgeneratorlocals, (2,3))
2255 return inspect.getcoroutinestate(self.coroutine)
2258 self.assertEqual(self._coroutinestate(), inspect.CORO_CREATED)
2262 self.assertEqual(self._coroutinestate(), inspect.CORO_SUSPENDED)
2271 self.assertEqual(self._coroutinestate(), inspect.CORO_CLOSED)
2276 self.assertEqual(self._coroutinestate(), inspect.CORO_CLOSED)
2282 state = getattr(inspect, name)
2297 self.assertEqual(inspect.getcoroutinelocals(coro),
2300 self.assertEqual(inspect.getcoroutinelocals(coro),
2304 class MySignature(inspect.Signature):
2309 class MyParameter(inspect.Parameter):
2319 sig = inspect.signature(func, **kw)
2330 S = inspect.Signature
2331 P = inspect.Parameter
2339 sig = inspect.signature(test)
2348 sig2 = inspect.signature(test2)
2409 sig = inspect.signature(foo_partial)
2417 sig = inspect.signature(foo)
2418 myparam = MyParameter(name='z', kind=inspect.Parameter.POSITIONAL_ONLY)
2436 sig = inspect.signature(test)
2520 signature = inspect.signature(o)
2521 self.assertTrue(isinstance(signature, inspect.Signature))
2527 signature = inspect.signature(o)
2528 self.assertTrue(isinstance(signature, inspect.Signature))
2600 self.assertEqual(inspect.signature(func),
2601 inspect.signature(decorated_func))
2604 self.assertEqual(inspect.signature(decorated_func,
2606 inspect.signature(wrapper_like))
2613 inspect.signature(_testcapi.docstring_no_signature)
2617 inspect.signature(str)
2621 inspect.signature(42)
2643 sig_func = inspect.Signature.from_callable(func)
2645 sig_funclike = inspect.Signature.from_callable(funclike(func))
2648 sig_funclike = inspect.signature(funclike(func))
2662 _orig_isdesc = inspect.ismethoddescriptor
2668 with unittest.mock.patch('inspect.ismethoddescriptor', _isdesc):
2671 self.assertFalse(inspect.ismethoddescriptor(builtin_func))
2673 self.assertTrue(inspect.ismethoddescriptor(builtin_func))
2674 self.assertEqual(inspect.signature(builtin_func), sig_func)
2693 self.assertEqual(str(inspect.signature(funclike)), '(marker)')
2780 inspect.signature(partial(test, 1))
2783 inspect.signature(partial(test, a=1))
2877 sig = test.__signature__ = inspect.signature(test)
2918 ba = inspect.signature(_foo).bind(a=200, b=11)
2925 ba = inspect.signature(_foo).bind(a=11)
2928 ba = inspect.signature(_foo).bind(11, 12)
2931 ba = inspect.signature(_foo).bind(11, b=12)
2934 ba = inspect.signature(_foo).bind(b=12)
2938 ba = inspect.signature(_foo).bind(12)
2944 sig = inspect.signature(foo)
2987 inspect.signature(Spam.ham)
3018 self.assertEqual(str(inspect.signature(foo)), '(a)')
3062 sig = inspect.signature(func)
3219 self.assertEqual(str(inspect.signature(C)), '()')
3221 self.assertEqual(str(inspect.signature(D)), '()')
3227 self.assertEqual(inspect.signature(C), None)
3229 self.assertEqual(inspect.signature(D), None)
3236 self.assertEqual(str(inspect.signature(_pickle.Pickler)), expected)
3241 self.assertEqual(str(inspect.signature(P)), expected)
3242 self.assertEqual(str(inspect.signature(P2)), expected)
3247 self.assertEqual(str(inspect.signature(P3)), '(spam)')
3254 self.assertEqual(str(inspect.signature(P4)), '(foo, bar)')
3268 inspect.signature(Spam())
3301 self.assertEqual(str(inspect.signature(mock)), '(*args, **kwargs)')
3310 inspect.signature(mock)
3314 self.assertFalse(inspect.signature(foo) == 42)
3315 self.assertTrue(inspect.signature(foo) != 42)
3316 self.assertTrue(inspect.signature(foo) == ALWAYS_EQ)
3317 self.assertFalse(inspect.signature(foo) != ALWAYS_EQ)
3320 self.assertTrue(inspect.signature(foo) == inspect.signature(bar))
3321 self.assertFalse(inspect.signature(foo) != inspect.signature(bar))
3323 hash(inspect.signature(foo)), hash(inspect.signature(bar)))
3326 self.assertFalse(inspect.signature(foo) == inspect.signature(bar))
3327 self.assertTrue(inspect.signature(foo) != inspect.signature(bar))
3329 hash(inspect.signature(foo)), hash(inspect.signature(bar)))
3332 self.assertFalse(inspect.signature(foo) == inspect.signature(bar))
3333 self.assertTrue(inspect.signature(foo) != inspect.signature(bar))
3335 hash(inspect.signature(foo)), hash(inspect.signature(bar)))
3338 self.assertFalse(inspect.signature(foo) == inspect.signature(bar))
3339 self.assertTrue(inspect.signature(foo) != inspect.signature(bar))
3341 hash(inspect.signature(foo)), hash(inspect.signature(bar)))
3344 self.assertFalse(inspect.signature(foo) == inspect.signature(bar))
3345 self.assertTrue(inspect.signature(foo) != inspect.signature(bar))
3347 hash(inspect.signature(foo)), hash(inspect.signature(bar)))
3350 self.assertFalse(inspect.signature(foo) == inspect.signature(bar))
3351 self.assertTrue(inspect.signature(foo) != inspect.signature(bar))
3353 hash(inspect.signature(foo)), hash(inspect.signature(bar)))
3355 self.assertFalse(inspect.signature(spam) == inspect.signature(bar))
3356 self.assertTrue(inspect.signature(spam) != inspect.signature(bar))
3358 hash(inspect.signature(spam)), hash(inspect.signature(bar)))
3362 self.assertTrue(inspect.signature(foo) == inspect.signature(bar))
3363 self.assertFalse(inspect.signature(foo) != inspect.signature(bar))
3365 hash(inspect.signature(foo)), hash(inspect.signature(bar)))
3369 self.assertTrue(inspect.signature(foo) == inspect.signature(bar))
3370 self.assertFalse(inspect.signature(foo) != inspect.signature(bar))
3372 hash(inspect.signature(foo)), hash(inspect.signature(bar)))
3376 self.assertTrue(inspect.signature(foo) == inspect.signature(bar))
3377 self.assertFalse(inspect.signature(foo) != inspect.signature(bar))
3379 hash(inspect.signature(foo)), hash(inspect.signature(bar)))
3383 self.assertFalse(inspect.signature(foo) == inspect.signature(bar))
3384 self.assertTrue(inspect.signature(foo) != inspect.signature(bar))
3386 hash(inspect.signature(foo)), hash(inspect.signature(bar)))
3390 self.assertTrue(inspect.signature(foo) == inspect.signature(bar))
3391 self.assertFalse(inspect.signature(foo) != inspect.signature(bar))
3393 hash(inspect.signature(foo)), hash(inspect.signature(bar)))
3396 S = inspect.Signature
3397 P = inspect.Parameter
3400 foo_sig = inspect.signature(foo)
3409 self.assertNotEqual(hash(foo_sig), hash(inspect.signature(bar)))
3413 hash(inspect.signature(foo))
3417 hash(inspect.signature(foo))
3422 self.assertEqual(str(inspect.signature(foo)),
3427 self.assertEqual(str(inspect.signature(foo)),
3432 self.assertEqual(str(inspect.signature(foo)), '()')
3436 self.assertEqual(str(inspect.signature(foo)),
3442 self.assertEqual(str(inspect.signature(foo)),
3446 P = inspect.Parameter
3447 S = inspect.Signature
3452 self.assertEqual(str(inspect.signature(test)),
3472 sig = inspect.signature(test)
3479 self.assertEqual(sig, inspect.signature(test))
3485 spam_param = inspect.Parameter('spam', inspect.Parameter.POSITIONAL_ONLY)
3486 sig = test.__signature__ = inspect.Signature(parameters=(spam_param,))
3487 self.assertEqual(sig, inspect.signature(test))
3506 class MySignature(inspect.Signature): pass
3513 class MySignature(inspect.Signature): pass
3521 class MySignature(inspect.Signature): pass
3527 signature = inspect.signature(fn)
3532 signature = inspect.signature(unsorted_keyword_only_parameters_fn)
3537 p1 = inspect.signature(lambda x, y: None).parameters
3538 p2 = inspect.signature(lambda y, x: None).parameters
3546 for signature_func in (inspect.signature, inspect.Signature.from_callable):
3563 sig = inspect.Signature
3564 par = inspect.Parameter
3565 PORK = inspect.Parameter.POSITIONAL_OR_KEYWORD
3566 for signature_func in (inspect.signature, inspect.Signature.from_callable):
3686 for signature_func in (inspect.signature, inspect.Signature.from_callable):
3688 self.assertEqual(signature_func(foo), inspect.Signature())
3689 self.assertEqual(inspect.get_annotations(foo), {})
3707 self.assertEqual(inspect.signature(D2), inspect.signature(D1))
3712 P = inspect.Parameter
3720 p = inspect.Parameter('foo', default=10,
3721 kind=inspect.Parameter.POSITIONAL_ONLY)
3725 self.assertEqual(p.kind, inspect.Parameter.POSITIONAL_ONLY)
3729 inspect.Parameter('foo', default=10, kind='123')
3732 inspect.Parameter('1', kind=inspect.Parameter.VAR_KEYWORD)
3735 inspect.Parameter('from', kind=inspect.Parameter.VAR_KEYWORD)
3738 inspect.Parameter(None, kind=inspect.Parameter.VAR_KEYWORD)
3742 inspect.Parameter('$', kind=inspect.Parameter.VAR_KEYWORD)
3746 inspect.Parameter('.a', kind=inspect.Parameter.VAR_KEYWORD)
3749 inspect.Parameter('a', default=42,
3750 kind=inspect.Parameter.VAR_KEYWORD)
3753 inspect.Parameter('a', default=42,
3754 kind=inspect.Parameter.VAR_POSITIONAL)
3756 p = inspect.Parameter('a', default=42,
3757 kind=inspect.Parameter.POSITIONAL_OR_KEYWORD)
3759 p.replace(kind=inspect.Parameter.VAR_POSITIONAL)
3765 P = inspect.Parameter
3774 P = inspect.Parameter
3775 p = P('foo', default=42, kind=inspect.Parameter.KEYWORD_ONLY)
3785 kind=inspect.Parameter.KEYWORD_ONLY))
3787 kind=inspect.Parameter.KEYWORD_ONLY))
3790 p = inspect.Parameter('foo', default=42,
3791 kind=inspect.Parameter.KEYWORD_ONLY)
3822 "value <class 'inspect._empty'> "
3831 inspect.Parameter(None, kind=inspect.Parameter.POSITIONAL_ONLY)
3839 inspect.Parameter('.0', kind=inspect.Parameter.POSITIONAL_ONLY)
3841 param = inspect.Parameter(
3842 '.0', kind=inspect.Parameter.POSITIONAL_OR_KEYWORD)
3843 self.assertEqual(param.kind, inspect.Parameter.POSITIONAL_ONLY)
3847 p = inspect.Parameter('spam', kind=inspect.Parameter.KEYWORD_ONLY)
3859 sig = inspect.signature(func)
4024 sig = inspect.signature(test)
4061 sig = inspect.signature(test)
4070 sig = inspect.signature(test)
4081 sig = inspect.signature(test)
4100 sig = inspect.signature(foo)
4110 ba = inspect.signature(foo).bind(1)
4117 ba = inspect.signature(foo).bind(1)
4123 ba2 = inspect.signature(foo).bind(1)
4127 ba3 = inspect.signature(foo).bind(2)
4135 ba4 = inspect.signature(bar).bind(1)
4140 sig = inspect.signature(foo)
4148 sig = inspect.signature(foo)
4158 sig = inspect.signature(foo)
4164 sig = inspect.signature(foo)
4183 sig = inspect.signature(foo)
4192 sig = inspect.signature(foo)
4199 sig = inspect.signature(foo)
4206 ba = inspect.signature(foo).bind(1)
4215 inspect._signature_strip_non_python_syntax(input)
4276 # introspection support to the inspect module
4315 self.assertIsNotNone(inspect.signature(obj))
4328 sig = inspect.signature(func)
4333 sig = inspect.signature(func)
4337 sig = inspect.signature(func)
4341 sig = inspect.signature(func)
4346 inspect.signature(func)
4347 func.__text_signature__ = '(self, x=sys, y=inspect)'
4349 inspect.signature(func)
4352 inspect.signature(func)
4362 sig = inspect.signature(MyBufferedReader)
4385 self.assertIs(inspect.unwrap(wrapper), func)
4396 self.assertIs(inspect.unwrap(wrapper), func)
4408 unwrapped = inspect.unwrap(wrapper,
4416 inspect.unwrap(func1)
4422 inspect.unwrap(func1)
4424 inspect.unwrap(func2)
4432 self.assertIsNone(inspect.unwrap(C()))
4437 inspect.unwrap(obj)
4442 rc, out, err = assert_python_ok('-m', 'inspect',
4446 self.assertEqual(lines[:-1], inspect.getsource(module).splitlines())
4454 inspect.signature(foo)
4459 rc, out, err = assert_python_ok('-m', 'inspect',
4464 inspect.getsource(ThreadPoolExecutor).splitlines())
4468 _, out, err = assert_python_failure('-m', 'inspect',
4476 rc, out, err = assert_python_ok(*args, '-m', 'inspect',
4499 inspected_src = inspect.getsource(source)