(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 <'Return value of diffs'>)}
        )
      ]
      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 <setup>)}
        {
          (SQ <'\n'> <'\techo "1 " >a &&\n'> <'\tgit add . &&\n'> <'\tgit commit -m zeroth &&\n'> 
            <'\techo 1 >a &&\n'> <'\tgit add . &&\n'> <'\tgit commit -m first &&\n'> <'\techo 2 >b &&\n'> <'\tgit add . &&\n'> 
            <'\tgit commit -a -m second\n'>
          )
        }
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'git diff --quiet -w  HEAD^^ HEAD^'>)}
        {(SQ <'\n'> <'\tgit diff --quiet -w HEAD^^ HEAD^\n'>)}
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'git diff --quiet HEAD^^ HEAD^'>)}
        {(SQ <'\n'> <'\ttest_must_fail git diff --quiet HEAD^^ HEAD^\n'>)}
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'git diff --quiet -w  HEAD^ HEAD'>)}
        {(SQ <'\n'> <'\ttest_must_fail git diff --quiet -w HEAD^ HEAD\n'>)}
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'git diff-tree HEAD^ HEAD'>)}
        {(SQ <'\n'> <'\ttest_expect_code 1 git diff-tree --exit-code HEAD^ HEAD\n'>)}
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'git diff-tree HEAD^ HEAD -- a'>)}
        {(SQ <'\n'> <'\tgit diff-tree --exit-code HEAD^ HEAD -- a\n'>)}
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'git diff-tree HEAD^ HEAD -- b'>)}
        {(SQ <'\n'> <'\ttest_expect_code 1 git diff-tree --exit-code HEAD^ HEAD -- b\n'>)}
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'echo HEAD | git diff-tree --stdin'>)}
        {
          (SQ <'\n'> 
            <
'\techo $(git rev-parse HEAD) | test_expect_code 1 git diff-tree --exit-code --stdin\n'
            >
          )
        }
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'git diff-tree HEAD HEAD'>)}
        {(SQ <'\n'> <'\tgit diff-tree --exit-code HEAD HEAD\n'>)}
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'git diff-files'>)}
        {(SQ <'\n'> <'\tgit diff-files --exit-code\n'>)}
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'git diff-index --cached HEAD'>)}
        {(SQ <'\n'> <'\tgit diff-index --exit-code --cached HEAD\n'>)}
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'git diff-index --cached HEAD^'>)}
        {(SQ <'\n'> <'\ttest_expect_code 1 git diff-index --exit-code --cached HEAD^\n'>)}
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'git diff-index --cached HEAD^'>)}
        {
          (SQ <'\n'> <'\techo text >>b &&\n'> <'\techo 3 >c &&\n'> <'\tgit add . &&\n'> 
            <'\ttest_expect_code 1 git diff-index --exit-code --cached HEAD^\n'>
          )
        }
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'git diff-tree -Stext HEAD^ HEAD -- b'>)}
        {
          (SQ <'\n'> <'\tgit commit -m "text in b" &&\n'> 
            <'\ttest_expect_code 1 git diff-tree -p --exit-code -Stext HEAD^ HEAD -- b\n'>
          )
        }
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'git diff-tree -Snot-found HEAD^ HEAD -- b'>)}
        {(SQ <'\n'> <'\tgit diff-tree -p --exit-code -Snot-found HEAD^ HEAD -- b\n'>)}
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'git diff-files'>)}
        {(SQ <'\n'> <'\techo 3 >>c &&\n'> <'\ttest_expect_code 1 git diff-files --exit-code\n'>)}
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'git diff-index --cached HEAD'>)}
        {
          (SQ <'\n'> <'\tgit update-index c &&\n'> 
            <'\ttest_expect_code 1 git diff-index --exit-code --cached HEAD\n'>
          )
        }
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'--check --exit-code returns 0 for no difference'>)}
        {(SQ <'\n'> <'\n'> <'\tgit diff --check --exit-code\n'> <'\n'>)}
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'--check --exit-code returns 1 for a clean difference'>)}
        {
          (SQ <'\n'> <'\n'> <'\techo "good" > a &&\n'> 
            <'\ttest_expect_code 1 git diff --check --exit-code\n'> <'\n'>
          )
        }
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'--check --exit-code returns 3 for a dirty difference'>)}
        {
          (SQ <'\n'> <'\n'> <'\techo "bad   " >> a &&\n'> 
            <'\ttest_expect_code 3 git diff --check --exit-code\n'> <'\n'>
          )
        }
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'--check with --no-pager returns 2 for dirty difference'>)}
        {(SQ <'\n'> <'\n'> <'\ttest_expect_code 2 git --no-pager diff --check\n'> <'\n'>)}
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'check should test not just the last line'>)}
        {
          (SQ <'\n'> <'\techo "" >>a &&\n'> <'\ttest_expect_code 2 git --no-pager diff --check\n'> 
            <'\n'>
          )
        }
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'check detects leftover conflict markers'>)}
        {
          (SQ <'\n'> <'\tgit reset --hard &&\n'> <'\tgit checkout HEAD^ &&\n'> 
            <'\techo binary >>b &&\n'> <'\tgit commit -m "side" b &&\n'> <'\ttest_must_fail git merge master &&\n'> <'\tgit add b &&\n'> 
            <'\ttest_expect_code 2 git --no-pager diff --cached --check >test.out &&\n'> <'\ttest 3 = $(grep "conflict marker" test.out | wc -l) &&\n'> <'\tgit reset --hard\n'>
          )
        }
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'check honors conflict marker length'>)}
        {
          (SQ <'\n'> <'\tgit reset --hard &&\n'> <'\techo ">>>>>>> boo" >>b &&\n'> 
            <'\techo "======" >>a &&\n'> <'\tgit diff --check a &&\n'> <'\ttest_expect_code 2 git diff --check b &&\n'> 
            <'\tgit reset --hard &&\n'> <'\techo ">>>>>>>> boo" >>b &&\n'> <'\techo "========" >>a &&\n'> <'\tgit diff --check &&\n'> 
            <'\techo "b conflict-marker-size=8" >.gitattributes &&\n'> <'\ttest_expect_code 2 git diff --check b &&\n'> <'\tgit diff --check a &&\n'> <'\tgit reset --hard\n'>
          )
        }
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_done>
      more_env: []
      words: [{<test_done>}]
      redirects: []
      do_fork: T
    )
  ]
)