(CommandList
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:failed_tests) op:Equal rhs:{(SQ )} spids:[4])]
      spids: [4]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:fixed) op:Equal rhs:{(0)} spids:[6])]
      spids: [6]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:success) op:Equal rhs:{(0)} spids:[9])]
      spids: [9]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:failed) op:Equal rhs:{(0)} spids:[12])]
      spids: [12]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:broken) op:Equal rhs:{(0)} spids:[15])]
      spids: [15]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:total) op:Equal rhs:{(0)} spids:[18])]
      spids: [18]
    )
    (While
      cond: [(C {(read)} {(file)})]
      body: 
        (DoGroup
          children: [
            (While
              cond: [(C {(read)} {(type)} {(value)})]
              body: 
                (DoGroup
                  children: [
                    (Case
                      to_match: {($ VSub_Name "$type")}
                      arms: [
                        (case_arm
                          pat_list: [{(SQ )}]
                          action: [(ControlFlow token:<ControlFlow_Continue continue>)]
                          spids: [-1 52 57 -1]
                        )
                        (case_arm
                          pat_list: [{(fixed)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:fixed)
                                  op: Equal
                                  rhs: 
                                    {
                                      (ArithSubPart
                                        anode: 
                                          (ArithBinary
                                            op_id: Arith_Plus
                                            left: (ArithWord w:{($ VSub_Name "$fixed")})
                                            right: (ArithWord w:{($ VSub_Name "$value")})
                                          )
                                        spids: [65 72]
                                      )
                                    }
                                  spids: [64]
                                )
                              ]
                              spids: [64]
                            )
                          ]
                          spids: [60 61 74 -1]
                        )
                        (case_arm
                          pat_list: [{(success)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:success)
                                  op: Equal
                                  rhs: 
                                    {
                                      (ArithSubPart
                                        anode: 
                                          (ArithBinary
                                            op_id: Arith_Plus
                                            left: (ArithWord w:{($ VSub_Name "$success")})
                                            right: (ArithWord w:{($ VSub_Name "$value")})
                                          )
                                        spids: [82 89]
                                      )
                                    }
                                  spids: [81]
                                )
                              ]
                              spids: [81]
                            )
                          ]
                          spids: [77 78 91 -1]
                        )
                        (case_arm
                          pat_list: [{(failed)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:failed)
                                  op: Equal
                                  rhs: 
                                    {
                                      (ArithSubPart
                                        anode: 
                                          (ArithBinary
                                            op_id: Arith_Plus
                                            left: (ArithWord w:{($ VSub_Name "$failed")})
                                            right: (ArithWord w:{($ VSub_Name "$value")})
                                          )
                                        spids: [99 106]
                                      )
                                    }
                                  spids: [98]
                                )
                              ]
                              spids: [98]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (C {(test)} {($ VSub_Name "$value")} {(KW_Bang "!") (Lit_Other "=")} 
                                      {(0)}
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:testnum)
                                          op: Equal
                                          rhs: 
                                            {
                                              (CommandSubPart
                                                command_list: 
                                                  (CommandList
                                                    children: [
                                                      (C {(expr)} {(DQ ($ VSub_Name "$file"))} 
                                                        {(Lit_Other ":")} {(SQ <"test-results/\\(t[0-9]*\\)-">)}
                                                      )
                                                    ]
                                                  )
                                                left_token: <Left_CommandSub "$(">
                                                spids: [125 137]
                                              )
                                            }
                                          spids: [124]
                                        )
                                      ]
                                      spids: [124]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:failed_tests)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ($ VSub_Name "$failed_tests") (" ") 
                                                ($ VSub_Name "$testnum")
                                              )
                                            }
                                          spids: [140]
                                        )
                                      ]
                                      spids: [140]
                                    )
                                  ]
                                  spids: [-1 121]
                                )
                              ]
                              spids: [-1 148]
                            )
                          ]
                          spids: [94 95 151 -1]
                        )
                        (case_arm
                          pat_list: [{(broken)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:broken)
                                  op: Equal
                                  rhs: 
                                    {
                                      (ArithSubPart
                                        anode: 
                                          (ArithBinary
                                            op_id: Arith_Plus
                                            left: (ArithWord w:{($ VSub_Name "$broken")})
                                            right: (ArithWord w:{($ VSub_Name "$value")})
                                          )
                                        spids: [159 166]
                                      )
                                    }
                                  spids: [158]
                                )
                              ]
                              spids: [158]
                            )
                          ]
                          spids: [154 155 168 -1]
                        )
                        (case_arm
                          pat_list: [{(total)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:total)
                                  op: Equal
                                  rhs: 
                                    {
                                      (ArithSubPart
                                        anode: 
                                          (ArithBinary
                                            op_id: Arith_Plus
                                            left: (ArithWord w:{($ VSub_Name "$total")})
                                            right: (ArithWord w:{($ VSub_Name "$value")})
                                          )
                                        spids: [176 183]
                                      )
                                    }
                                  spids: [175]
                                )
                              ]
                              spids: [175]
                            )
                          ]
                          spids: [171 172 185 -1]
                        )
                      ]
                      spids: [43 47 188]
                    )
                  ]
                  spids: [40 191]
                )
              redirects: [
                (Redir
                  op_id: Redir_Less
                  fd: -1
                  arg_word: {(DQ ($ VSub_Name "$file"))}
                  spids: [193]
                )
              ]
            )
          ]
          spids: [28 198]
        )
    )
    (If
      arms: [
        (if_arm
          cond: [(C {(test)} {(-n)} {(DQ ($ VSub_Name "$failed_tests"))})]
          action: [
            (C {(printf)} 
              {
                (DQ (EscapedLiteralPart token:<Lit_EscapedChar "\\n">) ("failed test(s):") 
                  ($ VSub_Name "$failed_tests") (EscapedLiteralPart token:<Lit_EscapedChar "\\n">) (EscapedLiteralPart token:<Lit_EscapedChar "\\n">)
                )
              }
            )
          ]
          spids: [-1 211]
        )
      ]
      spids: [-1 224]
    )
    (C {(printf)} {(DQ ("%-8s%d") (EscapedLiteralPart token:<Lit_EscapedChar "\\n">))} {(fixed)} 
      {($ VSub_Name "$fixed")}
    )
    (C {(printf)} {(DQ ("%-8s%d") (EscapedLiteralPart token:<Lit_EscapedChar "\\n">))} {(success)} 
      {($ VSub_Name "$success")}
    )
    (C {(printf)} {(DQ ("%-8s%d") (EscapedLiteralPart token:<Lit_EscapedChar "\\n">))} {(failed)} 
      {($ VSub_Name "$failed")}
    )
    (C {(printf)} {(DQ ("%-8s%d") (EscapedLiteralPart token:<Lit_EscapedChar "\\n">))} {(broken)} 
      {($ VSub_Name "$broken")}
    )
    (C {(printf)} {(DQ ("%-8s%d") (EscapedLiteralPart token:<Lit_EscapedChar "\\n">))} {(total)} 
      {($ VSub_Name "$total")}
    )
  ]
)