(CommandList
  children: [
    (C {(.)} 
      {
        (DQ 
          (CommandSubPart
            command_list: (CommandList children:[(C {(dirname)} {(DQ ($ VSub_Number "$0"))})])
            left_token: <Left_CommandSub "$(">
            spids: [10 16]
          ) (/../../GIT-BUILD-OPTIONS)
        )
      }
    )
    (C {(Lit_Other ":")} 
      {
        (BracedVarSub
          token: <VSub_Name TEST_OUTPUT_DIRECTORY>
          suffix_op: 
            (StringUnary
              op_id: VTest_Equals
              arg_word: 
                {
                  (CommandSubPart
                    command_list: 
                      (CommandList
                        children: [(C {(dirname)} {(DQ ($ VSub_Number "$0"))})]
                      )
                    left_token: <Left_CommandSub "$(">
                    spids: [28 34]
                  ) (Lit_Slash /) (..)
                }
            )
          spids: [25 37]
        )
      }
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:output) op:Equal rhs:{(SQ )} spids:[40])]
      spids: [40]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:count) op:Equal rhs:{(0)} spids:[42])]
      spids: [42]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:total_count) op:Equal rhs:{(0)} spids:[45])]
      spids: [45]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:missing_message) op:Equal rhs:{(SQ )} spids:[48])]
      spids: [48]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:new_line) op:Equal rhs:{(SQ <"\n">)} spids:[50])]
      spids: [50]
    )
    (FuncDef
      name: start_output
      body: 
        (BraceGroup
          children: [
            (AndOr
              children: [
                (C {(test)} {(-z)} {(DQ ($ VSub_Name "$output"))})
                (ControlFlow token:<ControlFlow_Return return>)
              ]
              op_id: Op_DPipe
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:total_count)
                  op: Equal
                  rhs: 
                    {
                      (ArithSubPart
                        anode: 
                          (ArithBinary
                            op_id: Arith_Plus
                            left: (ArithWord w:{($ VSub_Name "$total_count")})
                            right: (ArithWord w:{(Lit_Digits 1)})
                          )
                        spids: [89 94]
                      )
                    }
                  spids: [88]
                )
              ]
              spids: [88]
            )
            (AndOr
              children: [
                (C {(test)} {(-t)} {(2)})
                (SimpleCommand
                  words: [
                    {(printf)}
                    {(DQ (EscapedLiteralPart token:<Lit_EscapedChar "\\r">) ("Found %d errors"))}
                    {($ VSub_Name "$total_count")}
                  ]
                  redirects: [(Redir op_id:Redir_GreatAnd fd:-1 arg_word:{(2)} spids:[114])]
                )
              ]
              op_id: Op_DAmp
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:count)
                  op: Equal
                  rhs: 
                    {
                      (ArithSubPart
                        anode: 
                          (ArithBinary
                            op_id: Arith_Plus
                            left: (ArithWord w:{($ VSub_Name "$count")})
                            right: (ArithWord w:{(Lit_Digits 1)})
                          )
                        spids: [120 125]
                      )
                    }
                  spids: [119]
                )
              ]
              spids: [119]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:output)
                  op: Equal
                  rhs: {($ VSub_Name "$out_prefix") (.) ($ VSub_Name "$count")}
                  spids: [128]
                )
              ]
              spids: [128]
            )
            (SimpleCommand
              words: [{(Lit_Other ":")}]
              redirects: [
                (Redir
                  op_id: Redir_Great
                  fd: -1
                  arg_word: {($ VSub_Name "$output")}
                  spids: [136]
                )
              ]
            )
            (SimpleCommand
              words: [{(echo)} {(DQ ("*** ") ($ VSub_Number "$1") (" ***"))}]
              redirects: [
                (Redir
                  op_id: Redir_Great
                  fd: -1
                  arg_word: {($ VSub_Name "$output") (.message)}
                  spids: [150]
                )
              ]
            )
          ]
          spids: [67]
        )
      spids: [62 66]
    )
    (FuncDef
      name: finish_output
      body: 
        (BraceGroup
          children: [
            (AndOr
              children: [
                (C {(test)} {(KW_Bang "!")} {(-z)} {(DQ ($ VSub_Name "$output"))})
                (ControlFlow token:<ControlFlow_Return return>)
              ]
              op_id: Op_DPipe
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:output) op:Equal rhs:{(SQ )} spids:[181])]
              spids: [181]
            )
            (AndOr
              children: [
                (C {(test)} {(-z)} {(DQ ($ VSub_Name "$missing_message"))})
                (BraceGroup
                  children: [
                    (While
                      cond: [
                        (C {(test)} {($ VSub_Name "$missing_message")} {(-lt)} {($ VSub_Name "$count")})
                      ]
                      body: 
                        (DoGroup
                          children: [
                            (C {(cp)} 
                              {($ VSub_Name "$out_prefix") (.) ($ VSub_Name "$count") (.message)} {($ VSub_Name "$out_prefix") (.) ($ VSub_Name "$missing_message") (.message)}
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:missing_message)
                                  op: Equal
                                  rhs: 
                                    {
                                      (ArithSubPart
                                        anode: 
                                          (ArithBinary
                                            op_id: Arith_Plus
                                            left: (ArithWord w:{($ VSub_Name "$missing_message")})
                                            right: (ArithWord w:{(Lit_Digits 1)})
                                          )
                                        spids: [236 241]
                                      )
                                    }
                                  spids: [235]
                                )
                              ]
                              spids: [235]
                            )
                          ]
                          spids: [217 244]
                        )
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:missing_message)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [247]
                        )
                      ]
                      spids: [247]
                    )
                  ]
                  spids: [203]
                )
              ]
              op_id: Op_DPipe
            )
          ]
          spids: [163]
        )
      spids: [158 162]
    )
    (FuncDef
      name: output_all
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:last_line) op:Equal rhs:{(SQ )} spids:[266])]
              spids: [266]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:j) op:Equal rhs:{(0)} spids:[269])]
              spids: [269]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:i) op:Equal rhs:{(1)} spids:[273])]
              spids: [273]
            )
            (Pipeline
              children: [
                (While
                  cond: [(C {(test)} {($ VSub_Name "$i")} {(-le)} {($ VSub_Name "$count")})]
                  body: 
                    (DoGroup
                      children: [
                        (C {(echo)} 
                          {
                            (DQ ($ VSub_Name "$i") (" ") 
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (SimpleCommand
                                        words: [{(tr)} {(SQ <"\\n">)} {(SQ <" ">)}]
                                        redirects: [
                                          (Redir
                                            op_id: Redir_Less
                                            fd: -1
                                            arg_word: 
                                              {($ VSub_Name "$out_prefix") (.) ($ VSub_Name "$i")}
                                            spids: [311]
                                          )
                                        ]
                                      )
                                    ]
                                  )
                                left_token: <Left_CommandSub "$(">
                                spids: [300 316]
                              )
                            )
                          }
                        )
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:i)
                              op: Equal
                              rhs: 
                                {
                                  (ArithSubPart
                                    anode: 
                                      (ArithBinary
                                        op_id: Arith_Plus
                                        left: (ArithWord w:{($ VSub_Name "$i")})
                                        right: (ArithWord w:{(Lit_Digits 1)})
                                      )
                                    spids: [321 326]
                                  )
                                }
                              spids: [320]
                            )
                          ]
                          spids: [320]
                        )
                      ]
                      spids: [288 329]
                    )
                )
                (C {(sort)} {(-t)} {(SQ <" ">)} {(-k)} {(2)})
                (While
                  cond: [(C {(read)} {(number)} {(line)})]
                  body: 
                    (DoGroup
                      children: [
                        (If
                          arms: [
                            (if_arm
                              cond: [
                                (C {(test)} {(DQ ($ VSub_Name "$line"))} {(KW_Bang "!") (Lit_Other "=")} 
                                  {(DQ ($ VSub_Name "$last_line"))}
                                )
                              ]
                              action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:last_line)
                                      op: Equal
                                      rhs: {($ VSub_Name "$line")}
                                      spids: [387]
                                    )
                                  ]
                                  spids: [387]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:j)
                                      op: Equal
                                      rhs: 
                                        {
                                          (ArithSubPart
                                            anode: 
                                              (ArithBinary
                                                op_id: Arith_Plus
                                                left: (ArithWord w:{($ VSub_Name "$j")})
                                                right: (ArithWord w:{(Lit_Digits 1)})
                                              )
                                            spids: [392 397]
                                          )
                                        }
                                      spids: [391]
                                    )
                                  ]
                                  spids: [391]
                                )
                                (C {(printf)} 
                                  {
                                    (DQ (EscapedLiteralPart token:<Lit_EscapedChar "\\n">) 
                                      ("Valgrind error ") ($ VSub_Name "$j") (":") (EscapedLiteralPart token:<Lit_EscapedChar "\\n">) 
                                      (EscapedLiteralPart
                                        token: <Lit_EscapedChar "\\n">
                                      )
                                    )
                                  }
                                )
                                (C {(cat)} {($ VSub_Name "$out_prefix") (.) ($ VSub_Name "$number")})
                                (C {(printf)} 
                                  {
                                    (DQ (EscapedLiteralPart token:<Lit_EscapedChar "\\n">) 
                                      ("found in:") (EscapedLiteralPart token:<Lit_EscapedChar "\\n">)
                                    )
                                  }
                                )
                              ]
                              spids: [-1 384]
                            )
                          ]
                          spids: [-1 428]
                        )
                        (C {(printf)} {(DQ (EscapedLiteralPart token:<Lit_EscapedChar "\\n">))})
                        (C {(cat)} {($ VSub_Name "$out_prefix") (.) ($ VSub_Name "$number") (.message)})
                      ]
                      spids: [361 450]
                    )
                )
              ]
              negated: False
            )
          ]
          spids: [263]
        )
      spids: [258 262]
    )
    (FuncDef
      name: handle_one
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:OLDIFS)
                  op: Equal
                  rhs: {($ VSub_Name "$IFS")}
                  spids: [463]
                )
              ]
              spids: [463]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:IFS)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name "$new_line"))}
                  spids: [467]
                )
              ]
              spids: [467]
            )
            (While
              cond: [(C {(read)} {(line)})]
              body: 
                (DoGroup
                  children: [
                    (Case
                      to_match: {(DQ ($ VSub_Name "$line"))}
                      arms: [
                        (case_arm
                          pat_list: [
                            {(Lit_Other "=") (Lit_Other "=") (Lit_Other "[") (0-9) (Lit_Other "]") 
                              (Lit_Other "*")
                            }
                          ]
                          action: [
                            (Case
                              to_match: {(DQ ($ VSub_Name "$output"))}
                              arms: [
                                (case_arm
                                  pat_list: [{(Lit_Other "*") (.message)}]
                                  action: [
                                    (AndOr
                                      children: [
                                        (C {(test)} {(-z)} {(DQ ($ VSub_Name "$missing_message"))})
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:missing_message)
                                              op: Equal
                                              rhs: {($ VSub_Name "$count")}
                                              spids: [535]
                                            )
                                          ]
                                          spids: [535]
                                        )
                                      ]
                                      op_id: Op_DAmp
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:output)
                                          op: Equal
                                          rhs: {(SQ )}
                                          spids: [539]
                                        )
                                      ]
                                      spids: [539]
                                    )
                                  ]
                                  spids: [519 521 -1 542]
                                )
                              ]
                              spids: [510 516 542]
                            )
                            (C {(start_output)} 
                              {
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [(C {(basename)} {($ VSub_Number "$1")})]
                                    )
                                  left_token: <Left_CommandSub "$(">
                                  spids: [548 552]
                                )
                              }
                            )
                            (Pipeline
                              children: [
                                (C {(echo)} {(DQ ($ VSub_Name "$line"))})
                                (SimpleCommand
                                  words: [{(sed)} {(SQ <"s/==[0-9]*==/==valgrind==/">)}]
                                  redirects: [
                                    (Redir
                                      op_id: Redir_DGreat
                                      fd: -1
                                      arg_word: {($ VSub_Name "$output")}
                                      spids: [570]
                                    )
                                  ]
                                )
                              ]
                              negated: False
                            )
                          ]
                          spids: [496 502 575 -1]
                        )
                        (case_arm
                          pat_list: [{(SQ <"}">)}]
                          action: [
                            (AndOr
                              children: [
                                (C {(test)} {(-z)} {(DQ ($ VSub_Name "$output"))})
                                (BraceGroup
                                  children: [
                                    (SimpleCommand
                                      words: [{(echo)} {(DQ ($ VSub_Name "$line"))}]
                                      redirects: [
                                        (Redir
                                          op_id: Redir_DGreat
                                          fd: -1
                                          arg_word: {($ VSub_Name "$output")}
                                          spids: [607]
                                        )
                                      ]
                                    )
                                    (AndOr
                                      children: [
                                        (C {(test)} {($ VSub_Name "$output")} {(Lit_Other "=")} 
                                          {
                                            (BracedVarSub
                                              token: <VSub_Name output>
                                              suffix_op: 
                                                (StringUnary
                                                  op_id: VOp1_Percent
                                                  arg_word: {(.message)}
                                                )
                                              spids: [618 622]
                                            )
                                          }
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:output)
                                              op: Equal
                                              rhs: {($ VSub_Name "$output") (.message)}
                                              spids: [627]
                                            )
                                          ]
                                          spids: [627]
                                        )
                                      ]
                                      op_id: Op_DAmp
                                    )
                                  ]
                                  spids: [598]
                                )
                              ]
                              op_id: Op_DPipe
                            )
                          ]
                          spids: [583 585 635 -1]
                        )
                        (case_arm
                          pat_list: [{(SQ )}]
                          action: [(C {(finish_output)})]
                          spids: [-1 644 650 -1]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other "*")}]
                          action: [
                            (AndOr
                              children: [
                                (C {(test)} {(-z)} {(DQ ($ VSub_Name "$output"))})
                                (SimpleCommand
                                  words: [{(echo)} {(DQ ($ VSub_Name "$line"))}]
                                  redirects: [
                                    (Redir
                                      op_id: Redir_DGreat
                                      fd: -1
                                      arg_word: {($ VSub_Name "$output")}
                                      spids: [677]
                                    )
                                  ]
                                )
                              ]
                              op_id: Op_DPipe
                            )
                          ]
                          spids: [657 658 682 -1]
                        )
                      ]
                      spids: [483 489 685]
                    )
                  ]
                  spids: [480 688]
                )
              redirects: [(Redir op_id:Redir_Less fd:-1 arg_word:{($ VSub_Number "$1")} spids:[690])]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:IFS)
                  op: Equal
                  rhs: {($ VSub_Name "$OLDIFS")}
                  spids: [695]
                )
              ]
              spids: [695]
            )
            (C {(finish_output)})
          ]
          spids: [460]
        )
      spids: [455 459]
    )
    (ForEach
      iter_name: test_script
      iter_words: [
        {(DQ ($ VSub_Name "$TEST_OUTPUT_DIRECTORY")) (/test-results/) (Lit_Other "*") (.out)}
      ]
      do_arg_iter: False
      body: (DoGroup children:[(C {(handle_one)} {($ VSub_Name "$test_script")})] spids:[722729])
      spids: [714 -1]
    )
    (C {(output_all)})
  ]
)