diff options
Diffstat (limited to 'third_party/git/t/t1308-config-set.sh')
-rwxr-xr-x | third_party/git/t/t1308-config-set.sh | 284 |
1 files changed, 0 insertions, 284 deletions
diff --git a/third_party/git/t/t1308-config-set.sh b/third_party/git/t/t1308-config-set.sh deleted file mode 100755 index 3a527e3a8438..000000000000 --- a/third_party/git/t/t1308-config-set.sh +++ /dev/null @@ -1,284 +0,0 @@ -#!/bin/sh - -test_description='Test git config-set API in different settings' - -. ./test-lib.sh - -# 'check_config get_* section.key value' verifies that the entry for -# section.key is 'value' -check_config () { - if test "$1" = expect_code - then - expect_code="$2" && shift && shift - else - expect_code=0 - fi && - op=$1 key=$2 && shift && shift && - if test $# != 0 - then - printf "%s\n" "$@" - fi >expect && - test_expect_code $expect_code test-tool config "$op" "$key" >actual && - test_cmp expect actual -} - -test_expect_success 'setup default config' ' - cat >.git/config <<-\EOF - [case] - penguin = very blue - Movie = BadPhysics - UPPERCASE = true - MixedCase = true - my = - foo - baz = sam - [Cores] - WhatEver = Second - baz = bar - [cores] - baz = bat - [CORES] - baz = ball - [my "Foo bAr"] - hi = mixed-case - [my "FOO BAR"] - hi = upper-case - [my "foo bar"] - hi = lower-case - [case] - baz = bat - baz = hask - [lamb] - chop = 65 - head = none - [goat] - legs = 4 - head = true - skin = false - nose = 1 - horns - EOF -' - -test_expect_success 'get value for a simple key' ' - check_config get_value case.penguin "very blue" -' - -test_expect_success 'get value for a key with value as an empty string' ' - check_config get_value case.my "" -' - -test_expect_success 'get value for a key with value as NULL' ' - check_config get_value case.foo "(NULL)" -' - -test_expect_success 'upper case key' ' - check_config get_value case.UPPERCASE "true" && - check_config get_value case.uppercase "true" -' - -test_expect_success 'mixed case key' ' - check_config get_value case.MixedCase "true" && - check_config get_value case.MIXEDCASE "true" && - check_config get_value case.mixedcase "true" -' - -test_expect_success 'key and value with mixed case' ' - check_config get_value case.Movie "BadPhysics" -' - -test_expect_success 'key with case sensitive subsection' ' - check_config get_value "my.Foo bAr.hi" "mixed-case" && - check_config get_value "my.FOO BAR.hi" "upper-case" && - check_config get_value "my.foo bar.hi" "lower-case" -' - -test_expect_success 'key with case insensitive section header' ' - check_config get_value cores.baz "ball" && - check_config get_value Cores.baz "ball" && - check_config get_value CORES.baz "ball" && - check_config get_value coreS.baz "ball" -' - -test_expect_success 'key with case insensitive section header & variable' ' - check_config get_value CORES.BAZ "ball" && - check_config get_value cores.baz "ball" && - check_config get_value cores.BaZ "ball" && - check_config get_value cOreS.bAz "ball" -' - -test_expect_success 'find value with misspelled key' ' - check_config expect_code 1 get_value "my.fOo Bar.hi" "Value not found for \"my.fOo Bar.hi\"" -' - -test_expect_success 'find value with the highest priority' ' - check_config get_value case.baz "hask" -' - -test_expect_success 'find integer value for a key' ' - check_config get_int lamb.chop 65 -' - -test_expect_success 'find string value for a key' ' - check_config get_string case.baz hask && - check_config expect_code 1 get_string case.ba "Value not found for \"case.ba\"" -' - -test_expect_success 'check line error when NULL string is queried' ' - test_expect_code 128 test-tool config get_string case.foo 2>result && - test_i18ngrep "fatal: .*case\.foo.*\.git/config.*line 7" result -' - -test_expect_success 'find integer if value is non parse-able' ' - check_config expect_code 128 get_int lamb.head -' - -test_expect_success 'find bool value for the entered key' ' - check_config get_bool goat.head 1 && - check_config get_bool goat.skin 0 && - check_config get_bool goat.nose 1 && - check_config get_bool goat.horns 1 && - check_config get_bool goat.legs 1 -' - -test_expect_success 'find multiple values' ' - check_config get_value_multi case.baz sam bat hask -' - -test_expect_success 'find value from a configset' ' - cat >config2 <<-\EOF && - [case] - baz = lama - [my] - new = silk - [case] - baz = ball - EOF - echo silk >expect && - test-tool config configset_get_value my.new config2 .git/config >actual && - test_cmp expect actual -' - -test_expect_success 'find value with highest priority from a configset' ' - echo hask >expect && - test-tool config configset_get_value case.baz config2 .git/config >actual && - test_cmp expect actual -' - -test_expect_success 'find value_list for a key from a configset' ' - cat >expect <<-\EOF && - lama - ball - sam - bat - hask - EOF - test-tool config configset_get_value_multi case.baz config2 .git/config >actual && - test_cmp expect actual -' - -test_expect_success 'proper error on non-existent files' ' - echo "Error (-1) reading configuration file non-existent-file." >expect && - test_expect_code 2 test-tool config configset_get_value foo.bar non-existent-file 2>actual && - test_cmp expect actual -' - -test_expect_success 'proper error on directory "files"' ' - echo "Error (-1) reading configuration file a-directory." >expect && - mkdir a-directory && - test_expect_code 2 test-tool config configset_get_value foo.bar a-directory 2>output && - grep "^warning:" output && - grep "^Error" output >actual && - test_cmp expect actual -' - -test_expect_success POSIXPERM,SANITY 'proper error on non-accessible files' ' - chmod -r .git/config && - test_when_finished "chmod +r .git/config" && - echo "Error (-1) reading configuration file .git/config." >expect && - test_expect_code 2 test-tool config configset_get_value foo.bar .git/config 2>output && - grep "^warning:" output && - grep "^Error" output >actual && - test_cmp expect actual -' - -test_expect_success 'proper error on error in default config files' ' - cp .git/config .git/config.old && - test_when_finished "mv .git/config.old .git/config" && - echo "[" >>.git/config && - echo "fatal: bad config line 34 in file .git/config" >expect && - test_expect_code 128 test-tool config get_value foo.bar 2>actual && - test_i18ncmp expect actual -' - -test_expect_success 'proper error on error in custom config files' ' - echo "[" >>syntax-error && - echo "fatal: bad config line 1 in file syntax-error" >expect && - test_expect_code 128 test-tool config configset_get_value foo.bar syntax-error 2>actual && - test_i18ncmp expect actual -' - -test_expect_success 'check line errors for malformed values' ' - mv .git/config .git/config.old && - test_when_finished "mv .git/config.old .git/config" && - cat >.git/config <<-\EOF && - [alias] - br - EOF - test_expect_code 128 git br 2>result && - test_i18ngrep "missing value for .alias\.br" result && - test_i18ngrep "fatal: .*\.git/config" result && - test_i18ngrep "fatal: .*line 2" result -' - -test_expect_success 'error on modifying repo config without repo' ' - nongit test_must_fail git config a.b c 2>err && - test_i18ngrep "not in a git directory" err -' - -cmdline_config="'foo.bar=from-cmdline'" -test_expect_success 'iteration shows correct origins' ' - printf "[ignore]\n\tthis = please\n[foo]bar = from-repo\n" >.git/config && - printf "[foo]\n\tbar = from-home\n" >.gitconfig && - if test_have_prereq MINGW - then - # Use Windows path (i.e. *not* $HOME) - HOME_GITCONFIG=$(pwd)/.gitconfig - else - # Do not get fooled by symbolic links, i.e. $HOME != $(pwd) - HOME_GITCONFIG=$HOME/.gitconfig - fi && - cat >expect <<-EOF && - key=foo.bar - value=from-home - origin=file - name=$HOME_GITCONFIG - lno=2 - scope=global - - key=ignore.this - value=please - origin=file - name=.git/config - lno=2 - scope=local - - key=foo.bar - value=from-repo - origin=file - name=.git/config - lno=3 - scope=local - - key=foo.bar - value=from-cmdline - origin=command line - name= - lno=-1 - scope=command - EOF - GIT_CONFIG_PARAMETERS=$cmdline_config test-tool config iterate >actual && - test_cmp expect actual -' - -test_done |