(command.CommandList children: [ (C {(set)} {(-e)}) (command.CommandList children: [ (command.Sentence child: (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:common_objpfx spids:[54]) op: Equal rhs: {($ VSub_Number '$1')} spids: [54] ) ] spids: [54] ) terminator: <Op_Semi ';'> ) (C {(shift)}) ] ) (command.CommandList children: [ (command.Sentence child: (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:test_program_prefix_before_env spids:[60]) op: Equal rhs: {($ VSub_Number '$1')} spids: [60] ) ] spids: [60] ) terminator: <Op_Semi ';'> ) (C {(shift)}) ] ) (command.CommandList children: [ (command.Sentence child: (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:run_program_env spids:[66]) op: Equal rhs: {($ VSub_Number '$1')} spids: [66] ) ] spids: [66] ) terminator: <Op_Semi ';'> ) (C {(shift)}) ] ) (command.CommandList children: [ (command.Sentence child: (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:test_program_prefix_after_env spids:[72]) op: Equal rhs: {($ VSub_Number '$1')} spids: [72] ) ] spids: [72] ) terminator: <Op_Semi ';'> ) (C {(shift)}) ] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:status spids:[79]) op: Equal rhs: {(0)} spids: [79] ) ] spids: [79] ) (C {(trap)} {(DQ ('rm -f ') (${ VSub_Name common_objpfx) ('malloc/tst-mtrace.leak; exit 1'))} {(1)} {(2)} {(15)} ) (command.AndOr ops: [Op_DPipe] children: [ (C {(${ VSub_Name test_program_prefix_before_env)} {(${ VSub_Name run_program_env)} {(Lit_VarLike 'MALLOC_TRACE=') (${ VSub_Name common_objpfx) (malloc/tst-mtrace.leak)} {(${ VSub_Name test_program_prefix_after_env)} {(${ VSub_Name common_objpfx) (malloc/tst-mtrace)} ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:status spids:[129]) op: Equal rhs: {(1)} spids: [129] ) ] spids: [129] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.AndOr ops: [Op_DAmp] children: [ (C {(test)} {($ VSub_DollarName '$status')} {(-eq)} {(0)}) (C {(test)} {(-f)} {(${ VSub_Name common_objpfx) (malloc/mtrace)}) ] ) terminator: <Op_Semi ';'> ) ] action: [ (command.AndOr ops: [Op_DPipe] children: [ (command.SimpleCommand words: [ {(${ VSub_Name common_objpfx) (malloc/mtrace)} {(${ VSub_Name common_objpfx) (malloc/tst-mtrace.leak)} ] redirects: [ (redir.Redir op: <Redir_Great '>'> fd: 16777215 arg_word: {(${ VSub_Name common_objpfx) (malloc/tst-mtrace.out)} ) ] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:status spids:[178]) op: Equal rhs: {(1)} spids: [178] ) ] spids: [178] ) ] ) ] spids: [16777215 155] ) ] spids: [16777215 181] ) (C {(rm)} {(-f)} {(${ VSub_Name common_objpfx) (malloc/tst-mtrace.leak)}) (command.ControlFlow token:<ControlFlow_Exit exit> arg_word:{($ VSub_DollarName '$status')}) ] )