(command.CommandList children: [ (command.ShFunction name: check body: (BraceGroup children: [ (command.If arms: [ (if_arm cond: [ (command.Pipeline children: [ (C {<grep>} {<-q>} {(DQ ($ Id.VSub_Number '$2'))} {(DQ ($ Id.VSub_Number '$1'))}) ] negated: T ) ] action: [ (C {<echo>} {(DQ <'Did not find expected output:'>)}) (C {<echo>} {(DQ <' '> ($ Id.VSub_Number '$2'))}) (C {<echo>} {(DQ )}) (C {<echo>} {(DQ <'Actual error output below:'>)}) (C {<cat>} {(DQ ($ Id.VSub_Number '$1'))}) (command.ControlFlow token: <Id.ControlFlow_Exit exit> arg_word: {<1>} ) ] spids: [65 82] ) ] ) ] ) ) (command.ShFunction name: check_num body: (BraceGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:n) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<grep>} {<-c>} {(DQ ($ Id.VSub_Number '$2'))} {(DQ ($ Id.VSub_Number '$1'))}) ) } spids: [137] ) ] ) (command.If arms: [ (if_arm cond: [ (C {<test>} {(DQ ($ Id.VSub_DollarName '$n'))} {<-ne>} {(DQ ($ Id.VSub_Number '$3'))}) ] action: [ (C {<echo>} { (DQ <'Found '> ($ Id.VSub_DollarName '$n') <' occurrences (should find '> ($ Id.VSub_Number '$3') <'):'> ) } ) (C {<echo>} {(DQ <' '> ($ Id.VSub_Number '$2'))}) (C {<echo>} {(DQ )}) (C {<echo>} {(DQ <'Actual error output below:'>)}) (C {<cat>} {(DQ ($ Id.VSub_Number '$1'))}) (command.ControlFlow token: <Id.ControlFlow_Exit exit> arg_word: {<1>} ) ] spids: [153 168] ) ] ) ] ) ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:STDOUT) op: assign_op.Equal rhs: {(DQ <dwp_test_2.stdout>)} spids: [220] ) ] ) (C {<check>} {($ Id.VSub_DollarName '$STDOUT')} {(DQ <'^Contents of the .debug_info.dwo section'>)}) (C {<check_num>} {($ Id.VSub_DollarName '$STDOUT')} {(DQ <DW_TAG_compile_unit>)} {<4>}) (C {<check_num>} {($ Id.VSub_DollarName '$STDOUT')} {(DQ <DW_TAG_type_unit>)} {<3>}) (C {<check_num>} {($ Id.VSub_DollarName '$STDOUT')} {(DQ <'DW_AT_name.*: C1'>)} {<3>}) (C {<check_num>} {($ Id.VSub_DollarName '$STDOUT')} {(DQ <'DW_AT_name.*: C2'>)} {<2>}) (C {<check_num>} {($ Id.VSub_DollarName '$STDOUT')} {(DQ <'DW_AT_name.*: C3'>)} {<3>}) (C {<check_num>} {($ Id.VSub_DollarName '$STDOUT')} {(DQ <'DW_AT_name.*: testcase1'>)} {<6>}) (C {<check_num>} {($ Id.VSub_DollarName '$STDOUT')} {(DQ <'DW_AT_name.*: testcase2'>)} {<6>}) (C {<check_num>} {($ Id.VSub_DollarName '$STDOUT')} {(DQ <'DW_AT_name.*: testcase3'>)} {<6>}) (C {<check_num>} {($ Id.VSub_DollarName '$STDOUT')} {(DQ <'DW_AT_name.*: testcase4'>)} {<4>}) ] )