(command.CommandList
  children: [
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:test_description)
          op: assign_op.Equal
          rhs: {(SQ (Token id:Id.Lit_Chars val:'diff --exit-code with whitespace' span_id:6))}
          spids: [4]
        )
      ]
    )
    (C {(.)} {(./test-lib.sh)})
    (C {(test_expect_success)} {(setup)} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:19) 
          (Token id:Id.Lit_Chars val:'\tmkdir a b &&\n' span_id:20) (Token id:Id.Lit_Chars val:'\techo >c &&\n' span_id:21) 
          (Token id:Id.Lit_Chars val:'\techo >a/d &&\n' span_id:22) (Token id:Id.Lit_Chars val:'\techo >b/e &&\n' span_id:23) 
          (Token id:Id.Lit_Chars val:'\tgit add . &&\n' span_id:24) (Token id:Id.Lit_Chars val:'\ttest_tick &&\n' span_id:25) 
          (Token id:Id.Lit_Chars val:'\tgit commit -m initial &&\n' span_id:26) (Token id:Id.Lit_Chars val:'\techo " " >a/d &&\n' span_id:27) 
          (Token id:Id.Lit_Chars val:'\ttest_tick &&\n' span_id:28) (Token id:Id.Lit_Chars val:'\tgit commit -a -m second &&\n' span_id:29) 
          (Token id:Id.Lit_Chars val:'\techo "  " >a/d &&\n' span_id:30) (Token id:Id.Lit_Chars val:'\techo " " >b/e &&\n' span_id:31) 
          (Token id:Id.Lit_Chars val:'\tgit add a/d\n' span_id:32)
        )
      }
    )
    (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'diff-tree --exit-code' span_id:39))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:43) 
          (Token
            id: Id.Lit_Chars
            val: '\ttest_must_fail git diff --exit-code HEAD^ HEAD &&\n'
            span_id: 44
          ) (Token id:Id.Lit_Chars val:'\ttest_must_fail git diff-tree --exit-code HEAD^ HEAD\n' span_id:45)
        )
      }
    )
    (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'diff-tree -b --exit-code' span_id:52))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:56) 
          (Token
            id: Id.Lit_Chars
            val: '\tgit diff -b --exit-code HEAD^ HEAD &&\n'
            span_id: 57
          ) (Token id:Id.Lit_Chars val:'\tgit diff-tree -b -p --exit-code HEAD^ HEAD &&\n' span_id:58) 
          (Token
            id: Id.Lit_Chars
            val: '\tgit diff-tree -b --exit-code HEAD^ HEAD\n'
            span_id: 59
          )
        )
      }
    )
    (C {(test_expect_success)} 
      {(SQ (Token id:Id.Lit_Chars val:'diff-index --cached --exit-code' span_id:66))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:70) 
          (Token
            id: Id.Lit_Chars
            val: '\ttest_must_fail git diff --cached --exit-code HEAD &&\n'
            span_id: 71
          ) (Token id:Id.Lit_Chars val:'\ttest_must_fail git diff-index --cached --exit-code HEAD\n' span_id:72)
        )
      }
    )
    (C {(test_expect_success)} 
      {(SQ (Token id:Id.Lit_Chars val:'diff-index -b -p --cached --exit-code' span_id:79))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:83) 
          (Token
            id: Id.Lit_Chars
            val: '\tgit diff -b --cached --exit-code HEAD &&\n'
            span_id: 84
          ) (Token id:Id.Lit_Chars val:'\tgit diff-index -b -p --cached --exit-code HEAD\n' span_id:85)
        )
      }
    )
    (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'diff-index --exit-code' span_id:92))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:96) 
          (Token
            id: Id.Lit_Chars
            val: '\ttest_must_fail git diff --exit-code HEAD &&\n'
            span_id: 97
          ) (Token id:Id.Lit_Chars val:'\ttest_must_fail git diff-index --exit-code HEAD\n' span_id:98)
        )
      }
    )
    (C {(test_expect_success)} 
      {(SQ (Token id:Id.Lit_Chars val:'diff-index -b -p --exit-code' span_id:105))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:109) 
          (Token id:Id.Lit_Chars val:'\tgit diff -b --exit-code HEAD &&\n' span_id:110) (Token id:Id.Lit_Chars val:'\tgit diff-index -b -p --exit-code HEAD\n' span_id:111)
        )
      }
    )
    (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'diff-files --exit-code' span_id:118))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:122) 
          (Token
            id: Id.Lit_Chars
            val: '\ttest_must_fail git diff --exit-code &&\n'
            span_id: 123
          ) (Token id:Id.Lit_Chars val:'\ttest_must_fail git diff-files --exit-code\n' span_id:124)
        )
      }
    )
    (C {(test_expect_success)} 
      {(SQ (Token id:Id.Lit_Chars val:'diff-files -b -p --exit-code' span_id:131))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:135) 
          (Token id:Id.Lit_Chars val:'\tgit diff -b --exit-code &&\n' span_id:136) (Token id:Id.Lit_Chars val:'\tgit diff-files -b -p --exit-code\n' span_id:137)
        )
      }
    )
    (C {(test_expect_success)} 
      {(SQ (Token id:Id.Lit_Chars val:'diff-files --diff-filter --quiet' span_id:144))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:148) 
          (Token id:Id.Lit_Chars val:'\tgit reset --hard &&\n' span_id:149) (Token id:Id.Lit_Chars val:'\trm a/d &&\n' span_id:150) 
          (Token id:Id.Lit_Chars val:'\techo x >>b/e &&\n' span_id:151) (Token id:Id.Lit_Chars val:'\ttest_must_fail git diff-files --diff-filter=M --quiet\n' span_id:152)
        )
      }
    )
    (C {(test_expect_success)} 
      {(SQ (Token id:Id.Lit_Chars val:'diff-tree --diff-filter --quiet' span_id:159))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:163) 
          (Token
            id: Id.Lit_Chars
            val: '\tgit commit -a -m "worktree state" &&\n'
            span_id: 164
          ) 
          (Token
            id: Id.Lit_Chars
            val: '\ttest_must_fail git diff-tree --diff-filter=M --quiet HEAD^ HEAD\n'
            span_id: 165
          )
        )
      }
    )
    (C {(test_done)})
  ]
)