annotate Lib/test/inspect_fodder2.py @ 87690:66c1c9f32567 default tip

Add use_weakref option to functools.lru_cache The use_weakref option makes lru_cache create weak references to the function arguments when creating the cache key, which prevents them from staying in the memory forever even after all other references to them are gone. This is a proof of concept for http://bugs.python.org/issue19859
author Radomir Dopieralski <devel@sheep.art.pl>
date Tue, 03 Dec 2013 16:02:48 +0100
parents 0b1a8f56117a
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
34151
de4701fc176f Patch #736962: port test_inspect to unittest. As part of this, move out
Johannes Gijsbers <jlg@dds.nl>
parents:
diff changeset
1 # line 1
de4701fc176f Patch #736962: port test_inspect to unittest. As part of this, move out
Johannes Gijsbers <jlg@dds.nl>
parents:
diff changeset
2 def wrap(foo=None):
34358
b1a84233d855 Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents: 34152
diff changeset
3 def wrapper(func):
b1a84233d855 Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents: 34152
diff changeset
4 return func
b1a84233d855 Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents: 34152
diff changeset
5 return wrapper
34151
de4701fc176f Patch #736962: port test_inspect to unittest. As part of this, move out
Johannes Gijsbers <jlg@dds.nl>
parents:
diff changeset
6
de4701fc176f Patch #736962: port test_inspect to unittest. As part of this, move out
Johannes Gijsbers <jlg@dds.nl>
parents:
diff changeset
7 # line 7
de4701fc176f Patch #736962: port test_inspect to unittest. As part of this, move out
Johannes Gijsbers <jlg@dds.nl>
parents:
diff changeset
8 def replace(func):
34358
b1a84233d855 Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents: 34152
diff changeset
9 def insteadfunc():
40775
4cdf21a0dbbc Fix most trivially-findable print statements.
Guido van Rossum <guido@python.org>
parents: 39610
diff changeset
10 print('hello')
34358
b1a84233d855 Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents: 34152
diff changeset
11 return insteadfunc
34151
de4701fc176f Patch #736962: port test_inspect to unittest. As part of this, move out
Johannes Gijsbers <jlg@dds.nl>
parents:
diff changeset
12
de4701fc176f Patch #736962: port test_inspect to unittest. As part of this, move out
Johannes Gijsbers <jlg@dds.nl>
parents:
diff changeset
13 # line 13
de4701fc176f Patch #736962: port test_inspect to unittest. As part of this, move out
Johannes Gijsbers <jlg@dds.nl>
parents:
diff changeset
14 @wrap()
de4701fc176f Patch #736962: port test_inspect to unittest. As part of this, move out
Johannes Gijsbers <jlg@dds.nl>
parents:
diff changeset
15 @wrap(wrap)
de4701fc176f Patch #736962: port test_inspect to unittest. As part of this, move out
Johannes Gijsbers <jlg@dds.nl>
parents:
diff changeset
16 def wrapped():
34358
b1a84233d855 Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents: 34152
diff changeset
17 pass
34151
de4701fc176f Patch #736962: port test_inspect to unittest. As part of this, move out
Johannes Gijsbers <jlg@dds.nl>
parents:
diff changeset
18
de4701fc176f Patch #736962: port test_inspect to unittest. As part of this, move out
Johannes Gijsbers <jlg@dds.nl>
parents:
diff changeset
19 # line 19
de4701fc176f Patch #736962: port test_inspect to unittest. As part of this, move out
Johannes Gijsbers <jlg@dds.nl>
parents:
diff changeset
20 @replace
de4701fc176f Patch #736962: port test_inspect to unittest. As part of this, move out
Johannes Gijsbers <jlg@dds.nl>
parents:
diff changeset
21 def gone():
34358
b1a84233d855 Whitespace normalization.
Tim Peters <tim.peters@gmail.com>
parents: 34152
diff changeset
22 pass
34152
bbdaacc44f6f Patch #1011890: fix inspect.getsource breaking with line-continuation &
Johannes Gijsbers <jlg@dds.nl>
parents: 34151
diff changeset
23
bbdaacc44f6f Patch #1011890: fix inspect.getsource breaking with line-continuation &
Johannes Gijsbers <jlg@dds.nl>
parents: 34151
diff changeset
24 # line 24
bbdaacc44f6f Patch #1011890: fix inspect.getsource breaking with line-continuation &
Johannes Gijsbers <jlg@dds.nl>
parents: 34151
diff changeset
25 oll = lambda m: m
bbdaacc44f6f Patch #1011890: fix inspect.getsource breaking with line-continuation &
Johannes Gijsbers <jlg@dds.nl>
parents: 34151
diff changeset
26
bbdaacc44f6f Patch #1011890: fix inspect.getsource breaking with line-continuation &
Johannes Gijsbers <jlg@dds.nl>
parents: 34151
diff changeset
27 # line 27
bbdaacc44f6f Patch #1011890: fix inspect.getsource breaking with line-continuation &
Johannes Gijsbers <jlg@dds.nl>
parents: 34151
diff changeset
28 tll = lambda g: g and \
bbdaacc44f6f Patch #1011890: fix inspect.getsource breaking with line-continuation &
Johannes Gijsbers <jlg@dds.nl>
parents: 34151
diff changeset
29 g and \
bbdaacc44f6f Patch #1011890: fix inspect.getsource breaking with line-continuation &
Johannes Gijsbers <jlg@dds.nl>
parents: 34151
diff changeset
30 g
bbdaacc44f6f Patch #1011890: fix inspect.getsource breaking with line-continuation &
Johannes Gijsbers <jlg@dds.nl>
parents: 34151
diff changeset
31
bbdaacc44f6f Patch #1011890: fix inspect.getsource breaking with line-continuation &
Johannes Gijsbers <jlg@dds.nl>
parents: 34151
diff changeset
32 # line 32
bbdaacc44f6f Patch #1011890: fix inspect.getsource breaking with line-continuation &
Johannes Gijsbers <jlg@dds.nl>
parents: 34151
diff changeset
33 tlli = lambda d: d and \
bbdaacc44f6f Patch #1011890: fix inspect.getsource breaking with line-continuation &
Johannes Gijsbers <jlg@dds.nl>
parents: 34151
diff changeset
34 d
bbdaacc44f6f Patch #1011890: fix inspect.getsource breaking with line-continuation &
Johannes Gijsbers <jlg@dds.nl>
parents: 34151
diff changeset
35
bbdaacc44f6f Patch #1011890: fix inspect.getsource breaking with line-continuation &
Johannes Gijsbers <jlg@dds.nl>
parents: 34151
diff changeset
36 # line 36
bbdaacc44f6f Patch #1011890: fix inspect.getsource breaking with line-continuation &
Johannes Gijsbers <jlg@dds.nl>
parents: 34151
diff changeset
37 def onelinefunc(): pass
bbdaacc44f6f Patch #1011890: fix inspect.getsource breaking with line-continuation &
Johannes Gijsbers <jlg@dds.nl>
parents: 34151
diff changeset
38
bbdaacc44f6f Patch #1011890: fix inspect.getsource breaking with line-continuation &
Johannes Gijsbers <jlg@dds.nl>
parents: 34151
diff changeset
39 # line 39
bbdaacc44f6f Patch #1011890: fix inspect.getsource breaking with line-continuation &
Johannes Gijsbers <jlg@dds.nl>
parents: 34151
diff changeset
40 def manyargs(arg1, arg2,
bbdaacc44f6f Patch #1011890: fix inspect.getsource breaking with line-continuation &
Johannes Gijsbers <jlg@dds.nl>
parents: 34151
diff changeset
41 arg3, arg4): pass
bbdaacc44f6f Patch #1011890: fix inspect.getsource breaking with line-continuation &
Johannes Gijsbers <jlg@dds.nl>
parents: 34151
diff changeset
42
bbdaacc44f6f Patch #1011890: fix inspect.getsource breaking with line-continuation &
Johannes Gijsbers <jlg@dds.nl>
parents: 34151
diff changeset
43 # line 43
bbdaacc44f6f Patch #1011890: fix inspect.getsource breaking with line-continuation &
Johannes Gijsbers <jlg@dds.nl>
parents: 34151
diff changeset
44 def twolinefunc(m): return m and \
bbdaacc44f6f Patch #1011890: fix inspect.getsource breaking with line-continuation &
Johannes Gijsbers <jlg@dds.nl>
parents: 34151
diff changeset
45 m
bbdaacc44f6f Patch #1011890: fix inspect.getsource breaking with line-continuation &
Johannes Gijsbers <jlg@dds.nl>
parents: 34151
diff changeset
46
bbdaacc44f6f Patch #1011890: fix inspect.getsource breaking with line-continuation &
Johannes Gijsbers <jlg@dds.nl>
parents: 34151
diff changeset
47 # line 47
bbdaacc44f6f Patch #1011890: fix inspect.getsource breaking with line-continuation &
Johannes Gijsbers <jlg@dds.nl>
parents: 34151
diff changeset
48 a = [None,
bbdaacc44f6f Patch #1011890: fix inspect.getsource breaking with line-continuation &
Johannes Gijsbers <jlg@dds.nl>
parents: 34151
diff changeset
49 lambda x: x,
bbdaacc44f6f Patch #1011890: fix inspect.getsource breaking with line-continuation &
Johannes Gijsbers <jlg@dds.nl>
parents: 34151
diff changeset
50 None]
bbdaacc44f6f Patch #1011890: fix inspect.getsource breaking with line-continuation &
Johannes Gijsbers <jlg@dds.nl>
parents: 34151
diff changeset
51
bbdaacc44f6f Patch #1011890: fix inspect.getsource breaking with line-continuation &
Johannes Gijsbers <jlg@dds.nl>
parents: 34151
diff changeset
52 # line 52
bbdaacc44f6f Patch #1011890: fix inspect.getsource breaking with line-continuation &
Johannes Gijsbers <jlg@dds.nl>
parents: 34151
diff changeset
53 def setfunc(func):
bbdaacc44f6f Patch #1011890: fix inspect.getsource breaking with line-continuation &
Johannes Gijsbers <jlg@dds.nl>
parents: 34151
diff changeset
54 globals()["anonymous"] = func
bbdaacc44f6f Patch #1011890: fix inspect.getsource breaking with line-continuation &
Johannes Gijsbers <jlg@dds.nl>
parents: 34151
diff changeset
55 setfunc(lambda x, y: x*y)
34740
3bb759498767 Patch #1159931/bug #1143895: inspect.getsource failed when functions,
Johannes Gijsbers <jlg@dds.nl>
parents: 34358
diff changeset
56
3bb759498767 Patch #1159931/bug #1143895: inspect.getsource failed when functions,
Johannes Gijsbers <jlg@dds.nl>
parents: 34358
diff changeset
57 # line 57
3bb759498767 Patch #1159931/bug #1143895: inspect.getsource failed when functions,
Johannes Gijsbers <jlg@dds.nl>
parents: 34358
diff changeset
58 def with_comment(): # hello
3bb759498767 Patch #1159931/bug #1143895: inspect.getsource failed when functions,
Johannes Gijsbers <jlg@dds.nl>
parents: 34358
diff changeset
59 world
3bb759498767 Patch #1159931/bug #1143895: inspect.getsource failed when functions,
Johannes Gijsbers <jlg@dds.nl>
parents: 34358
diff changeset
60
3bb759498767 Patch #1159931/bug #1143895: inspect.getsource failed when functions,
Johannes Gijsbers <jlg@dds.nl>
parents: 34358
diff changeset
61 # line 61
3bb759498767 Patch #1159931/bug #1143895: inspect.getsource failed when functions,
Johannes Gijsbers <jlg@dds.nl>
parents: 34358
diff changeset
62 multiline_sig = [
41717
9ad84070b22d Merged revisions 55328-55341 via svnmerge from
Guido van Rossum <guido@python.org>
parents: 40775
diff changeset
63 lambda x, \
9ad84070b22d Merged revisions 55328-55341 via svnmerge from
Guido van Rossum <guido@python.org>
parents: 40775
diff changeset
64 y: x+y,
34740
3bb759498767 Patch #1159931/bug #1143895: inspect.getsource failed when functions,
Johannes Gijsbers <jlg@dds.nl>
parents: 34358
diff changeset
65 None,
3bb759498767 Patch #1159931/bug #1143895: inspect.getsource failed when functions,
Johannes Gijsbers <jlg@dds.nl>
parents: 34358
diff changeset
66 ]
35640
1e7b755194a4 some more fixes and tests for inspect.getsource(), triggered by crashes
Armin Rigo <arigo@tunes.org>
parents: 34740
diff changeset
67
1e7b755194a4 some more fixes and tests for inspect.getsource(), triggered by crashes
Armin Rigo <arigo@tunes.org>
parents: 34740
diff changeset
68 # line 68
1e7b755194a4 some more fixes and tests for inspect.getsource(), triggered by crashes
Armin Rigo <arigo@tunes.org>
parents: 34740
diff changeset
69 def func69():
1e7b755194a4 some more fixes and tests for inspect.getsource(), triggered by crashes
Armin Rigo <arigo@tunes.org>
parents: 34740
diff changeset
70 class cls70:
1e7b755194a4 some more fixes and tests for inspect.getsource(), triggered by crashes
Armin Rigo <arigo@tunes.org>
parents: 34740
diff changeset
71 def func71():
1e7b755194a4 some more fixes and tests for inspect.getsource(), triggered by crashes
Armin Rigo <arigo@tunes.org>
parents: 34740
diff changeset
72 pass
1e7b755194a4 some more fixes and tests for inspect.getsource(), triggered by crashes
Armin Rigo <arigo@tunes.org>
parents: 34740
diff changeset
73 return cls70
1e7b755194a4 some more fixes and tests for inspect.getsource(), triggered by crashes
Armin Rigo <arigo@tunes.org>
parents: 34740
diff changeset
74 extra74 = 74
1e7b755194a4 some more fixes and tests for inspect.getsource(), triggered by crashes
Armin Rigo <arigo@tunes.org>
parents: 34740
diff changeset
75
1e7b755194a4 some more fixes and tests for inspect.getsource(), triggered by crashes
Armin Rigo <arigo@tunes.org>
parents: 34740
diff changeset
76 # line 76
1e7b755194a4 some more fixes and tests for inspect.getsource(), triggered by crashes
Armin Rigo <arigo@tunes.org>
parents: 34740
diff changeset
77 def func77(): pass
1e7b755194a4 some more fixes and tests for inspect.getsource(), triggered by crashes
Armin Rigo <arigo@tunes.org>
parents: 34740
diff changeset
78 (extra78, stuff78) = 'xy'
1e7b755194a4 some more fixes and tests for inspect.getsource(), triggered by crashes
Armin Rigo <arigo@tunes.org>
parents: 34740
diff changeset
79 extra79 = 'stop'
1e7b755194a4 some more fixes and tests for inspect.getsource(), triggered by crashes
Armin Rigo <arigo@tunes.org>
parents: 34740
diff changeset
80
1e7b755194a4 some more fixes and tests for inspect.getsource(), triggered by crashes
Armin Rigo <arigo@tunes.org>
parents: 34740
diff changeset
81 # line 81
1e7b755194a4 some more fixes and tests for inspect.getsource(), triggered by crashes
Armin Rigo <arigo@tunes.org>
parents: 34740
diff changeset
82 class cls82:
1e7b755194a4 some more fixes and tests for inspect.getsource(), triggered by crashes
Armin Rigo <arigo@tunes.org>
parents: 34740
diff changeset
83 def func83(): pass
1e7b755194a4 some more fixes and tests for inspect.getsource(), triggered by crashes
Armin Rigo <arigo@tunes.org>
parents: 34740
diff changeset
84 (extra84, stuff84) = 'xy'
1e7b755194a4 some more fixes and tests for inspect.getsource(), triggered by crashes
Armin Rigo <arigo@tunes.org>
parents: 34740
diff changeset
85 extra85 = 'stop'
1e7b755194a4 some more fixes and tests for inspect.getsource(), triggered by crashes
Armin Rigo <arigo@tunes.org>
parents: 34740
diff changeset
86
1e7b755194a4 some more fixes and tests for inspect.getsource(), triggered by crashes
Armin Rigo <arigo@tunes.org>
parents: 34740
diff changeset
87 # line 87
1e7b755194a4 some more fixes and tests for inspect.getsource(), triggered by crashes
Armin Rigo <arigo@tunes.org>
parents: 34740
diff changeset
88 def func88():
1e7b755194a4 some more fixes and tests for inspect.getsource(), triggered by crashes
Armin Rigo <arigo@tunes.org>
parents: 34740
diff changeset
89 # comment
1e7b755194a4 some more fixes and tests for inspect.getsource(), triggered by crashes
Armin Rigo <arigo@tunes.org>
parents: 34740
diff changeset
90 return 90
39610
3674f20ac781 Merge current trunk into p3yk. This includes the PyNumber_Index API change,
Thomas Wouters <thomas@python.org>
parents: 35640
diff changeset
91
3674f20ac781 Merge current trunk into p3yk. This includes the PyNumber_Index API change,
Thomas Wouters <thomas@python.org>
parents: 35640
diff changeset
92 # line 92
3674f20ac781 Merge current trunk into p3yk. This includes the PyNumber_Index API change,
Thomas Wouters <thomas@python.org>
parents: 35640
diff changeset
93 def f():
3674f20ac781 Merge current trunk into p3yk. This includes the PyNumber_Index API change,
Thomas Wouters <thomas@python.org>
parents: 35640
diff changeset
94 class X:
3674f20ac781 Merge current trunk into p3yk. This includes the PyNumber_Index API change,
Thomas Wouters <thomas@python.org>
parents: 35640
diff changeset
95 def g():
3674f20ac781 Merge current trunk into p3yk. This includes the PyNumber_Index API change,
Thomas Wouters <thomas@python.org>
parents: 35640
diff changeset
96 "doc"
3674f20ac781 Merge current trunk into p3yk. This includes the PyNumber_Index API change,
Thomas Wouters <thomas@python.org>
parents: 35640
diff changeset
97 return 42
3674f20ac781 Merge current trunk into p3yk. This includes the PyNumber_Index API change,
Thomas Wouters <thomas@python.org>
parents: 35640
diff changeset
98 return X
44021
ff5df1fc0fcc Patch from Georg Brandl and me for #1493
Christian Heimes <christian@cheimes.de>
parents: 43796
diff changeset
99 method_in_dynamic_class = f().g
43796
7022affd7bd0 Applied patch #1127 from Quentin Gallet Gilles: No tests for inspect.getfullargspec()
Christian Heimes <christian@cheimes.de>
parents: 41717
diff changeset
100
7022affd7bd0 Applied patch #1127 from Quentin Gallet Gilles: No tests for inspect.getfullargspec()
Christian Heimes <christian@cheimes.de>
parents: 41717
diff changeset
101 #line 101
7022affd7bd0 Applied patch #1127 from Quentin Gallet Gilles: No tests for inspect.getfullargspec()
Christian Heimes <christian@cheimes.de>
parents: 41717
diff changeset
102 def keyworded(*arg1, arg2=1):
7022affd7bd0 Applied patch #1127 from Quentin Gallet Gilles: No tests for inspect.getfullargspec()
Christian Heimes <christian@cheimes.de>
parents: 41717
diff changeset
103 pass
7022affd7bd0 Applied patch #1127 from Quentin Gallet Gilles: No tests for inspect.getfullargspec()
Christian Heimes <christian@cheimes.de>
parents: 41717
diff changeset
104
7022affd7bd0 Applied patch #1127 from Quentin Gallet Gilles: No tests for inspect.getfullargspec()
Christian Heimes <christian@cheimes.de>
parents: 41717
diff changeset
105 #line 105
7022affd7bd0 Applied patch #1127 from Quentin Gallet Gilles: No tests for inspect.getfullargspec()
Christian Heimes <christian@cheimes.de>
parents: 41717
diff changeset
106 def annotated(arg1: list):
7022affd7bd0 Applied patch #1127 from Quentin Gallet Gilles: No tests for inspect.getfullargspec()
Christian Heimes <christian@cheimes.de>
parents: 41717
diff changeset
107 pass
50817
0b1a8f56117a fix inspect.formatargspec on functions with keyword-only arguments without defaults #4959
Benjamin Peterson <benjamin@python.org>
parents: 44021
diff changeset
108
0b1a8f56117a fix inspect.formatargspec on functions with keyword-only arguments without defaults #4959
Benjamin Peterson <benjamin@python.org>
parents: 44021
diff changeset
109 #line 109
0b1a8f56117a fix inspect.formatargspec on functions with keyword-only arguments without defaults #4959
Benjamin Peterson <benjamin@python.org>
parents: 44021
diff changeset
110 def keyword_only_arg(*, arg):
0b1a8f56117a fix inspect.formatargspec on functions with keyword-only arguments without defaults #4959
Benjamin Peterson <benjamin@python.org>
parents: 44021
diff changeset
111 pass