tests: use 'test_must_be_empty' instead of 'test_cmp <empty> <out>'
Using 'test_must_be_empty' is shorter and more idiomatic than >empty && test_cmp empty out as it saves the creation of an empty file. Furthermore, sometimes the expected empty file doesn't have such a descriptive name like 'empty', and its creation is far away from the place where it's finally used for comparison (e.g. in 't7600-merge.sh', where two expected empty files are created in the 'setup' test, but are used only about 500 lines later). These cases were found by instrumenting 'test_cmp' to error out the test script when it's used to compare empty files, and then converted manually. Note that even after this patch there still remain a lot of cases where we use 'test_cmp' to check empty files: - Sometimes the expected output is not hard-coded in the test, but 'test_cmp' is used to ensure that two similar git commands produce the same output, and that output happens to be empty, e.g. the test 'submodule update --merge - ignores --merge for new submodules' in 't7406-submodule-update.sh'. - Repetitive common tasks, including preparing the expected results and running 'test_cmp', are often extracted into a helper function, and some of this helper's callsites expect no output. - For the same reason as above, the whole 'test_expect_success' block is within a helper function, e.g. in 't3070-wildmatch.sh'. - Or 'test_cmp' is invoked in a loop, e.g. the test 'cvs update (-p)' in 't9400-git-cvsserver-server.sh'. Signed-off-by: SZEDER Gábor <szeder.dev@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:

committed by
Junio C Hamano

parent
ec21ac8c18
commit
1c5e94f459
@ -101,7 +101,6 @@ inspect() {
|
||||
|
||||
test_expect_success 'submodule add' '
|
||||
echo "refs/heads/master" >expect &&
|
||||
>empty &&
|
||||
|
||||
(
|
||||
cd addtest &&
|
||||
@ -123,7 +122,7 @@ test_expect_success 'submodule add' '
|
||||
inspect addtest/submod ../.. &&
|
||||
test_cmp expect heads &&
|
||||
test_cmp expect head &&
|
||||
test_cmp empty untracked
|
||||
test_must_be_empty untracked
|
||||
'
|
||||
|
||||
test_expect_success 'setup parent and one repository' '
|
||||
@ -188,7 +187,6 @@ test_expect_success 'submodule add --branch' '
|
||||
refs/heads/initial
|
||||
refs/heads/master
|
||||
EOF
|
||||
>empty &&
|
||||
|
||||
(
|
||||
cd addtest &&
|
||||
@ -201,12 +199,11 @@ test_expect_success 'submodule add --branch' '
|
||||
inspect addtest/submod-branch ../.. &&
|
||||
test_cmp expect-heads heads &&
|
||||
test_cmp expect-head head &&
|
||||
test_cmp empty untracked
|
||||
test_must_be_empty untracked
|
||||
'
|
||||
|
||||
test_expect_success 'submodule add with ./ in path' '
|
||||
echo "refs/heads/master" >expect &&
|
||||
>empty &&
|
||||
|
||||
(
|
||||
cd addtest &&
|
||||
@ -218,12 +215,11 @@ test_expect_success 'submodule add with ./ in path' '
|
||||
inspect addtest/dotsubmod/frotz ../../.. &&
|
||||
test_cmp expect heads &&
|
||||
test_cmp expect head &&
|
||||
test_cmp empty untracked
|
||||
test_must_be_empty untracked
|
||||
'
|
||||
|
||||
test_expect_success 'submodule add with /././ in path' '
|
||||
echo "refs/heads/master" >expect &&
|
||||
>empty &&
|
||||
|
||||
(
|
||||
cd addtest &&
|
||||
@ -235,12 +231,11 @@ test_expect_success 'submodule add with /././ in path' '
|
||||
inspect addtest/dotslashdotsubmod/frotz ../../.. &&
|
||||
test_cmp expect heads &&
|
||||
test_cmp expect head &&
|
||||
test_cmp empty untracked
|
||||
test_must_be_empty untracked
|
||||
'
|
||||
|
||||
test_expect_success 'submodule add with // in path' '
|
||||
echo "refs/heads/master" >expect &&
|
||||
>empty &&
|
||||
|
||||
(
|
||||
cd addtest &&
|
||||
@ -252,12 +247,11 @@ test_expect_success 'submodule add with // in path' '
|
||||
inspect addtest/slashslashsubmod/frotz ../../.. &&
|
||||
test_cmp expect heads &&
|
||||
test_cmp expect head &&
|
||||
test_cmp empty untracked
|
||||
test_must_be_empty untracked
|
||||
'
|
||||
|
||||
test_expect_success 'submodule add with /.. in path' '
|
||||
echo "refs/heads/master" >expect &&
|
||||
>empty &&
|
||||
|
||||
(
|
||||
cd addtest &&
|
||||
@ -269,12 +263,11 @@ test_expect_success 'submodule add with /.. in path' '
|
||||
inspect addtest/realsubmod ../.. &&
|
||||
test_cmp expect heads &&
|
||||
test_cmp expect head &&
|
||||
test_cmp empty untracked
|
||||
test_must_be_empty untracked
|
||||
'
|
||||
|
||||
test_expect_success 'submodule add with ./, /.. and // in path' '
|
||||
echo "refs/heads/master" >expect &&
|
||||
>empty &&
|
||||
|
||||
(
|
||||
cd addtest &&
|
||||
@ -286,7 +279,7 @@ test_expect_success 'submodule add with ./, /.. and // in path' '
|
||||
inspect addtest/realsubmod2 ../.. &&
|
||||
test_cmp expect heads &&
|
||||
test_cmp expect head &&
|
||||
test_cmp empty untracked
|
||||
test_must_be_empty untracked
|
||||
'
|
||||
|
||||
test_expect_success !CYGWIN 'submodule add with \\ in path' '
|
||||
@ -305,7 +298,6 @@ test_expect_success !CYGWIN 'submodule add with \\ in path' '
|
||||
|
||||
test_expect_success 'submodule add in subdirectory' '
|
||||
echo "refs/heads/master" >expect &&
|
||||
>empty &&
|
||||
|
||||
mkdir addtest/sub &&
|
||||
(
|
||||
@ -318,7 +310,7 @@ test_expect_success 'submodule add in subdirectory' '
|
||||
inspect addtest/realsubmod3 ../.. &&
|
||||
test_cmp expect heads &&
|
||||
test_cmp expect head &&
|
||||
test_cmp empty untracked
|
||||
test_must_be_empty untracked
|
||||
'
|
||||
|
||||
test_expect_success 'submodule add in subdirectory with relative path should fail' '
|
||||
@ -501,8 +493,6 @@ test_expect_success 'checkout superproject with subproject already present' '
|
||||
'
|
||||
|
||||
test_expect_success 'apply submodule diff' '
|
||||
>empty &&
|
||||
|
||||
git branch second &&
|
||||
(
|
||||
cd init &&
|
||||
@ -517,7 +507,7 @@ test_expect_success 'apply submodule diff' '
|
||||
git apply --index P.diff &&
|
||||
|
||||
git diff --cached master >staged &&
|
||||
test_cmp empty staged
|
||||
test_must_be_empty staged
|
||||
'
|
||||
|
||||
test_expect_success 'update --init' '
|
||||
|
Reference in New Issue
Block a user