(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:'help.autocorrect finding a match' span_id:6))}
          spids: [4]
        )
      ]
    )
    (C {(.)} {(./test-lib.sh)})
    (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:setup span_id:17))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:21) 
          (Token id:Id.Lit_Chars val:'\t# An alias\n' span_id:22) (Token id:Id.Lit_Chars val:'\tgit config alias.lgf "log --format=%s --first-parent" &&\n' span_id:23) 
          (Token id:Id.Lit_Chars val:'\n' span_id:24) (Token id:Id.Lit_Chars val:'\t# A random user-defined command\n' span_id:25) 
          (Token
            id: Id.Lit_Chars
            val: '\twrite_script git-distimdistim <<-EOF &&\n'
            span_id: 26
          ) (Token id:Id.Lit_Chars val:'\t\techo distimdistim was called\n' span_id:27) 
          (Token id:Id.Lit_Chars val:'\tEOF\n' span_id:28) (Token id:Id.Lit_Chars val:'\n' span_id:29) 
          (Token id:Id.Lit_Chars val:'\tPATH="$PATH:." &&\n' span_id:30) (Token id:Id.Lit_Chars val:'\texport PATH &&\n' span_id:31) 
          (Token id:Id.Lit_Chars val:'\n' span_id:32) (Token id:Id.Lit_Chars val:'\tgit commit --allow-empty -m "a single log entry" &&\n' span_id:33) 
          (Token id:Id.Lit_Chars val:'\n' span_id:34) (Token id:Id.Lit_Chars val:'\t# Sanity check\n' span_id:35) 
          (Token id:Id.Lit_Chars val:'\tgit lgf >actual &&\n' span_id:36) (Token id:Id.Lit_Chars val:'\techo "a single log entry" >expect &&\n' span_id:37) 
          (Token id:Id.Lit_Chars val:'\ttest_cmp expect actual &&\n' span_id:38) (Token id:Id.Lit_Chars val:'\n' span_id:39) 
          (Token id:Id.Lit_Chars val:'\tgit distimdistim >actual &&\n' span_id:40) (Token id:Id.Lit_Chars val:'\techo "distimdistim was called" >expect &&\n' span_id:41) 
          (Token id:Id.Lit_Chars val:'\ttest_cmp expect actual\n' span_id:42)
        )
      }
    )
    (C {(test_expect_success)} 
      {(SQ (Token id:Id.Lit_Chars val:'autocorrect showing candidates' span_id:49))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:53) 
          (Token id:Id.Lit_Chars val:'\tgit config help.autocorrect 0 &&\n' span_id:54) (Token id:Id.Lit_Chars val:'\n' span_id:55) 
          (Token id:Id.Lit_Chars val:'\ttest_must_fail git lfg 2>actual &&\n' span_id:56) (Token id:Id.Lit_Chars val:'\tgrep "^\tlgf" actual &&\n' span_id:57) 
          (Token id:Id.Lit_Chars val:'\n' span_id:58) (Token id:Id.Lit_Chars val:'\ttest_must_fail git distimdist 2>actual &&\n' span_id:59) 
          (Token id:Id.Lit_Chars val:'\tgrep "^\tdistimdistim" actual\n' span_id:60)
        )
      }
    )
    (C {(test_expect_success)} 
      {(SQ (Token id:Id.Lit_Chars val:'autocorrect running commands' span_id:67))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:71) 
          (Token id:Id.Lit_Chars val:'\tgit config help.autocorrect -1 &&\n' span_id:72) (Token id:Id.Lit_Chars val:'\n' span_id:73) 
          (Token id:Id.Lit_Chars val:'\tgit lfg >actual &&\n' span_id:74) (Token id:Id.Lit_Chars val:'\techo "a single log entry" >expect &&\n' span_id:75) 
          (Token id:Id.Lit_Chars val:'\ttest_cmp expect actual &&\n' span_id:76) (Token id:Id.Lit_Chars val:'\n' span_id:77) 
          (Token id:Id.Lit_Chars val:'\tgit distimdist >actual &&\n' span_id:78) (Token id:Id.Lit_Chars val:'\techo "distimdistim was called" >expect &&\n' span_id:79) 
          (Token id:Id.Lit_Chars val:'\ttest_cmp expect actual\n' span_id:80)
        )
      }
    )
    (C {(test_done)})
  ]
)