(command.CommandList
  children: [
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:test_description)
          op: assign_op.Equal
          rhs: {(SQ <'git read-tree --prefix test.\n'>)}
          spids: [13]
        )
      ]
    )
    (C {<.>} {<'./test-lib.sh'>})
    (C {<test_expect_success>} {<setup>} 
      {
        (SQ <'\n'> <'\techo hello >one &&\n'> <'\tgit update-index --add one &&\n'> 
          <'\ttree=$(git write-tree) &&\n'> <'\techo tree is $tree\n'>
        )
      }
    )
    (command.Simple
      words: [{<echo>} {(SQ <'one\n'> <'two/one'>)}]
      redirects: [(redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<expect>})]
      do_fork: T
    )
    (C {<test_expect_success>} {(SQ <'read-tree --prefix'>)} 
      {
        (SQ <'\n'> <'\tgit read-tree --prefix=two/ $tree &&\n'> <'\tgit ls-files >actual &&\n'> 
          <'\tcmp expect actual\n'>
        )
      }
    )
    (C {<test_done>})
  ]
)