(CommandList
  children: [
    (Sentence
      child: 
        (C {(.)} 
          {
            (DQ 
              (BracedVarSub
                token: <VSub_Name srcdir>
                suffix_op: (StringUnary op_id:VTest_Equals arg_word:{(.)})
                spids: [47 51]
              ) (/tests/init.sh)
            )
          }
        )
      terminator: <Op_Semi ';'>
    )
    (C {(path_prepend_)} {(./src)})
    (C {(print_ver_)} {(nice)})
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:tests)
          op: Equal
          rhs: 
            {
              (SQ <'\n'> <'0 empty 10\n'> <'1 -1 1\n'> <'2 -12 12\n'> <'3 -1:-2 2\n'> <'4 -n:1 1\n'> 
                <'5 -n:1:-2 2\n'> <'6 -n:1:-+12 12\n'> <'7 -2:-n:1 1\n'> <'8 -2:-n:12 12\n'> <'9 -+1 1\n'> <'10 -+12 12\n'> 
                <'11 -+1:-+12 12\n'> <'12 -n:+1 1\n'> <'13 --1:-2 2\n'> <'14 --1:-2:-13 13\n'> <'15 --1:-n:2 2\n'> <'16 --1:-n:2:-3 3\n'> 
                <'17 --1:-n:2:-13 13\n'> <'18 -n:-1:-12 12\n'> <'19 --1:-12 12\n'> <'NA LAST NA\n'>
              )
            }
          spids: [65]
        )
      ]
      spids: [65]
    )
    (C {(set)} {($ VSub_Name '$tests')})
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:niceness)
          op: Equal
          rhs: 
            {
              (CommandSubPart
                command_list: (CommandList children:[(C {(nice)})])
                left_token: <Left_CommandSub '$('>
                spids: [100 102]
              )
            }
          spids: [99]
        )
      ]
      spids: [99]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: (C {(test)} {(DQ ($ VSub_Name '$niceness'))} {(Lit_Other '=')} {(0)})
              terminator: <Op_Semi ';'>
            )
          ]
          action: [(C {(Lit_Other ':')} {(ok)})]
          spids: [16777215 117]
        )
      ]
      else_action: [(C {(skip_)} {(DQ ('this test must be run at nice level 0'))})]
      spids: [124 133]
    )
    (While
      cond: [(Sentence child:(C {(Lit_Other ':')}) terminator:<Op_Semi ';'>)]
      body: 
        (DoGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:test_name)
                  op: Equal
                  rhs: {($ VSub_Number '$1')}
                  spids: [144]
                )
              ]
              spids: [144]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:args)
                  op: Equal
                  rhs: {($ VSub_Number '$2')}
                  spids: [148]
                )
              ]
              spids: [148]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:expected_result)
                  op: Equal
                  rhs: {($ VSub_Number '$3')}
                  spids: [152]
                )
              ]
              spids: [152]
            )
            (AndOr
              ops: [Op_DAmp]
              children: [
                (C {(test)} {($ VSub_Name '$args')} {(Lit_Other '=')} {(empty)})
                (Assignment
                  keyword: Assign_None
                  pairs: [(assign_pair lhs:(LhsName name:args) op:Equal rhs:{(SQ )} spids:[166])]
                  spids: [166]
                )
              ]
            )
            (AndOr
              ops: [Op_DAmp]
              children: [
                (C {(test)} {(x) ($ VSub_Name '$args')} {(Lit_Other '=')} {(xLAST)})
                (ControlFlow token:<ControlFlow_Break break>)
              ]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:args)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (Pipeline
                                children: [
                                  (C {(echo)} {(x) ($ VSub_Name '$args')})
                                  (C {(tr)} {(Lit_Other ':')} {(SQ <' '>)})
                                  (C {(sed)} {(SQ <'s/^x//'>)})
                                ]
                                negated: F
                              )
                            ]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [186 205]
                      )
                    }
                  spids: [185]
                )
              ]
              spids: [185]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(test)} {(DQ ($ VSub_Name '$VERBOSE'))} {(Lit_Other '=')} {(yes)})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Pipeline
                      children: [
                        (C {(echo)} {(DQ ('test ') ($ VSub_Name '$test_name') ('... '))})
                        (C {(tr)} {(-d)} {(SQ <'\\n'>)})
                      ]
                      negated: F
                    )
                  ]
                  spids: [16777215 221]
                )
              ]
              spids: [16777215 247]
            )
            (AndOr
              ops: [Op_DAmp Op_DPipe]
              children: [
                (C {(test)} 
                  {(x) 
                    (CommandSubPart
                      command_list: 
                        (CommandList
                          children: [
                            (SimpleCommand
                              words: [{(nice)} {($ VSub_Name '$args')} {(nice)}]
                              redirects: [
                                (Redir
                                  op_id: Redir_Great
                                  fd: 2
                                  arg_word: {(/dev/null)}
                                  spids: [260]
                                )
                              ]
                            )
                          ]
                        )
                      left_token: <Left_CommandSub '$('>
                      spids: [253 263]
                    )
                  } {(Lit_Other '=')} {(x) ($ VSub_Name '$expected_result')}
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [(assign_pair lhs:(LhsName name:ok) op:Equal rhs:{(ok)} spids:[274])]
                  spids: [274]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:ok)
                      op: Equal
                      rhs: {(FAIL)}
                      spids: [279]
                    )
                    (assign_pair
                      lhs: (LhsName name:fail)
                      op: Equal
                      rhs: {(1)}
                      spids: [282]
                    )
                  ]
                  spids: [279]
                )
              ]
            )
            (AndOr
              ops: [Op_DAmp]
              children: [
                (C {(test)} {(DQ ($ VSub_Name '$VERBOSE'))} {(Lit_Other '=')} {(yes)})
                (C {(echo)} {($ VSub_Name '$ok')})
              ]
            )
            (Sentence child:(C {(shift)}) terminator:<Op_Semi ';'>)
            (Sentence child:(C {(shift)}) terminator:<Op_Semi ';'>)
            (C {(shift)})
          ]
          spids: [141 311]
        )
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (C {(test)} 
                  {(x) 
                    (CommandSubPart
                      command_list: 
                        (CommandList
                          children: [
                            (SimpleCommand
                              words: [{(nice)} {(-n)} {(-1)} {(nice)}]
                              redirects: [
                                (Redir
                                  op_id: Redir_Great
                                  fd: 2
                                  arg_word: {(/dev/null)}
                                  spids: [331]
                                )
                              ]
                            )
                          ]
                        )
                      left_token: <Left_CommandSub '$('>
                      spids: [322 334]
                    )
                  } {(Lit_Other '=')} {(x0)}
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (AndOr
              ops: [Op_DPipe]
              children: [
                (SimpleCommand
                  words: [{(nice)} {(-n)} {(-1)} {(true)}]
                  redirects: [(Redir op_id:Redir_Great fd:2 arg_word:{(err)} spids:[357])]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[363])]
                  spids: [363]
                )
              ]
            )
            (AndOr
              ops: [Op_DPipe]
              children: [
                (C {(test)} {(-s)} {(err)})
                (Assignment
                  keyword: Assign_None
                  pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[375])]
                  spids: [375]
                )
              ]
            )
            (AndOr
              ops: [Op_DPipe]
              children: [(C {(mv)} {(err)} {(exp)}) (C {(framework_failure_)})]
            )
            (AndOr
              ops: [Op_DPipe]
              children: [
                (SimpleCommand
                  words: [{(nice)} {(--1)} {(true)}]
                  redirects: [(Redir op_id:Redir_Great fd:2 arg_word:{(err)} spids:[396])]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[402])]
                  spids: [402]
                )
              ]
            )
            (AndOr
              ops: [Op_DPipe]
              children: [
                (C {(compare)} {(exp)} {(err)})
                (Assignment
                  keyword: Assign_None
                  pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[414])]
                  spids: [414]
                )
              ]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (AndOr
                          ops: [Op_DAmp]
                          children: [(C {(test)} {(-w)} {(/dev/full)}) (C {(test)} {(-c)} {(/dev/full)})]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (SimpleCommand
                      words: [{(nice)} {(-n)} {(-1)} {(nice)}]
                      redirects: [
                        (Redir
                          op_id: Redir_Great
                          fd: 16777215
                          arg_word: {(out)}
                          spids: [450]
                        )
                        (Redir
                          op_id: Redir_Great
                          fd: 2
                          arg_word: {(/dev/full)}
                          spids: [454]
                        )
                      ]
                    )
                    (AndOr
                      ops: [Op_DPipe]
                      children: [
                        (C {(test)} {($ VSub_QMark '$?')} {(Lit_Other '=')} {(125)})
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:fail)
                              op: Equal
                              rhs: {(1)}
                              spids: [469]
                            )
                          ]
                          spids: [469]
                        )
                      ]
                    )
                    (AndOr
                      ops: [Op_DAmp]
                      children: [
                        (C {(test)} {(-s)} {(out)})
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:fail)
                              op: Equal
                              rhs: {(1)}
                              spids: [481]
                            )
                          ]
                          spids: [481]
                        )
                      ]
                    )
                  ]
                  spids: [16777215 439]
                )
              ]
              spids: [16777215 485]
            )
          ]
          spids: [16777215 342]
        )
      ]
      else_action: [
        (AndOr
          ops: [Op_DPipe]
          children: [
            (SimpleCommand
              words: [{(nice)} {(-n)} {(-1)} {(nice)}]
              redirects: [(Redir op_id:Redir_Great fd:2 arg_word:{(err)} spids:[502])]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[508])]
              spids: [508]
            )
          ]
        )
        (AndOr
          ops: [Op_DAmp]
          children: [
            (C {(test)} {(-s)} {(err)})
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[520])]
              spids: [520]
            )
          ]
        )
        (AndOr
          ops: [Op_DPipe]
          children: [
            (C {(test)} 
              {(x) 
                (CommandSubPart
                  command_list: (CommandList children:[(C {(nice)} {(-n)} {(-1)} {(nice)})])
                  left_token: <Left_CommandSub '$('>
                  spids: [527 535]
                )
              } {(Lit_Other '=')} {(x-1)}
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[543])]
              spids: [543]
            )
          ]
        )
        (AndOr
          ops: [Op_DPipe]
          children: [
            (C {(test)} 
              {(x) 
                (CommandSubPart
                  command_list: (CommandList children:[(C {(nice)} {(--1)} {(nice)})])
                  left_token: <Left_CommandSub '$('>
                  spids: [550 556]
                )
              } {(Lit_Other '=')} {(x-1)}
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[564])]
              spids: [564]
            )
          ]
        )
      ]
      spids: [487 567]
    )
    (C {(Exit)} {($ VSub_Name '$fail')})
  ]
)