t / t1600-index.shon commit tree: simplify parse_tree_indirect() (1577dc0)
   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                test_must_be_empty actual.err
  45        )
  46'
  47
  48test_expect_success 'out of bounds index.version issues warning' '
  49        (
  50                sane_unset GIT_INDEX_VERSION &&
  51                rm -f .git/index &&
  52                git config --add index.version 1 &&
  53                git add a 2>&1 | sed "s/[0-9]//" >actual.err &&
  54                sed -e "s/ Z$/ /" <<-\EOF >expect.err &&
  55                        warning: index.version set, but the value is invalid.
  56                        Using version Z
  57                EOF
  58                test_i18ncmp expect.err actual.err
  59        )
  60'
  61
  62test_expect_success 'GIT_INDEX_VERSION takes precedence over config' '
  63        (
  64                rm -f .git/index &&
  65                GIT_INDEX_VERSION=4 &&
  66                export GIT_INDEX_VERSION &&
  67                git config --add index.version 2 &&
  68                git add a 2>&1 &&
  69                echo 4 >expect &&
  70                test-tool index-version <.git/index >actual &&
  71                test_cmp expect actual
  72        )
  73'
  74
  75test_done