blob: 65913e27c7452fd69ad6f7c2afe1a621704bbe93 [file] [log] [blame]
def foo1():
<weak_warning descr="Local variable 'aaa' value is not used">aaa</weak_warning> = 1 #fail
<weak_warning descr="Local variable 'aaa' value is not used">aaa</weak_warning> = 2 #fail
bbb = 1 #pass
<weak_warning descr="Local variable 'bbb' value is not used">bbb</weak_warning> += 2 #fail
def bar(<weak_warning descr="Parameter 'self' value is not used">self</weak_warning>): #fail
print("Foo")
def baz(<weak_warning descr="Parameter 'a' value is not used">a</weak_warning>): #fail
a = 12
print(a)
def boo():
<weak_warning descr="Local variable 'k' value is not used">k</weak_warning> = 1 #fail
[k for k in [1,3] if True]
<weak_warning descr="Local variable 'i' value is not used">i</weak_warning> = 1 #fail
for i in [1,2]:
print(i)
j = 1 #pass
for j in [-2, -1]:
print(j)
print (j)
class A:
def foo(self): #pass
pass
def baa():
foo.bar = 123 #pass
def bla(x): #pass
def _bar():
print x
return _bar
def main():
foo = "foo" #pass
bar = "bar" #pass
baz = "baz" #pass
print "%(foo)s=%(bar)s" % locals()
def bar(arg): #pass
foo = 1 #pass
def <weak_warning descr="Local function 'test' is not used">test</weak_warning>(): #fail
print arg
return foo #pass
class FooBar:
@classmethod
def foo(cls): #pass
pass
args[0] = 123 # pass
def bzzz():
for _ in xrange(1000): # pass
pass
def do_something(local_var):
global global_var
global_var = local_var # pass
def srange(n):
return {i for i in range(n)}
def test_func():
return {(lambda i=py1208: i) for py1208 in range(5)}
def foo():
status = None #pass
try:
status = open('/proc/self/status', 'r')
finally:
if status is not None:
status.close()
foo = lambda <weak_warning descr="Parameter 'x' value is not used">x</weak_warning>: False
class MySuperClass:
def shazam(self, param1, param2): pass
class MySubClass(MySuperClass):
def shazam(self, param1, param2): pass
def test_func():
items = {(lambda i=i: i) for i in range(5)} #pass
return {x() for x in items}
class MyType(type):
def __new__(cls, name, bases, attrs): #pass
if name.startswith('None'):
return None
return super(MyType, cls).__new__(cls, name, bases, newattrs)
def foo(cls): #fail
pass
def test():
d = dict()
v = 1 #pass
try:
v = d['key']
except KeyError:
v = 2
finally:
print v
def foo(<weak_warning descr="Parameter 'a' value is not used">a = 123</weak_warning>): # fail Do not use getText() as parameter name
print('hello')
def loopie():
for x in range(5): pass
for y in xrange(10): pass
def locals_inside():
now = datetime.datetime.now() # pass
do_smth_with(locals())
class Stat(object):
@staticmethod
def woof(<weak_warning descr="Parameter 'dog' value is not used">dog="bark"</weak_warning>): # fail
print('hello')
class A:
def __init__(self, *args): #pass
self.args = []
for a in args:
self.args.append(a)
# PY-2574
def f():
# x in "for" is actually used in "if"
return [0 for x in range(10) if x] #pass
# PY-3031
def f():
# n doesn't leak from the generator expression, so this n is used
n = 1 #pass
expr = (n for n in xrange(10))
print n
return expr
# PY-3118
def f(x):
# Both y values in "if" can be used later in g, so the first one shouldn't be marked as unused
if x:
y = 0 #pass
else:
y = 1 #pass
def g():
return y
return g
# PY-3076
def f():
# Both x values could be used inside g (because there is no inter-procedural CFG)
x = 'foo' #pass
x = 'bar' #pass
def g():
return x
x = 'baz' #pass
return g
# PY-2418
def f(x):
# The list shouldn't be marked as unused
if isinstance(x, [tuple, list]): #pass
pass
# PY-3550
def f():
z = 2 #pass
def g(z=z):
return z
return g
# PY-4151
def f(g):
x = 1 #pass
try:
x = g()
except Exception:
pass
else:
pass
print(x)
# PY-4154
def a1():
<weak_warning descr="Local variable 'a' value is not used">a</weak_warning> = 1 #fail
try:
a = 2
except Exception:
a = 3
print(a)
# PY-4157
def f(g):
x = 1 #pass
try:
pass
except Exception:
pass
else:
x = g()
print(x)
# PY-4147
def f(x, y, z):
class C:
foo = x #pass
def h(self):
return z
def g():
return y
return C, g
# PY-4378
def f(c):
try:
x = c['foo']
except KeyError:
if c:
x = 42 #pass
else:
raise
except Exception:
raise
return x
# PY-5755
def test_same_named_variable_inside_class():
a = 1 #pass
class C:
def a(self):
print(a)
return C
# PY-5086
def test_only_name_in_local_class():
x = 1
class <weak_warning descr="Local class 'C' is not used">C</weak_warning>:
pass
return x
# PY-7028
class C:
def test_unused_params_in_empty_method_1(self, x, y, z):
pass
def test_unused_params_in_empty_method_2(self, x, y, z):
raise Exception()
def test_unused_params_in_empty_method_3(self, x, y, z):
"""Docstring."""
def test_unused_params_in_empty_method_4(self, x, y, z):
"""Docstring."""
raise Exception()
def test_unused_params_in_empty_method_5(self, x, y, z):
"""Docstring."""
return
# PY-7126
def test_unused_empty_function(<weak_warning descr="Parameter 'x' value is not used">x</weak_warning>):
pass
# PY-7072
def test_unused_variable_in_cycle(x, c):
while x > 0:
x -= 1 #pass
if c:
break
# PY-7517
def test_unused_condition_local_with_last_if_in_cycle(c):
x = True
while x:
x = False #pass
if c:
x = True
# PY-7527
def test_unused_empty_init_parameter():
class C(object):
def __init__(self, <weak_warning descr="Parameter 'foo' value is not used">foo</weak_warning>):
pass
def f(self, bar):
pass
return C