Create `.git/config` and `expect` files inside `test_expect_success`, either inside the one existing test that uses the file, or in a new "setup" step before several tests that use it. Redirect using `>output` rather than `> output`. Use `<<-\EOF" with heredocs rather than just `<< EOF` and use `q_to_tab` to create properly indented input and output files. This commit does not modernize the whole script, but just some of it, around the point where a later commit will add new content. Signed-off-by: Martin Ågren <martin.agren@xxxxxxxxx> --- t/t1300-config.sh | 138 ++++++++++++++++++++++------------------------ 1 file changed, 65 insertions(+), 73 deletions(-) diff --git a/t/t1300-config.sh b/t/t1300-config.sh index 983a0a1583..a38cc143a1 100755 --- a/t/t1300-config.sh +++ b/t/t1300-config.sh @@ -321,15 +321,14 @@ test_expect_success 'hierarchical section value' ' test_cmp expect .git/config ' -cat > expect << EOF -beta.noindent=sillyValue -nextsection.nonewline=wow2 for me -123456.a123=987 -version.1.2.3eX.alpha=beta -EOF - test_expect_success 'working --list' ' - git config --list > output && + cat >expect <<-\EOF && + beta.noindent=sillyValue + nextsection.nonewline=wow2 for me + 123456.a123=987 + version.1.2.3eX.alpha=beta + EOF + git config --list >output && test_cmp expect output ' test_expect_success '--list without repo produces empty output' ' @@ -337,55 +336,53 @@ test_expect_success '--list without repo produces empty output' ' test_must_be_empty output ' -cat > expect << EOF -beta.noindent -nextsection.nonewline -123456.a123 -version.1.2.3eX.alpha -EOF - test_expect_success '--name-only --list' ' + cat >expect <<-\EOF && + beta.noindent + nextsection.nonewline + 123456.a123 + version.1.2.3eX.alpha + EOF git config --name-only --list >output && test_cmp expect output ' -cat > expect << EOF -beta.noindent sillyValue -nextsection.nonewline wow2 for me -EOF - test_expect_success '--get-regexp' ' + cat >expect <<-\EOF && + beta.noindent sillyValue + nextsection.nonewline wow2 for me + EOF git config --get-regexp in >output && test_cmp expect output ' -cat > expect << EOF -beta.noindent -nextsection.nonewline -EOF - test_expect_success '--name-only --get-regexp' ' + cat >expect <<-\EOF && + beta.noindent + nextsection.nonewline + EOF git config --name-only --get-regexp in >output && test_cmp expect output ' -cat > expect << EOF -wow2 for me -wow4 for you -EOF - test_expect_success '--add' ' + cat >expect <<-\EOF && + wow2 for me + wow4 for you + EOF git config --add nextsection.nonewline "wow4 for you" && - git config --get-all nextsection.nonewline > output && + git config --get-all nextsection.nonewline >output && test_cmp expect output ' -cat > .git/config << EOF -[novalue] - variable -[emptyvalue] - variable = -EOF +test_expect_success 'setup config file with no/empty values' ' + q_to_tab >.git/config <<-\EOF + [novalue] + Qvariable + [emptyvalue] + Qvariable = + EOF +' test_expect_success 'get variable with no value' ' git config --get novalue.variable ^$ @@ -395,38 +392,33 @@ test_expect_success 'get variable with empty value' ' git config --get emptyvalue.variable ^$ ' -echo novalue.variable > expect - test_expect_success 'get-regexp variable with no value' ' - git config --get-regexp novalue > output && + echo novalue.variable >expect && + git config --get-regexp novalue >output && test_cmp expect output ' -echo 'novalue.variable true' > expect - test_expect_success 'get-regexp --bool variable with no value' ' - git config --bool --get-regexp novalue > output && + echo "novalue.variable true" >expect && + git config --bool --get-regexp novalue >output && test_cmp expect output ' -echo 'emptyvalue.variable ' > expect - test_expect_success 'get-regexp variable with empty value' ' - git config --get-regexp emptyvalue > output && + echo "emptyvalue.variable " >expect && + git config --get-regexp emptyvalue >output && test_cmp expect output ' -echo true > expect - test_expect_success 'get bool variable with no value' ' - git config --bool novalue.variable > output && + echo true >expect && + git config --bool novalue.variable >output && test_cmp expect output ' -echo false > expect - test_expect_success 'get bool variable with empty value' ' - git config --bool emptyvalue.variable > output && + echo false >expect && + git config --bool emptyvalue.variable >output && test_cmp expect output ' @@ -435,34 +427,34 @@ test_expect_success 'no arguments, but no crash' ' test_i18ngrep usage output ' -cat > .git/config << EOF -[a.b] - c = d -EOF - -cat > expect << EOF -[a.b] - c = d -[a] - x = y -EOF +test_expect_success 'setup simple config file' ' + q_to_tab >.git/config <<-\EOF + [a.b] + Qc = d + EOF +' test_expect_success 'new section is partial match of another' ' + q_to_tab >expect <<-\EOF && + [a.b] + Qc = d + [a] + Qx = y + EOF git config a.x y && test_cmp expect .git/config ' -cat > expect << EOF -[a.b] - c = d -[a] - x = y - b = c -[b] - x = y -EOF - test_expect_success 'new variable inserts into proper section' ' + q_to_tab >expect <<-\EOF && + [a.b] + Qc = d + [a] + Qx = y + Qb = c + [b] + Qx = y + EOF git config b.x y && git config a.b c && test_cmp expect .git/config -- 2.24.0