(CommandList
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:test_name)
          op: Equal
          rhs: {($ VSub_Number '$1')}
          spids: [53]
        )
      ]
      spids: [53]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:rc) op:Equal rhs:{($ VSub_Number '$2')} spids:[56])]
      spids: [56]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:orig_rc) op:Equal rhs:{($ VSub_Name '$rc')} spids:[59])]
      spids: [59]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:xfail) op:Equal rhs:{($ VSub_Number '$3')} spids:[62])]
      spids: [62]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:stop_on_failure)
          op: Equal
          rhs: {($ VSub_Number '$4')}
          spids: [65]
        )
      ]
      spids: [65]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: (C {(Lit_Other '[')} {($ VSub_Name '$rc')} {(-eq)} {(77)} {(Lit_Other ']')})
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:result)
                  op: Equal
                  rhs: {(DQ (UNSUPPORTED))}
                  spids: [85]
                )
              ]
              spids: [85]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:rc) op:Equal rhs:{(0)} spids:[91])]
              spids: [91]
            )
          ]
          spids: [16777215 82]
        )
      ]
      else_action: [
        (If
          arms: [
            (if_arm
              cond: [
                (Sentence
                  child: (C {(Lit_Other '[')} {($ VSub_Name '$rc')} {(-eq)} {(0)} {(Lit_Other ']')})
                  terminator: <Op_Semi ';'>
                )
              ]
              action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:result)
                      op: Equal
                      rhs: {(DQ (PASS))}
                      spids: [113]
                    )
                  ]
                  spids: [113]
                )
              ]
              spids: [16777215 110]
            )
          ]
          else_action: [
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:result) op:Equal rhs:{(DQ (FAIL))} spids:[122])]
              spids: [122]
            )
          ]
          spids: [119 128]
        )
        (If
          arms: [
            (if_arm
              cond: [(Sentence child:(C {($ VSub_Name '$xfail')}) terminator:<Op_Semi ';'>)]
              action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:result)
                      op: Equal
                      rhs: {(DQ (X) ($ VSub_Name '$result'))}
                      spids: [140]
                    )
                  ]
                  spids: [140]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [(assign_pair lhs:(LhsName name:rc) op:Equal rhs:{(0)} spids:[147])]
                  spids: [147]
                )
              ]
              spids: [16777215 137]
            )
          ]
          spids: [16777215 151]
        )
      ]
      spids: [94 153]
    )
    (C {(echo)} {(DQ ($ VSub_Name '$result') (': ') ($ VSub_Name '$test_name'))})
    (C {(echo)} {(DQ ('original exit status ') ($ VSub_Name '$orig_rc'))})
    (If
      arms: [
        (if_arm
          cond: [(Sentence child:(C {($ VSub_Name '$stop_on_failure')}) terminator:<Op_Semi ';'>)]
          action: [(ControlFlow token:<ControlFlow_Exit exit> arg_word:{($ VSub_Name '$rc')})]
          spids: [16777215 176]
        )
      ]
      else_action: [(ControlFlow token:<ControlFlow_Exit exit> arg_word:{(0)})]
      spids: [183 190]
    )
  ]
)