t / t1600-index.shon commit Merge branch 'pt/t0302-needs-sanity' (b3689ce)
   1#!/bin/sh
   2
   3test_description='index file specific tests'
   4
   5. ./test-lib.sh
   6
   7test_expect_success 'setup' '
   8        echo 1 >a
   9'
  10
  11test_expect_success 'bogus GIT_INDEX_VERSION issues warning' '
  12        (
  13                rm -f .git/index &&
  14                GIT_INDEX_VERSION=2bogus &&
  15                export GIT_INDEX_VERSION &&
  16                git add a 2>&1 | sed "s/[0-9]//" >actual.err &&
  17                sed -e "s/ Z$/ /" <<-\EOF >expect.err &&
  18                        warning: GIT_INDEX_VERSION set, but the value is invalid.
  19                        Using version Z
  20                EOF
  21                test_i18ncmp expect.err actual.err
  22        )
  23'
  24
  25test_expect_success 'out of bounds GIT_INDEX_VERSION issues warning' '
  26        (
  27                rm -f .git/index &&
  28                GIT_INDEX_VERSION=1 &&
  29                export GIT_INDEX_VERSION &&
  30                git add a 2>&1 | sed "s/[0-9]//" >actual.err &&
  31                sed -e "s/ Z$/ /" <<-\EOF >expect.err &&
  32                        warning: GIT_INDEX_VERSION set, but the value is invalid.
  33                        Using version Z
  34                EOF
  35                test_i18ncmp expect.err actual.err
  36        )
  37'
  38
  39test_expect_success 'no warning with bogus GIT_INDEX_VERSION and existing index' '
  40        (
  41                GIT_INDEX_VERSION=1 &&
  42                export GIT_INDEX_VERSION &&
  43                git add a 2>actual.err &&
  44                >expect.err &&
  45                test_i18ncmp expect.err actual.err
  46        )
  47'
  48
  49test_expect_success 'out of bounds index.version issues warning' '
  50        (
  51                sane_unset GIT_INDEX_VERSION &&
  52                rm -f .git/index &&
  53                git config --add index.version 1 &&
  54                git add a 2>&1 | sed "s/[0-9]//" >actual.err &&
  55                sed -e "s/ Z$/ /" <<-\EOF >expect.err &&
  56                        warning: index.version set, but the value is invalid.
  57                        Using version Z
  58                EOF
  59                test_i18ncmp expect.err actual.err
  60        )
  61'
  62
  63test_expect_success 'GIT_INDEX_VERSION takes precedence over config' '
  64        (
  65                rm -f .git/index &&
  66                GIT_INDEX_VERSION=4 &&
  67                export GIT_INDEX_VERSION &&
  68                git config --add index.version 2 &&
  69                git add a 2>&1 &&
  70                echo 4 >expect &&
  71                test-index-version <.git/index >actual &&
  72                test_cmp expect actual
  73        )
  74'
  75
  76test_done