(command.CommandList
  children: [
    (command.ShFunction
      name: test_parse_list_args
      body: 
        (BraceGroup
          children: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:_Dbg_frame_last_filename)
                  op: assign_op.Equal
                  rhs: {(SQ <testing>)}
                  spids: [18]
                )
              ]
            )
            (C {<typeset>} {<-i>} {<_Dbg_frame_last_lineno>})
            (C {<typeset>} {<-i>} {<_Dbg_set_listsize>})
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:_Dbg_set_listsize)
                  op: assign_op.Equal
                  rhs: {<12>}
                  spids: [38]
                )
              ]
            )
            (C {<typeset>} {<-i>} {<_Dbg_frame_last_lineno>})
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:_Dbg_frame_last_lineno)
                  op: assign_op.Equal
                  rhs: {<3>}
                  spids: [49]
                )
              ]
            )
            (C {<typeset>} {<filename>})
            (C {<typeset>} {<end_line>})
            (C {<_Dbg_parse_list_args>})
            (C {<assertEquals>} {<1>} {($ Id.VSub_QMark '$?')})
            (C {<_Dbg_parse_list_args>} {(DQ <foo>)})
            (C {<assertEquals>} {<1>} {($ Id.VSub_QMark '$?')})
            (C {<_Dbg_parse_list_args>} {<0>} {<100>} 
              {(DQ ($ Id.VSub_DollarName '$_Dbg_frame_last_filename'))}
            )
            (C {<assertEquals>} {(DQ ($ Id.VSub_DollarName '$_Dbg_frame_last_filename'))} 
              {(DQ ($ Id.VSub_DollarName '$filename'))}
            )
            (C {<assertEquals>} {<1>} {(DQ ($ Id.VSub_DollarName '$_Dbg_listline'))})
            (C {<assertEquals>} {<12>} {(DQ ($ Id.VSub_DollarName '$end_line'))})
            (C {<_Dbg_parse_list_args>} {<0>} {<100>} 
              {(DQ ($ Id.VSub_DollarName '$_Dbg_frame_last_filename'))} {<15>}
            )
            (C {<assertEquals>} {(DQ ($ Id.VSub_DollarName '$_Dbg_frame_last_filename'))} 
              {(DQ ($ Id.VSub_DollarName '$filename'))}
            )
            (C {<assertEquals>} {<9>} {(DQ ($ Id.VSub_DollarName '$_Dbg_listline'))})
            (C {<assertEquals>} 
              {
                (word_part.ArithSub
                  anode: 
                    (arith_expr.Binary
                      op_id: Id.Arith_Minus
                      left: 
                        (arith_expr.Binary
                          op_id: Id.Arith_Plus
                          left: {<Id.Lit_Digits 9>}
                          right: <Id.Lit_ArithVarLike _Dbg_set_listsize>
                        )
                      right: {<Id.Lit_Digits 1>}
                    )
                )
              } {(DQ ($ Id.VSub_DollarName '$end_line'))}
            )
            (C {<_Dbg_parse_list_args>} {<0>} {<100>} 
              {(DQ ($ Id.VSub_DollarName '$_Dbg_frame_last_filename'))} {<20>} {<3>}
            )
            (C {<assertEquals>} {(DQ ($ Id.VSub_DollarName '$_Dbg_frame_last_filename'))} 
              {(DQ ($ Id.VSub_DollarName '$filename'))}
            )
            (C {<assertEquals>} {<19>} {(DQ ($ Id.VSub_DollarName '$_Dbg_listline'))})
            (C {<assertEquals>} 
              {
                (word_part.ArithSub
                  anode: 
                    (arith_expr.Binary
                      op_id: Id.Arith_Minus
                      left: 
                        (arith_expr.Binary
                          op_id: Id.Arith_Plus
                          left: {<Id.Lit_Digits 19>}
                          right: {<Id.Lit_Digits 3>}
                        )
                      right: {<Id.Lit_Digits 1>}
                    )
                )
              } {(DQ ($ Id.VSub_DollarName '$end_line'))}
            )
            (C {<_Dbg_parse_list_args>} {<0>} {<100>} 
              {(DQ ($ Id.VSub_DollarName '$_Dbg_frame_last_filename'))} {<10> <Id.Lit_Other '+'> <20>} {<35>}
            )
            (C {<assertEquals>} {(DQ ($ Id.VSub_DollarName '$_Dbg_frame_last_filename'))} 
              {(DQ ($ Id.VSub_DollarName '$filename'))}
            )
            (C {<assertEquals>} {<30>} {(DQ ($ Id.VSub_DollarName '$_Dbg_listline'))})
            (C {<assertEquals>} {<35>} {(DQ ($ Id.VSub_DollarName '$end_line'))})
            (C {<_Dbg_parse_list_args>} {<0>} {<100>} 
              {(DQ ($ Id.VSub_DollarName '$_Dbg_frame_last_filename'))} {(SQ <.>)}
            )
            (C {<assertEquals>} {<1>} {(DQ ($ Id.VSub_DollarName '$_Dbg_listline'))})
            (C {<assertEquals>} {<12>} {(DQ ($ Id.VSub_DollarName '$end_line'))})
            (C {<_Dbg_parse_list_args>} {<0>} {<100>} 
              {(DQ ($ Id.VSub_DollarName '$_Dbg_frame_last_filename'))} {<-5>}
            )
            (C {<assertEquals>} {<90>} {(DQ ($ Id.VSub_DollarName '$_Dbg_listline'))})
            (C {<_Dbg_parse_list_args>} {<0>} {<100>} 
              {(DQ ($ Id.VSub_DollarName '$_Dbg_frame_last_filename'))} {<5>} {<-5>}
            )
            (C {<assertEquals>} {<96>} {(DQ ($ Id.VSub_DollarName '$end_line'))})
            (C {<_Dbg_parse_list_args>} {<1>} {<100>} 
              {(DQ ($ Id.VSub_DollarName '$_Dbg_frame_last_filename'))} {<10>}
            )
            (C {<assertEquals>} 
              {
                (word_part.ArithSub
                  anode: 
                    (arith_expr.Binary
                      op_id: Id.Arith_Minus
                      left: {<Id.Lit_Digits 10>}
                      right: {<Id.Lit_Digits 6>}
                    )
                )
              } {(DQ ($ Id.VSub_DollarName '$_Dbg_listline'))}
            )
          ]
        )
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:abs_top_srcdir)
          op: assign_op.Equal
          rhs: {<'/src/external-vcs/sourceforge/bashdb'>}
          spids: [435]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:abs_top_srcdir)
          op: assign_op.Equal
          rhs: 
            {
              (braced_var_sub
                token: <Id.VSub_Name abs_top_srcdir>
                suffix_op: (suffix_op.Unary tok:<Id.VOp1_DPercent '%%'> arg_word:{<Id.Lit_Slash '/'>})
              ) <'/'>
            }
          spids: [441]
        )
      ]
    )
    (C {<.>} {(${ Id.VSub_Name abs_top_srcdir) <'test/unit/helper.sh'>})
    (C {<.>} {($ Id.VSub_DollarName '$abs_top_srcdir') <'/lib/list.sh'>})
    (C {<set>} {<-->})
    (command.AndOr
      ops: [Id.Op_DAmp]
      children: [
        (command.DBracket
          expr: 
            (bool_expr.Binary
              op_id: Id.BoolBinary_GlobDEqual
              left: {($ Id.VSub_Number '$0')}
              right: {(${ Id.VSub_Name BASH_SOURCE)}
            )
        )
        (C {<.>} {(${ Id.VSub_Name shunit_file)})
      ]
    )
  ]
)