@@ -1446,6 +1446,28 @@ def test_name_constant_if(self):
14461446 self .assertEqual (expected_label , actual_label )
14471447
14481448
1449+ class CFGAsync (CFGBaseTestCase ):
1450+ def test_await_keyword_treated_as_if_absent (self ):
1451+ self .cfg_create_from_file ('examples/example_inputs/asynchronous.py' )
1452+ enter_g = 8
1453+ call_x = 9
1454+ ret_g = 10
1455+ exit_g = 11
1456+ call_ret_val = 12
1457+ set_z_to_g_ret_val = 13
1458+ 1459+ for i in range (enter_g , set_z_to_g_ret_val + 1 ):
1460+ self .assertIn (self .cfg .nodes [i ], self .cfg .nodes [i + 1 ].ingoing )
1461+ self .assertIn (self .cfg .nodes [i + 1 ], self .cfg .nodes [i ].outgoing )
1462+ 1463+ self .assertIsInstance (self .cfg .nodes [enter_g ], EntryOrExitNode )
1464+ self .assertEqual (self .cfg .nodes [call_x ].label , '~call_3 = ret_x()' )
1465+ self .assertEqual (self .cfg .nodes [ret_g ].label , 'ret_g = ~call_3' )
1466+ self .assertIsInstance (self .cfg .nodes [exit_g ], EntryOrExitNode )
1467+ self .assertEqual (self .cfg .nodes [call_ret_val ].label , '~call_2 = ret_g' )
1468+ self .assertEqual (self .cfg .nodes [set_z_to_g_ret_val ].label , 'z = ~call_2' )
1469+ 1470+ 14491471class CFGName (CFGBaseTestCase ):
14501472 """Test is Name nodes are properly handled in different contexts"""
14511473
0 commit comments