t / t1515-rev-parse-outside-repo.shon commit t1500: test_rev_parse: facilitate future test enhancements (12f7526)
   1#!/bin/sh
   2
   3test_description='check that certain rev-parse options work outside repo'
   4. ./test-lib.sh
   5
   6test_expect_success 'set up non-repo directory' '
   7        GIT_CEILING_DIRECTORIES=$(pwd) &&
   8        export GIT_CEILING_DIRECTORIES &&
   9        mkdir non-repo &&
  10        cd non-repo &&
  11        # confirm that git does not find a repo
  12        test_must_fail git rev-parse --git-dir
  13'
  14
  15# Rather than directly test the output of sq-quote directly,
  16# make sure the shell can read back a tricky case, since
  17# that's what we really care about anyway.
  18tricky="really tricky with \\ and \" and '"
  19dump_args () {
  20        for i in "$@"; do
  21                echo "arg: $i"
  22        done
  23}
  24test_expect_success 'rev-parse --sq-quote' '
  25        dump_args "$tricky" easy >expect &&
  26        eval "dump_args $(git rev-parse --sq-quote "$tricky" easy)" >actual &&
  27        test_cmp expect actual
  28'
  29
  30test_expect_success 'rev-parse --local-env-vars' '
  31        git rev-parse --local-env-vars >actual &&
  32        # we do not want to depend on the complete list here,
  33        # so just look for something plausible
  34        grep ^GIT_DIR actual
  35'
  36
  37test_expect_success 'rev-parse --resolve-git-dir' '
  38        git init --separate-git-dir repo dir &&
  39        test_must_fail git rev-parse --resolve-git-dir . &&
  40        echo "$(pwd)/repo" >expect &&
  41        git rev-parse --resolve-git-dir dir/.git >actual &&
  42        test_cmp expect actual
  43'
  44
  45test_done