(command.CommandList
  children: [
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:failed_tests)
          op: assign_op.Equal
          rhs: (word.Empty)
          spids: [4]
        )
      ]
    )
    (command.ShAssignment
      pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:fixed) op:assign_op.Equal rhs:{<0>} spids:[6])]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:success)
          op: assign_op.Equal
          rhs: {<0>}
          spids: [9]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:failed)
          op: assign_op.Equal
          rhs: {<0>}
          spids: [12]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:broken)
          op: assign_op.Equal
          rhs: {<0>}
          spids: [15]
        )
      ]
    )
    (command.ShAssignment
      pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:total) op:assign_op.Equal rhs:{<0>} spids:[18])]
    )
    (command.WhileUntil
      keyword: <Id.KW_While while>
      cond: (condition.Shell commands:[(C {<read>} {<file>})])
      body: 
        (command.DoGroup
          children: [
            (command.WhileUntil
              keyword: <Id.KW_While while>
              cond: (condition.Shell commands:[(C {<read>} {<type>} {<value>})])
              body: 
                (command.DoGroup
                  children: [
                    (command.Case
                      to_match: {($ Id.VSub_DollarName '$type')}
                      arms: [
                        (case_arm
                          pat_list: [{(SQ )}]
                          action: [(command.ControlFlow token:<Id.ControlFlow_Continue continue>)]
                          spids: [50 52 57 -1]
                        )
                        (case_arm
                          pat_list: [{<fixed>}]
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name name:fixed)
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (word_part.ArithSub
                                        anode: 
                                          (arith_expr.Binary
                                            op_id: Id.Arith_Plus
                                            left: {($ Id.VSub_DollarName '$fixed')}
                                            right: {($ Id.VSub_DollarName '$value')}
                                          )
                                      )
                                    }
                                  spids: [64]
                                )
                              ]
                            )
                          ]
                          spids: [60 61 74 -1]
                        )
                        (case_arm
                          pat_list: [{<success>}]
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name name:success)
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (word_part.ArithSub
                                        anode: 
                                          (arith_expr.Binary
                                            op_id: Id.Arith_Plus
                                            left: {($ Id.VSub_DollarName '$success')}
                                            right: {($ Id.VSub_DollarName '$value')}
                                          )
                                      )
                                    }
                                  spids: [81]
                                )
                              ]
                            )
                          ]
                          spids: [77 78 91 -1]
                        )
                        (case_arm
                          pat_list: [{<failed>}]
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name name:failed)
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (word_part.ArithSub
                                        anode: 
                                          (arith_expr.Binary
                                            op_id: Id.Arith_Plus
                                            left: {($ Id.VSub_DollarName '$failed')}
                                            right: {($ Id.VSub_DollarName '$value')}
                                          )
                                      )
                                    }
                                  spids: [98]
                                )
                              ]
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (C {<test>} {($ Id.VSub_DollarName '$value')} 
                                          {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {<0>}
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: (sh_lhs_expr.Name name:testnum)
                                          op: assign_op.Equal
                                          rhs: 
                                            {
                                              (command_sub
                                                left_token: <Id.Left_DollarParen '$('>
                                                child: 
                                                  (C {<expr>} {(DQ ($ Id.VSub_DollarName '$file'))} 
                                                    {<Id.Lit_Colon ':'>} {(SQ <'test-results/\\(t[0-9]*\\)-'>)}
                                                  )
                                              )
                                            }
                                          spids: [124]
                                        )
                                      ]
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: (sh_lhs_expr.Name name:failed_tests)
                                          op: assign_op.Equal
                                          rhs: 
                                            {
                                              (DQ ($ Id.VSub_DollarName '$failed_tests') <' '> 
                                                ($ Id.VSub_DollarName '$testnum')
                                              )
                                            }
                                          spids: [140]
                                        )
                                      ]
                                    )
                                  ]
                                  spids: [109 121]
                                )
                              ]
                            )
                          ]
                          spids: [94 95 151 -1]
                        )
                        (case_arm
                          pat_list: [{<broken>}]
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name name:broken)
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (word_part.ArithSub
                                        anode: 
                                          (arith_expr.Binary
                                            op_id: Id.Arith_Plus
                                            left: {($ Id.VSub_DollarName '$broken')}
                                            right: {($ Id.VSub_DollarName '$value')}
                                          )
                                      )
                                    }
                                  spids: [158]
                                )
                              ]
                            )
                          ]
                          spids: [154 155 168 -1]
                        )
                        (case_arm
                          pat_list: [{<total>}]
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name name:total)
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (word_part.ArithSub
                                        anode: 
                                          (arith_expr.Binary
                                            op_id: Id.Arith_Plus
                                            left: {($ Id.VSub_DollarName '$total')}
                                            right: {($ Id.VSub_DollarName '$value')}
                                          )
                                      )
                                    }
                                  spids: [175]
                                )
                              ]
                            )
                          ]
                          spids: [171 172 185 -1]
                        )
                      ]
                    )
                  ]
                )
              redirects: [
                (redir
                  op: <Id.Redir_Less '<'>
                  loc: (redir_loc.Fd fd:0)
                  arg: {(DQ ($ Id.VSub_DollarName '$file'))}
                )
              ]
            )
          ]
        )
    )
    (command.If
      arms: [
        (if_arm
          cond: 
            (condition.Shell
              commands: [(C {<test>} {<-n>} {(DQ ($ Id.VSub_DollarName '$failed_tests'))})]
            )
          action: [
            (C {<printf>} 
              {
                (DQ <Id.Lit_BadBackslash '\\'> <'nfailed test(s):'> 
                  ($ Id.VSub_DollarName '$failed_tests') <Id.Lit_BadBackslash '\\'> <n> <Id.Lit_BadBackslash '\\'> <n>
                )
              }
            )
          ]
          spids: [201 211]
        )
      ]
    )
    (C {<printf>} {(DQ <'%-8s%d'> <Id.Lit_BadBackslash '\\'> <n>)} {<fixed>} 
      {($ Id.VSub_DollarName '$fixed')}
    )
    (C {<printf>} {(DQ <'%-8s%d'> <Id.Lit_BadBackslash '\\'> <n>)} {<success>} 
      {($ Id.VSub_DollarName '$success')}
    )
    (C {<printf>} {(DQ <'%-8s%d'> <Id.Lit_BadBackslash '\\'> <n>)} {<failed>} 
      {($ Id.VSub_DollarName '$failed')}
    )
    (C {<printf>} {(DQ <'%-8s%d'> <Id.Lit_BadBackslash '\\'> <n>)} {<broken>} 
      {($ Id.VSub_DollarName '$broken')}
    )
    (C {<printf>} {(DQ <'%-8s%d'> <Id.Lit_BadBackslash '\\'> <n>)} {<total>} 
      {($ Id.VSub_DollarName '$total')}
    )
  ]
)