(command.CommandList
  children: [
    (command.ShAssignment
      left: <Id.Lit_VarLike 'test_description='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'test_description='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'test_description='> name:test_description)
          op: assign_op.Equal
          rhs: {(SQ <'test diff with a bogus tree containing the null sha1'>)}
        )
      ]
      redirects: []
    )
    (command.Simple
      blame_tok: <.>
      more_env: []
      words: [{<.>} {<'./test-lib.sh'>}]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'create bogus tree'>)}
        {
          (SQ <'\n'> <'\tbogus_tree=$(\n'> <'\t\tprintf "100644 fooQQQQQQQQQQQQQQQQQQQQQ" |\n'> 
            <'\t\tq_to_nul |\n'> <'\t\tgit hash-object -w --stdin -t tree\n'> <'\t)\n'>
          )
        }
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'create tree with matching file'>)}
        {
          (SQ <'\n'> <'\techo bar >foo &&\n'> <'\tgit add foo &&\n'> 
            <'\tgood_tree=$(git write-tree) &&\n'> <'\tblob=$(git rev-parse :foo)\n'>
          )
        }
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'raw diff shows null sha1 (addition)'>)}
        {
          (SQ <'\n'> <'\techo ":000000 100644 $_z40 $_z40 A\tfoo" >expect &&\n'> 
            <'\tgit diff-tree $EMPTY_TREE $bogus_tree >actual &&\n'> <'\ttest_cmp expect actual\n'>
          )
        }
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'raw diff shows null sha1 (removal)'>)}
        {
          (SQ <'\n'> <'\techo ":100644 000000 $_z40 $_z40 D\tfoo" >expect &&\n'> 
            <'\tgit diff-tree $bogus_tree $EMPTY_TREE >actual &&\n'> <'\ttest_cmp expect actual\n'>
          )
        }
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'raw diff shows null sha1 (modification)'>)}
        {
          (SQ <'\n'> <'\techo ":100644 100644 $blob $_z40 M\tfoo" >expect &&\n'> 
            <'\tgit diff-tree $good_tree $bogus_tree >actual &&\n'> <'\ttest_cmp expect actual\n'>
          )
        }
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'raw diff shows null sha1 (other direction)'>)}
        {
          (SQ <'\n'> <'\techo ":100644 100644 $_z40 $blob M\tfoo" >expect &&\n'> 
            <'\tgit diff-tree $bogus_tree $good_tree >actual &&\n'> <'\ttest_cmp expect actual\n'>
          )
        }
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'raw diff shows null sha1 (reverse)'>)}
        {
          (SQ <'\n'> <'\techo ":100644 100644 $_z40 $blob M\tfoo" >expect &&\n'> 
            <'\tgit diff-tree -R $good_tree $bogus_tree >actual &&\n'> <'\ttest_cmp expect actual\n'>
          )
        }
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'raw diff shows null sha1 (index)'>)}
        {
          (SQ <'\n'> <'\techo ":100644 100644 $_z40 $blob M\tfoo" >expect &&\n'> 
            <'\tgit diff-index $bogus_tree >actual &&\n'> <'\ttest_cmp expect actual\n'>
          )
        }
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'patch fails due to bogus sha1 (addition)'>)}
        {(SQ <'\n'> <'\ttest_must_fail git diff-tree -p $EMPTY_TREE $bogus_tree\n'>)}
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'patch fails due to bogus sha1 (removal)'>)}
        {(SQ <'\n'> <'\ttest_must_fail git diff-tree -p $bogus_tree $EMPTY_TREE\n'>)}
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'patch fails due to bogus sha1 (modification)'>)}
        {(SQ <'\n'> <'\ttest_must_fail git diff-tree -p $good_tree $bogus_tree\n'>)}
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'patch fails due to bogus sha1 (other direction)'>)}
        {(SQ <'\n'> <'\ttest_must_fail git diff-tree -p $bogus_tree $good_tree\n'>)}
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'patch fails due to bogus sha1 (reverse)'>)}
        {(SQ <'\n'> <'\ttest_must_fail git diff-tree -R -p $good_tree $bogus_tree\n'>)}
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'patch fails due to bogus sha1 (index)'>)}
        {(SQ <'\n'> <'\ttest_must_fail git diff-index -p $bogus_tree\n'>)}
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_done>
      more_env: []
      words: [{<test_done>}]
      redirects: []
      do_fork: T
    )
  ]
)