(CommandList
  children: [
    (Sentence
      child: 
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:asserts) op:Equal rhs:{(00)} spids:[71])]
          spids: [71]
        )
      terminator: <Op_Semi ';'>
    )
    (Sentence
      child: 
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:errors) op:Equal rhs:{(0)} spids:[75])]
          spids: [75]
        )
      terminator: <Op_Semi ';'>
    )
    (Sentence
      child: 
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:total) op:Equal rhs:{(0)} spids:[79])]
          spids: [79]
        )
      terminator: <Op_Semi ';'>
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:content) op:Equal rhs:{(DQ )} spids:[83])]
      spids: [83]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:date)
          op: Equal
          rhs: 
            {
              (CommandSubPart
                command_list: 
                  (CommandList
                    children: [
                      (AndOr
                        children: [
                          (SimpleCommand
                            words: [{(which)} {(gdate)}]
                            redirects: [
                              (Redir
                                op_id: Redir_Great
                                fd: 2
                                arg_word: {(/dev/null)}
                                spids: [93]
                              )
                            ]
                          )
                          (C {(which)} {(date)})
                        ]
                        op_id: Op_DPipe
                      )
                    ]
                  )
                left_token: <Left_Backtick '`'>
                spids: [88 101]
              )
            }
          spids: [87]
        )
      ]
      spids: [87]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:juDIR)
          op: Equal
          rhs: 
            {
              (CommandSubPart
                command_list: (CommandList children:[(C {(pwd)})])
                left_token: <Left_Backtick '`'>
                spids: [108 110]
              ) (/results)
            }
          spids: [107]
        )
      ]
      spids: [107]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:suite) op:Equal rhs:{(DQ )} spids:[117])]
      spids: [117]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:errfile)
          op: Equal
          rhs: {(/tmp/evErr.) ($ VSub_Dollar '$$') (.log)}
          spids: [125]
        )
      ]
      spids: [125]
    )
    (FuncDef
      name: eVal
      body: 
        (BraceGroup
          children: [
            (Subshell child:(C {(eval)} {(DQ ($ VSub_Number '$1'))}) spids:[139 145])
            (Pipeline
              children: [
                (SimpleCommand
                  words: [{(echo)} {($ VSub_QMark '$?')}]
                  redirects: [(Redir op_id:Redir_GreatAnd fd:2 arg_word:{(1)} spids:[156])]
                )
                (SimpleCommand
                  words: [{(tr)} {(-d)} {(DQ (Lit_Other '\\') (n))}]
                  redirects: [
                    (Redir
                      op_id: Redir_Great
                      fd: 16777215
                      arg_word: {($ VSub_Name '$errfile')}
                      spids: [170]
                    )
                  ]
                )
              ]
              negated: False
            )
          ]
          spids: [136]
        )
      spids: [130 135]
    )
    (FuncDef
      name: juLogClean
      body: 
        (BraceGroup
          children: [
            (C {(echo)} {(DQ ('+++ Removing old junit reports from: ') ($ VSub_Name '$juDIR') (' '))})
            (C {(rm)} {(-f)} {(DQ ($ VSub_Name '$juDIR')) (/junit-) (Lit_Other '*')})
          ]
          spids: [186]
        )
      spids: [180 185]
    )
    (FuncDef
      name: juLog
      body: 
        (BraceGroup
          children: [
            (Sentence
              child: 
                (Assignment
                  keyword: Assign_None
                  pairs: [(assign_pair lhs:(LhsName name:suite) op:Equal rhs:{(DQ )} spids:[223])]
                  spids: [223]
                )
              terminator: <Op_Semi ';'>
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:errfile)
                  op: Equal
                  rhs: {(/tmp/evErr.) ($ VSub_Dollar '$$') (.log)}
                  spids: [229]
                )
              ]
              spids: [229]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:date)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (AndOr
                                children: [(C {(which)} {(gdate)}) (C {(which)} {(date)})]
                                op_id: Op_DPipe
                              )
                            ]
                          )
                        left_token: <Left_Backtick '`'>
                        spids: [236 246]
                      )
                    }
                  spids: [235]
                )
              ]
              spids: [235]
            )
            (Sentence
              child: 
                (Assignment
                  keyword: Assign_None
                  pairs: [(assign_pair lhs:(LhsName name:asserts) op:Equal rhs:{(00)} spids:[249])]
                  spids: [249]
                )
              terminator: <Op_Semi ';'>
            )
            (Sentence
              child: 
                (Assignment
                  keyword: Assign_None
                  pairs: [(assign_pair lhs:(LhsName name:errors) op:Equal rhs:{(0)} spids:[253])]
                  spids: [253]
                )
              terminator: <Op_Semi ';'>
            )
            (Sentence
              child: 
                (Assignment
                  keyword: Assign_None
                  pairs: [(assign_pair lhs:(LhsName name:total) op:Equal rhs:{(0)} spids:[257])]
                  spids: [257]
                )
              terminator: <Op_Semi ';'>
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:content) op:Equal rhs:{(DQ )} spids:[261])]
              spids: [261]
            )
            (Sentence
              child: 
                (Assignment
                  keyword: Assign_None
                  pairs: [(assign_pair lhs:(LhsName name:ya) op:Equal rhs:{(DQ )} spids:[271])]
                  spids: [271]
                )
              terminator: <Op_Semi ';'>
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:icase) op:Equal rhs:{(DQ )} spids:[276])]
              spids: [276]
            )
            (While
              cond: [
                (Sentence
                  child: (C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_Name '$ya'))} {(Lit_Other ']')})
                  terminator: <Op_Semi ';'>
                )
              ]
              body: 
                (DoGroup
                  children: [
                    (Case
                      to_match: {(DQ ($ VSub_Number '$1'))}
                      arms: [
                        (case_arm
                          pat_list: [{(-name) (Lit_Other '=') (Lit_Other '*')}]
                          action: [
                            (Sentence
                              child: 
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:name)
                                      op: Equal
                                      rhs: 
                                        {
                                          (CommandSubPart
                                            command_list: 
                                              (CommandList
                                                children: [
                                                  (Pipeline
                                                    children: [
                                                      (C {(echo)} {(DQ ($ VSub_Number '$1'))})
                                                      (C {(sed)} {(-e)} {(SQ <'s/-name=//'>)})
                                                    ]
                                                    negated: False
                                                  )
                                                ]
                                              )
                                            left_token: <Left_Backtick '`'>
                                            spids: [312 328]
                                          )
                                        }
                                      spids: [311]
                                    )
                                  ]
                                  spids: [311]
                                )
                              terminator: <Op_Semi ';'>
                            )
                            (C {(shift)})
                          ]
                          spids: [306 309 332 16777215]
                        )
                        (case_arm
                          pat_list: [{(-class) (Lit_Other '=') (Lit_Other '*')}]
                          action: [
                            (Sentence
                              child: 
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:class)
                                      op: Equal
                                      rhs: 
                                        {
                                          (CommandSubPart
                                            command_list: 
                                              (CommandList
                                                children: [
                                                  (Pipeline
                                                    children: [
                                                      (C {(echo)} {(DQ ($ VSub_Number '$1'))})
                                                      (C {(sed)} {(-e)} {(SQ <'s/-class=//'>)})
                                                    ]
                                                    negated: False
                                                  )
                                                ]
                                              )
                                            left_token: <Left_Backtick '`'>
                                            spids: [341 357]
                                          )
                                        }
                                      spids: [340]
                                    )
                                  ]
                                  spids: [340]
                                )
                              terminator: <Op_Semi ';'>
                            )
                            (C {(shift)})
                          ]
                          spids: [335 338 361 16777215]
                        )
                        (case_arm
                          pat_list: [{(-ierror) (Lit_Other '=') (Lit_Other '*')}]
                          action: [
                            (Sentence
                              child: 
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:ereg)
                                      op: Equal
                                      rhs: 
                                        {
                                          (CommandSubPart
                                            command_list: 
                                              (CommandList
                                                children: [
                                                  (Pipeline
                                                    children: [
                                                      (C {(echo)} {(DQ ($ VSub_Number '$1'))})
                                                      (C {(sed)} {(-e)} {(SQ <'s/-ierror=//'>)})
                                                    ]
                                                    negated: False
                                                  )
                                                ]
                                              )
                                            left_token: <Left_Backtick '`'>
                                            spids: [370 386]
                                          )
                                        }
                                      spids: [369]
                                    )
                                  ]
                                  spids: [369]
                                )
                              terminator: <Op_Semi ';'>
                            )
                            (Sentence
                              child: 
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:icase)
                                      op: Equal
                                      rhs: {(DQ (-i))}
                                      spids: [389]
                                    )
                                  ]
                                  spids: [389]
                                )
                              terminator: <Op_Semi ';'>
                            )
                            (C {(shift)})
                          ]
                          spids: [364 367 396 16777215]
                        )
                        (case_arm
                          pat_list: [{(-error) (Lit_Other '=') (Lit_Other '*')}]
                          action: [
                            (Sentence
                              child: 
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:ereg)
                                      op: Equal
                                      rhs: 
                                        {
                                          (CommandSubPart
                                            command_list: 
                                              (CommandList
                                                children: [
                                                  (Pipeline
                                                    children: [
                                                      (C {(echo)} {(DQ ($ VSub_Number '$1'))})
                                                      (C {(sed)} {(-e)} {(SQ <'s/-error=//'>)})
                                                    ]
                                                    negated: False
                                                  )
                                                ]
                                              )
                                            left_token: <Left_Backtick '`'>
                                            spids: [405 421]
                                          )
                                        }
                                      spids: [404]
                                    )
                                  ]
                                  spids: [404]
                                )
                              terminator: <Op_Semi ';'>
                            )
                            (C {(shift)})
                          ]
                          spids: [399 402 425 16777215]
                        )
                        (case_arm
                          pat_list: [{(-output) (Lit_Other '=') (Lit_Other '*')}]
                          action: [
                            (Sentence
                              child: 
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:juDIR)
                                      op: Equal
                                      rhs: 
                                        {
                                          (CommandSubPart
                                            command_list: 
                                              (CommandList
                                                children: [
                                                  (Pipeline
                                                    children: [
                                                      (C {(echo)} {(DQ ($ VSub_Number '$1'))})
                                                      (C {(sed)} {(-e)} {(SQ <'s/-output=//'>)})
                                                    ]
                                                    negated: False
                                                  )
                                                ]
                                              )
                                            left_token: <Left_Backtick '`'>
                                            spids: [434 450]
                                          )
                                        }
                                      spids: [433]
                                    )
                                  ]
                                  spids: [433]
                                )
                              terminator: <Op_Semi ';'>
                            )
                            (C {(shift)})
                          ]
                          spids: [428 431 454 16777215]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other '*')}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:ya)
                                  op: Equal
                                  rhs: {(1)}
                                  spids: [460]
                                )
                              ]
                              spids: [460]
                            )
                          ]
                          spids: [457 458 462 16777215]
                        )
                      ]
                      spids: [297 303 465]
                    )
                  ]
                  spids: [294 468]
                )
            )
            (AndOr
              children: [(C {(mkdir)} {(-p)} {(DQ ($ VSub_Name '$juDIR'))}) (C {(exit)})]
              op_id: Op_DPipe
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_Name '$name'))} {(Lit_Other ']')})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:name)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name '$asserts') (-) ($ VSub_Number '$1'))}
                          spids: [509]
                        )
                      ]
                      spids: [509]
                    )
                    (C {(shift)})
                  ]
                  spids: [16777215 506]
                )
              ]
              spids: [16777215 520]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolBinary
                              op_id: BoolBinary_GlobEqual
                              left: {(DQ ($ VSub_Name '$class'))}
                              right: {(DQ )}
                            )
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:class)
                          op: Equal
                          rhs: {(DQ (default))}
                          spids: [543]
                        )
                      ]
                      spids: [543]
                    )
                  ]
                  spids: [16777215 540]
                )
              ]
              spids: [16777215 549]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:suite)
                  op: Equal
                  rhs: {($ VSub_Name '$class')}
                  spids: [553]
                )
              ]
              spids: [553]
            )
            (AndOr
              children: [
                (C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_Number '$1'))} {(Lit_Other ']')})
                (ControlFlow token:<ControlFlow_Return return>)
              ]
              op_id: Op_DAmp
            )
            (Sentence
              child: 
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:cmd)
                      op: Equal
                      rhs: {(DQ ($ VSub_Number '$1'))}
                      spids: [577]
                    )
                  ]
                  spids: [577]
                )
              terminator: <Op_Semi ';'>
            )
            (C {(shift)})
            (While
              cond: [(C {(Lit_Other '[')} {(-n)} {(DQ ($ VSub_Number '$1'))} {(Lit_Other ']')})]
              body: 
                (DoGroup
                  children: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:cmd)
                          op: Equal
                          rhs: 
                            {
                              (DQ ($ VSub_Name '$cmd') (' ') 
                                (EscapedLiteralPart
                                  token: <Lit_EscapedChar '\\"'>
                                ) ($ VSub_Number '$1') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>)
                              )
                            }
                          spids: [602]
                        )
                      ]
                      spids: [602]
                    )
                    (C {(shift)})
                  ]
                  spids: [599 615]
                )
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:outf)
                  op: Equal
                  rhs: {(/var/tmp/ju) ($ VSub_Dollar '$$') (.txt)}
                  spids: [623]
                )
              ]
              spids: [623]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:errf)
                  op: Equal
                  rhs: {(/var/tmp/ju) ($ VSub_Dollar '$$') (-err.txt)}
                  spids: [629]
                )
              ]
              spids: [629]
            )
            (SimpleCommand
              redirects: [
                (Redir
                  op_id: Redir_Great
                  fd: 16777215
                  arg_word: {($ VSub_Name '$outf')}
                  spids: [635]
                )
              ]
            )
            (Pipeline
              children: [(C {(echo)} {(DQ )}) (C {(tee)} {(-a)} {($ VSub_Name '$outf')})]
              negated: False
            )
            (Pipeline
              children: [
                (C {(echo)} 
                  {
                    (DQ ('+++ Running case: ') ($ VSub_Name '$class') (.) ($ VSub_Name '$name') (' '))
                  }
                )
                (C {(tee)} {(-a)} {($ VSub_Name '$outf')})
              ]
              negated: False
            )
            (Pipeline
              children: [
                (C {(echo)} 
                  {(DQ ('+++ working dir: ')) 
                    (CommandSubPart
                      command_list: (CommandList children:[(C {(pwd)})])
                      left_token: <Left_Backtick '`'>
                      spids: [677 679]
                    )
                  }
                )
                (C {(tee)} {(-a)} {($ VSub_Name '$outf')})
              ]
              negated: False
            )
            (Pipeline
              children: [
                (C {(echo)} {(DQ ('+++ command: ') ($ VSub_Name '$cmd'))})
                (C {(tee)} {(-a)} {($ VSub_Name '$outf')})
              ]
              negated: False
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:ini)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (C {($ VSub_Name '$date')} 
                                {(Lit_Other '+') (Lit_Other '%') (s.) (Lit_Other '%') (N)}
                              )
                            ]
                          )
                        left_token: <Left_Backtick '`'>
                        spids: [707 715]
                      )
                    }
                  spids: [706]
                )
              ]
              spids: [706]
            )
            (Subshell
              child: 
                (Pipeline
                  children: [
                    (Subshell
                      child: 
                        (Pipeline
                          children: [
                            (C {(eVal)} {(DQ ($ VSub_Name '$cmd'))})
                            (C {(tee)} {(-a)} {($ VSub_Name '$outf')})
                          ]
                          negated: False
                        )
                      redirects: [
                        (Redir
                          op_id: Redir_GreatAnd
                          fd: 3
                          arg_word: {(1)}
                          spids: [744]
                        )
                        (Redir
                          op_id: Redir_GreatAnd
                          fd: 1
                          arg_word: {(2)}
                          spids: [747]
                        )
                        (Redir
                          op_id: Redir_GreatAnd
                          fd: 2
                          arg_word: {(3)}
                          spids: [750]
                        )
                      ]
                      spids: [728 742]
                    )
                    (C {(tee)} {($ VSub_Name '$errf')})
                  ]
                  negated: False
                )
              redirects: [
                (Redir op_id:Redir_GreatAnd fd:3 arg_word:{(1)} spids:[760])
                (Redir op_id:Redir_GreatAnd fd:1 arg_word:{(2)} spids:[763])
                (Redir op_id:Redir_GreatAnd fd:2 arg_word:{(3)} spids:[766])
              ]
              spids: [726 758]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:evErr)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: (CommandList children:[(C {(cat)} {($ VSub_Name '$errfile')})])
                        left_token: <Left_Backtick '`'>
                        spids: [771 775]
                      )
                    }
                  spids: [770]
                )
              ]
              spids: [770]
            )
            (C {(rm)} {(-f)} {($ VSub_Name '$errfile')})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:end)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (C {($ VSub_Name '$date')} 
                                {(Lit_Other '+') (Lit_Other '%') (s.) (Lit_Other '%') (N)}
                              )
                            ]
                          )
                        left_token: <Left_Backtick '`'>
                        spids: [786 794]
                      )
                    }
                  spids: [785]
                )
              ]
              spids: [785]
            )
            (Pipeline
              children: [
                (C {(echo)} {(DQ ('+++ exit code: ') ($ VSub_Name '$evErr'))})
                (C {(tee)} {(-a)} {($ VSub_Name '$outf')})
              ]
              negated: False
            )
            (AndOr
              children: [
                (C {(Lit_Other '[')} {($ VSub_Name '$evErr')} {(KW_Bang '!') (Lit_Other '=')} {(0)} 
                  {(Lit_Other ']')}
                )
                (AndOr
                  children: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [(assign_pair lhs:(LhsName name:err) op:Equal rhs:{(1)} spids:[831])]
                      spids: [831]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [(assign_pair lhs:(LhsName name:err) op:Equal rhs:{(0)} spids:[836])]
                      spids: [836]
                    )
                  ]
                  op_id: Op_DPipe
                )
              ]
              op_id: Op_DAmp
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:out)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (Pipeline
                                children: [
                                  (C {(cat)} {($ VSub_Name '$outf')})
                                  (C {(sed)} {(-e)} {(SQ <'s/^\\([^+]\\)/| \\1/g'>)})
                                ]
                                negated: False
                              )
                            ]
                          )
                        left_token: <Left_Backtick '`'>
                        spids: [841 855]
                      )
                    }
                  spids: [840]
                )
              ]
              spids: [840]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {($ VSub_Name '$err')} {(Lit_Other '=')} {(0)} {(-a)} {(-n)} 
                          {(DQ ($ VSub_Name '$ereg'))} {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:H)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (Pipeline
                                        children: [
                                          (C {(echo)} {(DQ ($ VSub_Name '$out'))})
                                          (C {(egrep)} {($ VSub_Name '$icase')} 
                                            {(DQ ($ VSub_Name '$ereg'))}
                                          )
                                        ]
                                        negated: False
                                      )
                                    ]
                                  )
                                left_token: <Left_Backtick '`'>
                                spids: [883 899]
                              )
                            }
                          spids: [882]
                        )
                      ]
                      spids: [882]
                    )
                    (AndOr
                      children: [
                        (C {(Lit_Other '[')} {(-n)} {(DQ ($ VSub_Name '$H'))} {(Lit_Other ']')})
                        (Assignment
                          keyword: Assign_None
                          pairs: [(assign_pair lhs:(LhsName name:err) op:Equal rhs:{(1)} spids:[914])]
                          spids: [914]
                        )
                      ]
                      op_id: Op_DAmp
                    )
                  ]
                  spids: [16777215 879]
                )
              ]
              spids: [16777215 918]
            )
            (AndOr
              children: [
                (C {(Lit_Other '[')} {($ VSub_Name '$err')} {(KW_Bang '!') (Lit_Other '=')} {(0)} 
                  {(Lit_Other ']')}
                )
                (Pipeline
                  children: [
                    (C {(echo)} {(DQ ('+++ error: ') ($ VSub_Name '$err'))})
                    (C {(tee)} {(-a)} {($ VSub_Name '$outf')})
                  ]
                  negated: False
                )
              ]
              op_id: Op_DAmp
            )
            (C {(rm)} {(-f)} {($ VSub_Name '$outf')})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:errMsg)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: (CommandList children:[(C {(cat)} {($ VSub_Name '$errf')})])
                        left_token: <Left_Backtick '`'>
                        spids: [959 963]
                      )
                    }
                  spids: [958]
                )
              ]
              spids: [958]
            )
            (C {(rm)} {(-f)} {($ VSub_Name '$errf')})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:asserts)
                  op: Equal
                  rhs: 
                    {
                      (ArithSubPart
                        anode: 
                          (ArithBinary
                            op_id: Arith_Plus
                            left: (ArithWord w:{($ VSub_Name '$asserts')})
                            right: (ArithWord w:{(Lit_Digits 1)})
                          )
                        spids: [978 983]
                      )
                    }
                  spids: [977]
                )
              ]
              spids: [977]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:errors)
                  op: Equal
                  rhs: 
                    {
                      (ArithSubPart
                        anode: 
                          (ArithBinary
                            op_id: Arith_Plus
                            left: (ArithWord w:{($ VSub_Name '$errors')})
                            right: (ArithWord w:{($ VSub_Name '$err')})
                          )
                        spids: [987 992]
                      )
                    }
                  spids: [986]
                )
              ]
              spids: [986]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:time)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (Pipeline
                                children: [
                                  (C {(echo)} {(DQ ($ VSub_Name '$end') (' - ') ($ VSub_Name '$ini'))})
                                  (C {(bc)} {(-l)})
                                ]
                                negated: False
                              )
                            ]
                          )
                        left_token: <Left_Backtick '`'>
                        spids: [996 1010]
                      )
                    }
                  spids: [995]
                )
              ]
              spids: [995]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:total)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (Pipeline
                                children: [
                                  (C {(echo)} 
                                    {(DQ ($ VSub_Name '$total') (' + ') ($ VSub_Name '$time'))}
                                  )
                                  (C {(bc)} {(-l)})
                                ]
                                negated: False
                              )
                            ]
                          )
                        left_token: <Left_Backtick '`'>
                        spids: [1014 1028]
                      )
                    }
                  spids: [1013]
                )
              ]
              spids: [1013]
            )
            (AndOr
              children: [
                (C {(Lit_Other '[')} {($ VSub_Name '$err')} {(Lit_Other '=')} {(0)} {(Lit_Other ']')})
                (AndOr
                  children: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:failure)
                          op: Equal
                          rhs: {(DQ )}
                          spids: [1052]
                        )
                      ]
                      spids: [1052]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:failure)
                          op: Equal
                          rhs: 
                            {
                              (DQ ('\n') ('      <failure type=') 
                                (EscapedLiteralPart
                                  token: <Lit_EscapedChar '\\"'>
                                ) (ScriptError) (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (' message=') 
                                (EscapedLiteralPart
                                  token: <Lit_EscapedChar '\\"'>
                                ) ('Script Error') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ('>\n') ('      <![CDATA[\n') 
                                ('      ') ($ VSub_Name '$errMsg') ('\n') ('      ]]>\n') ('      </failure>\n') ('  ')
                              )
                            }
                          spids: [1058]
                        )
                      ]
                      spids: [1058]
                    )
                  ]
                  op_id: Op_DPipe
                )
              ]
              op_id: Op_DAmp
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:content)
                  op: Equal
                  rhs: 
                    {
                      (DQ ($ VSub_Name '$content') ('\n') ('    <testcase assertions=') 
                        (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (1) (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (' name=') 
                        (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ($ VSub_Name '$name') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (' time=') 
                        (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ($ VSub_Name '$time') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (' classname=') 
                        (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ($ VSub_Name '$class') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ('>\n') ('    ') 
                        ($ VSub_Name '$failure') ('\n') ('    <system-err>\n') ('<![CDATA[\n') ($ VSub_Name '$errMsg') ('\n') (']]>\n') 
                        ('    </system-err>\n') ('    </testcase>\n') ('  ')
                      )
                    }
                  spids: [1084]
                )
              ]
              spids: [1084]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolUnary
                              op_id: BoolUnary_e
                              child: 
                                {(DQ ($ VSub_Name '$juDIR') (/junit_) ($ VSub_Name '$suite') (.xml))}
                            )
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:failCount)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (C {(sed)} {(-n)} 
                                        {
                                          (DQ ('s/.*testsuite.*failures=') 
                                            (EscapedLiteralPart
                                              token: <Lit_EscapedChar '\\"'>
                                            ) (Lit_Other '\\') ('([0-9]*') (Lit_Other '\\') (')') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                                            ('.*/') (Lit_Other '\\') (1/p)
                                          )
                                        } {(DQ ($ VSub_Name '$juDIR') (/junit_) ($ VSub_Name '$suite') (.xml))}
                                      )
                                    ]
                                  )
                                left_token: <Left_Backtick '`'>
                                spids: [1148 1172]
                              )
                            }
                          spids: [1147]
                        )
                      ]
                      spids: [1147]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:errors)
                          op: Equal
                          rhs: 
                            {
                              (ArithSubPart
                                anode: 
                                  (ArithBinary
                                    op_id: Arith_Plus
                                    left: (ArithWord w:{($ VSub_Name '$failCount')})
                                    right: (ArithWord w:{($ VSub_Name '$errors')})
                                  )
                                spids: [1176 1181]
                              )
                            }
                          spids: [1175]
                        )
                      ]
                      spids: [1175]
                    )
                    (C {(sed)} {(-i)} 
                      {
                        (DQ ('0,/failures=') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                          ($ VSub_Name '$failCount') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ('/ s/failures=') 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ($ VSub_Name '$failCount') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ('/failures=') 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ($ VSub_Name '$errors') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (/)
                        )
                      } {(DQ ($ VSub_Name '$juDIR') (/junit_) ($ VSub_Name '$suite') (.xml))}
                    )
                    (C {(sed)} {(-i)} 
                      {
                        (DQ ('0,/errors=') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                          ($ VSub_Name '$failCount') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ('/ s/errors=') 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ($ VSub_Name '$failCount') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ('/errors=') 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ($ VSub_Name '$errors') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (/)
                        )
                      } {(DQ ($ VSub_Name '$juDIR') (/junit_) ($ VSub_Name '$suite') (.xml))}
                    )
                    (C {(sed)} {(-i)} {(DQ ('s^</testsuite>^^g'))} 
                      {($ VSub_Name '$juDIR') (/junit_) ($ VSub_Name '$suite') (.xml)}
                    )
                    (C {(sed)} {(-i)} {(DQ ('s^</testsuites>^^g'))} 
                      {($ VSub_Name '$juDIR') (/junit_) ($ VSub_Name '$suite') (.xml)}
                    )
                    (SimpleCommand
                      words: [{(cat)}]
                      redirects: [
                        (HereDoc
                          op_id: Redir_DLess
                          fd: 16777215
                          body: 
                            {
                              (DQ ('     ') ($ VSub_Name '$content') ('\n') ('    </testsuite>\n') 
                                ('</testsuites>\n')
                              )
                            }
                          do_expansion: True
                          here_end: EOF
                          was_filled: True
                          spids: [1278]
                        )
                        (Redir
                          op_id: Redir_DGreat
                          fd: 16777215
                          arg_word: 
                            {(DQ ($ VSub_Name '$juDIR') (/junit_) ($ VSub_Name '$suite') (.xml))}
                          spids: [1281]
                        )
                      ]
                    )
                  ]
                  spids: [16777215 1140]
                )
              ]
              else_action: [
                (SimpleCommand
                  words: [{(cat)}]
                  redirects: [
                    (HereDoc
                      op_id: Redir_DLess
                      fd: 16777215
                      body: 
                        {
                          (DQ ('<?xml version=') (Right_DoubleQuote '"') (1.0) (Right_DoubleQuote '"') 
                            (' encoding=') (Right_DoubleQuote '"') (UTF-8) (Right_DoubleQuote '"') ('?>\n') ('<testsuites>\n') 
                            ('    <testsuite failures=') (Right_DoubleQuote '"') ($ VSub_Name '$errors') (Right_DoubleQuote '"') (' assertions=') 
                            (Right_DoubleQuote '"') ($ VSub_Name '$assertions') (Right_DoubleQuote '"') (' name=') (Right_DoubleQuote '"') 
                            ($ VSub_Name '$suite') (Right_DoubleQuote '"') (' tests=') (Right_DoubleQuote '"') (1) (Right_DoubleQuote '"') (' errors=') 
                            (Right_DoubleQuote '"') ($ VSub_Name '$errors') (Right_DoubleQuote '"') (' time=') (Right_DoubleQuote '"') ($ VSub_Name '$total') 
                            (Right_DoubleQuote '"') ('>\n') ('    ') ($ VSub_Name '$content') ('\n') ('    </testsuite>\n') ('</testsuites>\n')
                          )
                        }
                      do_expansion: True
                      here_end: EOF
                      was_filled: True
                      spids: [1307]
                    )
                    (Redir
                      op_id: Redir_Great
                      fd: 16777215
                      arg_word: {(DQ ($ VSub_Name '$juDIR') (/junit_) ($ VSub_Name '$suite') (.xml))}
                      spids: [1310]
                    )
                  ]
                )
              ]
              spids: [1298 1361]
            )
            (ControlFlow token:<ControlFlow_Return return> arg_word:{($ VSub_Name '$err')})
          ]
          spids: [220]
        )
      spids: [214 219]
    )
  ]
)