(command.CommandList
  children: [
    (C {(set)} {(-e)})
    (command.CommandList
      children: [
        (command.Sentence
          child: 
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:common_objpfx spids:[54])
                  op: Equal
                  rhs: {($ VSub_Number '$1')}
                  spids: [54]
                )
              ]
              spids: [54]
            )
          terminator: <Op_Semi ';'>
        )
        (C {(shift)})
      ]
    )
    (command.CommandList
      children: [
        (command.Sentence
          child: 
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:test_program_prefix spids:[60])
                  op: Equal
                  rhs: {($ VSub_Number '$1')}
                  spids: [60]
                )
              ]
              spids: [60]
            )
          terminator: <Op_Semi ';'>
        )
        (C {(shift)})
      ]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:status spids:[67])
          op: Equal
          rhs: {(0)}
          spids: [67]
        )
      ]
      spids: [67]
    )
    (command.AndOr
      ops: [Op_DPipe]
      children: [
        (command.SimpleCommand
          words: [
            {(${ VSub_Name test_program_prefix)}
            {(${ VSub_Name common_objpfx) (stdio-common/tst-unbputc)}
          ]
          redirects: [
            (redir.Redir
              op: <Redir_Great '2>'>
              fd: 2
              arg_word: {(${ VSub_Name common_objpfx) (stdio-common/tst-unbputc.out)}
            )
          ]
        )
        (command.Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (lhs_expr.LhsName name:status spids:[93])
              op: Equal
              rhs: {(1)}
              spids: [93]
            )
          ]
          spids: [93]
        )
      ]
    )
    (command.AndOr
      ops: [Op_DPipe]
      children: [
        (command.Subshell
          child: 
            (command.Pipeline
              children: [
                (C {(printf)} {(12)})
                (C {(cmp)} {(${ VSub_Name common_objpfx) (stdio-common/tst-unbputc.out)} {(-)})
              ]
              negated: F
            )
          spids: [97 112]
        )
        (command.Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (lhs_expr.LhsName name:status spids:[116])
              op: Equal
              rhs: {(1)}
              spids: [116]
            )
          ]
          spids: [116]
        )
      ]
    )
    (command.ControlFlow token:<ControlFlow_Exit exit> arg_word:{($ VSub_DollarName '$status')})
  ]
)