コード例 #1
0
 def test_possiblyUninitializedVariables_forLoop(self):
     tree = ast.parse(
         textwrap.dedent(
             """
             def f1():
                 y1 = 0
                 for x1 in [1,2,3,4]:
                     y1 = y1 + x1
                 else:
                     x1 = -1
                 return (y1,x1)
             def f2():
                 y2 = 0
                 x2 = 0
                 for x2 in [1,2,3,4]:
                     y2 = y2 + x2
                 else:
                     x2 = -1
                 return (y2,x2)
             def f3():
                 y3 = 0
                 while f1() :
                     x3 = 1
                     y3 = y3 + x3
                 else:
                     x3 = -1
                 return (y3,x3)
             """
             )
         )
     expectedResult = set(['x1', 'x3'])
     self.assertEqual(
         expectedResult,
         PyAstUninstantiatedVariablesAnalysis.collectPossiblyUninitializedLocalVariables(tree)
     )
コード例 #2
0
 def test_possiblyUninitializedVariables_CompsAndGenExp2(self):
     tree = ast.parse(
         textwrap.dedent(
             """
             [elt01 for elt1 in container1]
             {elt02 for elt2 in container2}
             {elt03: elt04 for elt4 in container4 for elt3 in container3}
             (x0*y0 for x in range(10) for y in bar(x))
             """
             )
         )
     expectedResult = set([])
     self.assertEqual(
         expectedResult,
         PyAstUninstantiatedVariablesAnalysis.collectPossiblyUninitializedLocalVariables(tree)
     )