(command.CommandList
  children: [
    (command.CommandList
      children: [
        (command.Sentence
          child: 
            (C {<.>} 
              {
                (DQ 
                  (braced_var_sub
                    token: <Id.VSub_Name srcdir>
                    suffix_op: (suffix_op.Unary tok:<Id.VTest_Equals '='> arg_word:{<.>})
                  ) <'/tests/init.sh'>
                )
              }
            )
          terminator: <Id.Op_Semi _>
        )
        (C {<path_prepend_>} {<'./src'>})
      ]
    )
    (C {<print_ver_>} {<mv>})
    (command.AndOr ops:[Id.Op_DPipe] children:[(C {<touch>} {<f>}) (C {<framework_failure_>})])
    (command.AndOr
      ops: [Id.Op_DPipe]
      children: [(C {<ln>} {<-s>} {<f>} {<s2>}) (C {<framework_failure_>})]
    )
    (command.ForEach
      iter_name: opt
      iter_words: [{(SQ )} {<--backup>}]
      do_arg_iter: F
      body: 
        (command.DoGroup
          children: [
            (command.AndOr
              ops: [Id.Op_DPipe]
              children: [(C {<ln>} {<s2>} {<s1>}) (C {<framework_failure_>})]
            )
            (command.AndOr
              ops: [Id.Op_DPipe]
              children: [
                (C {<test>} {<-h>} {<s1>})
                (C {<skip_>} {<your>} {<kernel>} {<or>} {<file>} {<system>} {<cannot>} {<create>} {<a>} 
                  {<hard>} {<link>} {<to>} {<a>} {<symlink>}
                )
              ]
            )
            (command.AndOr
              ops: [Id.Op_DPipe]
              children: [
                (command.Simple
                  words: [{<mv>} {($ Id.VSub_DollarName '$opt')} {<s1>} {<s2>}]
                  redirects: [
                    (redir
                      op: <Id.Redir_Great '>'>
                      loc: (redir_loc.Fd fd:1)
                      arg: {<out>}
                    )
                    (redir
                      op: <Id.Redir_GreatAnd '2>&'>
                      loc: (redir_loc.Fd fd:2)
                      arg: {<1>}
                    )
                  ]
                  do_fork: T
                )
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name name:fail)
                      op: assign_op.Equal
                      rhs: {<1>}
                      spids: [195]
                    )
                  ]
                )
              ]
            )
            (command.AndOr
              ops: [Id.Op_DPipe]
              children: [
                (C {<compare>} {<'/dev/null'>} {<out>})
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name name:fail)
                      op: assign_op.Equal
                      rhs: {<1>}
                      spids: [207]
                    )
                  ]
                )
              ]
            )
            (command.AndOr
              ops: [Id.Op_DAmp]
              children: [
                (C {<test>} {<-e>} {<s1>})
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name name:fail)
                      op: assign_op.Equal
                      rhs: {<1>}
                      spids: [224]
                    )
                  ]
                )
              ]
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (C {<test>} {(DQ ($ Id.VSub_DollarName '$opt'))} {<Id.Lit_Equals '='>} 
                              {<--backup>}
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.AndOr
                      ops: [Id.Op_DPipe]
                      children: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:ref)
                              op: assign_op.Equal
                              rhs: 
                                {
                                  (command_sub
                                    left_token: <Id.Left_DollarParen '$('>
                                    child: (C {<readlink>} {<s2> <Id.Lit_TildeLike '~'>})
                                  )
                                }
                              spids: [249]
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:fail)
                              op: assign_op.Equal
                              rhs: {<1>}
                              spids: [259]
                            )
                          ]
                        )
                      ]
                    )
                    (command.AndOr
                      ops: [Id.Op_DPipe]
                      children: [
                        (C {<test>} {(DQ ($ Id.VSub_DollarName '$ref'))} {<Id.Lit_Equals '='>} {<f>})
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:fail)
                              op: assign_op.Equal
                              rhs: {<1>}
                              spids: [275]
                            )
                          ]
                        )
                      ]
                    )
                  ]
                  spids: [229 242]
                )
              ]
              else_action: [
                (command.AndOr
                  ops: [Id.Op_DAmp]
                  children: [
                    (C {<test>} {<-e>} {<s2> <Id.Lit_TildeLike '~'>})
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:fail)
                          op: assign_op.Equal
                          rhs: {<1>}
                          spids: [295]
                        )
                      ]
                    )
                  ]
                )
              ]
            )
          ]
        )
    )
    (C {<Exit>} {($ Id.VSub_DollarName '$fail')})
  ]
)