(command.CommandList
  children: [
    (command.ShFunction
      name: test_run_not_running
      body: 
        (BraceGroup
          children: [
            (C {<typeset>} {<-a>} {<Id.Lit_VarLike 'errs='> (sh_array_literal left:<Id.Op_LParen _>)})
            (command.ShFunction
              name: _Dbg_errmsg
              body: 
                (BraceGroup
                  children: [
                    (command.Sentence
                      child: 
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:errs)
                              op: assign_op.PlusEqual
                              rhs: {($ Id.VSub_Number '$1')}
                              spids: [29]
                            )
                          ]
                        )
                      terminator: <Id.Op_Semi _>
                    )
                  ]
                )
            )
            (C {<typeset>} {<-i>} {<Id.Lit_VarLike '_Dbg_running='> <1>})
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:_Dbg_running)
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [44]
                )
              ]
            )
            (C {<_Dbg_not_running>})
            (C {<assertFalse>} {(SQ <'Should report running.'>)} {(DQ ($ Id.VSub_QMark '$?'))})
            (C {<assertEquals>} {<0>} 
              {
                (braced_var_sub
                  token: <Id.VSub_Name errs>
                  prefix_op: (Id.VSub_Pound)
                  bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At)
                )
              }
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:_Dbg_running)
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [75]
                )
              ]
            )
            (C {<_Dbg_not_running>})
            (C {<assertTrue>} {(SQ <'Should report not running.'>)} {(DQ ($ Id.VSub_QMark '$?'))})
            (C {<assertEquals>} {<1>} 
              {
                (braced_var_sub
                  token: <Id.VSub_Name errs>
                  prefix_op: (Id.VSub_Pound)
                  bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At)
                )
              }
            )
          ]
        )
    )
    (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: [108]
        )
      ]
    )
    (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: [114]
        )
      ]
    )
    (C {<.>} {(${ Id.VSub_Name abs_top_srcdir) <'test/unit/helper.sh'>})
    (C {<.>} {(${ Id.VSub_Name abs_top_srcdir) <'/lib/run.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)})
      ]
    )
  ]
)