(CommandList
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:test_description)
          op: Equal
          rhs: {(SQ <'index file specific tests'>)}
          spids: [4]
        )
      ]
      spids: [4]
    )
    (C {(.)} {(./test-lib.sh)})
    (C {(test_expect_success)} {(SQ <setup>)} {(SQ <'\n'> <'\techo 1 >a\n'>)})
    (C {(test_expect_success)} {(SQ <'bogus GIT_INDEX_VERSION issues warning'>)} 
      {
        (SQ <'\n'> <'\t(\n'> <'\t\trm -f .git/index &&\n'> <'\t\tGIT_INDEX_VERSION=2bogus &&\n'> 
          <'\t\texport GIT_INDEX_VERSION &&\n'> <'\t\tgit add a 2>&1 | sed "s/[0-9]//" >actual.err &&\n'> 
          <'\t\tsed -e "s/ Z$/ /" <<-\\EOF >expect.err &&\n'> <'\t\t\twarning: GIT_INDEX_VERSION set, but the value is invalid.\n'> <'\t\t\tUsing version Z\n'> 
          <'\t\tEOF\n'> <'\t\ttest_i18ncmp expect.err actual.err\n'> <'\t)\n'>
        )
      }
    )
    (C {(test_expect_success)} {(SQ <'out of bounds GIT_INDEX_VERSION issues warning'>)} 
      {
        (SQ <'\n'> <'\t(\n'> <'\t\trm -f .git/index &&\n'> <'\t\tGIT_INDEX_VERSION=1 &&\n'> 
          <'\t\texport GIT_INDEX_VERSION &&\n'> <'\t\tgit add a 2>&1 | sed "s/[0-9]//" >actual.err &&\n'> 
          <'\t\tsed -e "s/ Z$/ /" <<-\\EOF >expect.err &&\n'> <'\t\t\twarning: GIT_INDEX_VERSION set, but the value is invalid.\n'> <'\t\t\tUsing version Z\n'> 
          <'\t\tEOF\n'> <'\t\ttest_i18ncmp expect.err actual.err\n'> <'\t)\n'>
        )
      }
    )
    (C {(test_expect_success)} {(SQ <'no warning with bogus GIT_INDEX_VERSION and existing index'>)} 
      {
        (SQ <'\n'> <'\t(\n'> <'\t\tGIT_INDEX_VERSION=1 &&\n'> <'\t\texport GIT_INDEX_VERSION &&\n'> 
          <'\t\tgit add a 2>actual.err &&\n'> <'\t\t>expect.err &&\n'> <'\t\ttest_i18ncmp expect.err actual.err\n'> <'\t)\n'>
        )
      }
    )
    (C {(test_expect_success)} {(SQ <'out of bounds index.version issues warning'>)} 
      {
        (SQ <'\n'> <'\t(\n'> <'\t\tsane_unset GIT_INDEX_VERSION &&\n'> <'\t\trm -f .git/index &&\n'> 
          <'\t\tgit config --add index.version 1 &&\n'> <'\t\tgit add a 2>&1 | sed "s/[0-9]//" >actual.err &&\n'> 
          <'\t\tsed -e "s/ Z$/ /" <<-\\EOF >expect.err &&\n'> <'\t\t\twarning: index.version set, but the value is invalid.\n'> <'\t\t\tUsing version Z\n'> 
          <'\t\tEOF\n'> <'\t\ttest_i18ncmp expect.err actual.err\n'> <'\t)\n'>
        )
      }
    )
    (C {(test_expect_success)} {(SQ <'GIT_INDEX_VERSION takes precedence over config'>)} 
      {
        (SQ <'\n'> <'\t(\n'> <'\t\trm -f .git/index &&\n'> <'\t\tGIT_INDEX_VERSION=4 &&\n'> 
          <'\t\texport GIT_INDEX_VERSION &&\n'> <'\t\tgit config --add index.version 2 &&\n'> <'\t\tgit add a 2>&1 &&\n'> <'\t\techo 4 >expect &&\n'> 
          <'\t\ttest-index-version <.git/index >actual &&\n'> <'\t\ttest_cmp expect actual\n'> <'\t)\n'>
        )
      }
    )
    (C {(test_done)})
  ]
)