(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 <'basic sanity checks for git var'>)}
        )
      ]
      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 <'get GIT_AUTHOR_IDENT'>)}
        {
          (SQ <'\n'> <'\ttest_tick &&\n'> 
            <'\techo "$GIT_AUTHOR_NAME <$GIT_AUTHOR_EMAIL> $GIT_AUTHOR_DATE" >expect &&\n'> <'\tgit var GIT_AUTHOR_IDENT >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 <'get GIT_COMMITTER_IDENT'>)}
        {
          (SQ <'\n'> <'\ttest_tick &&\n'> 
            <'\techo "$GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE" >expect &&\n'> <'\tgit var GIT_COMMITTER_IDENT >actual &&\n'> <'\ttest_cmp expect actual\n'>
          )
        }
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {<Id.KW_Bang '!'> <AUTOIDENT>}
        {(SQ <'requested identites are strict'>)}
        {
          (SQ <'\n'> <'\t(\n'> <'\t\tsane_unset GIT_COMMITTER_NAME &&\n'> 
            <'\t\tsane_unset GIT_COMMITTER_EMAIL &&\n'> <'\t\ttest_must_fail git var GIT_COMMITTER_IDENT\n'> <'\t)\n'>
          )
        }
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'git var -l lists variables'>)}
        {
          (SQ <'\n'> <'\tgit var -l >actual &&\n'> 
            <'\techo "$GIT_AUTHOR_NAME <$GIT_AUTHOR_EMAIL> $GIT_AUTHOR_DATE" >expect &&\n'> <'\tsed -n s/GIT_AUTHOR_IDENT=//p <actual >actual.author &&\n'> <'\ttest_cmp expect actual.author\n'>
          )
        }
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'git var -l lists config'>)}
        {
          (SQ <'\n'> <'\tgit var -l >actual &&\n'> <'\techo false >expect &&\n'> 
            <'\tsed -n s/core\\\\.bare=//p <actual >actual.bare &&\n'> <'\ttest_cmp expect actual.bare\n'>
          )
        }
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'listing and asking for variables are exclusive'>)}
        {(SQ <'\n'> <'\ttest_must_fail git var -l GIT_COMMITTER_IDENT\n'>)}
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_done>
      more_env: []
      words: [{<test_done>}]
      redirects: []
      do_fork: T
    )
  ]
)