]> git.ipfire.org Git - thirdparty/git.git/commitdiff
tests: use 'test_must_be_empty' instead of 'test_cmp <empty> <out>'
authorSZEDER Gábor <szeder.dev@gmail.com>
Sun, 19 Aug 2018 21:57:25 +0000 (23:57 +0200)
committerJunio C Hamano <gitster@pobox.com>
Tue, 21 Aug 2018 18:48:36 +0000 (11:48 -0700)
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>
46 files changed:
t/t0001-init.sh
t/t0003-attributes.sh
t/t0030-stripspace.sh
t/t0040-parse-options.sh
t/t0061-run-command.sh
t/t1300-config.sh
t/t1410-reflog.sh
t/t1411-reflog-show.sh
t/t1450-fsck.sh
t/t1600-index.sh
t/t1700-split-index.sh
t/t2200-add-update.sh
t/t2203-add-intent.sh
t/t3001-ls-files-others-exclude.sh
t/t3004-ls-files-basic.sh
t/t3035-merge-sparse.sh
t/t3301-notes.sh
t/t3404-rebase-interactive.sh
t/t4015-diff-whitespace.sh
t/t4027-diff-submodule.sh
t/t4041-diff-submodule-option.sh
t/t4060-diff-submodule-option-diff-format.sh
t/t4132-apply-removal.sh
t/t4203-mailmap.sh
t/t4212-log-corrupt.sh
t/t4300-merge-tree.sh
t/t5304-prune.sh
t/t5314-pack-cycle-detection.sh
t/t5526-fetch-submodules.sh
t/t6112-rev-list-filters-objects.sh
t/t6120-describe.sh
t/t6130-pathspec-noglob.sh
t/t6200-fmt-merge-msg.sh
t/t7004-tag.sh
t/t7008-grep-binary.sh
t/t7064-wtstatus-pv2.sh
t/t7201-co.sh
t/t7400-submodule-basic.sh
t/t7501-commit.sh
t/t7600-merge.sh
t/t7610-mergetool.sh
t/t7810-grep.sh
t/t7811-grep-open.sh
t/t9011-svn-da.sh
t/t9200-git-cvsexportcommit.sh
t/t9903-bash-prompt.sh

index 4c865051e7dd3d27eee0e2666b4aaaaa46116d5c..28f34fd3bd3c0ab2b24138fcaff413823208f5a1 100755 (executable)
@@ -167,9 +167,8 @@ test_expect_success 'reinit' '
        ) &&
        test_i18ngrep "Initialized empty" again/out1 &&
        test_i18ngrep "Reinitialized existing" again/out2 &&
-       >again/empty &&
-       test_i18ncmp again/empty again/err1 &&
-       test_i18ncmp again/empty again/err2
+       test_must_be_empty again/err1 &&
+       test_must_be_empty again/err2
 '
 
 test_expect_success 'init with --template' '
index f19ae4f8ccddacee84e04fa50663672f5f6174c1..ee2f5c238916961e19c29376e8e1744615ce076b 100755 (executable)
@@ -208,9 +208,8 @@ test_expect_success 'attribute test: --all option' '
 '
 
 test_expect_success 'attribute test: --cached option' '
-       : >empty &&
        git check-attr --cached --stdin --all <stdin-all | sort >actual &&
-       test_cmp empty actual &&
+       test_must_be_empty actual &&
        git add .gitattributes a/.gitattributes a/b/.gitattributes &&
        git check-attr --cached --stdin --all <stdin-all | sort >actual &&
        test_cmp specified-all actual
index b77948c618ecdd3ac654500ae2143863eccf4f9f..5ce47e8af51d63c7bd294e6f7582f10e4891566d 100755 (executable)
@@ -320,22 +320,20 @@ test_expect_success \
 
 test_expect_success \
     'spaces with newline at end should be replaced with empty string' '
-    printf "" >expect &&
-
     echo | git stripspace >actual &&
-    test_cmp expect actual &&
+    test_must_be_empty actual &&
 
     echo "$sss" | git stripspace >actual &&
-    test_cmp expect actual &&
+    test_must_be_empty actual &&
 
     echo "$sss$sss" | git stripspace >actual &&
-    test_cmp expect actual &&
+    test_must_be_empty actual &&
 
     echo "$sss$sss$sss" | git stripspace >actual &&
-    test_cmp expect actual &&
+    test_must_be_empty actual &&
 
     echo "$sss$sss$sss$sss" | git stripspace >actual &&
-    test_cmp expect actual
+    test_must_be_empty actual
 '
 
 test_expect_success \
@@ -349,19 +347,17 @@ test_expect_success \
 
 test_expect_success \
     'spaces without newline at end should be replaced with empty string' '
-    printf "" >expect &&
-
     printf "" | git stripspace >actual &&
-    test_cmp expect actual &&
+    test_must_be_empty actual &&
 
     printf "$sss$sss" | git stripspace >actual &&
-    test_cmp expect actual &&
+    test_must_be_empty actual &&
 
     printf "$sss$sss$sss" | git stripspace >actual &&
-    test_cmp expect actual &&
+    test_must_be_empty actual &&
 
     printf "$sss$sss$sss$sss" | git stripspace >actual &&
-    test_cmp expect actual
+    test_must_be_empty actual
 '
 
 test_expect_success \
index 04d474c84fd69121c686f5ca5adc40ce081f0e9d..5b0560fa20e3459a3fa62753ebfafaa2afa276e1 100755 (executable)
@@ -286,11 +286,9 @@ test_expect_success 'OPT_CALLBACK() and OPT_BIT() work' '
        test_cmp expect output
 '
 
->expect
-
 test_expect_success 'OPT_CALLBACK() and callback errors work' '
        test_must_fail test-parse-options --no-length >output 2>output.err &&
-       test_i18ncmp expect output &&
+       test_must_be_empty output &&
        test_must_be_empty output.err
 '
 
index c887ed5b45e824d281343196c8781cbb6e85abed..3e131c5325e363fa6188456e3f5f3f47f762801e 100755 (executable)
@@ -11,7 +11,6 @@ cat >hello-script <<-EOF
        #!$SHELL_PATH
        cat hello-script
 EOF
->empty
 
 test_expect_success 'start_command reports ENOENT' '
        test-tool run-command start-command-ENOENT ./does-not-exist
@@ -23,7 +22,7 @@ test_expect_success 'run_command can run a command' '
        test-tool run-command run-command ./hello.sh >actual 2>err &&
 
        test_cmp hello-script actual &&
-       test_cmp empty err
+       test_must_be_empty err
 '
 
 test_expect_success !MINGW 'run_command can run a script without a #! line' '
@@ -34,7 +33,7 @@ test_expect_success !MINGW 'run_command can run a script without a #! line' '
        test-tool run-command run-command ./hello >actual 2>err &&
 
        test_cmp hello-script actual &&
-       test_cmp empty err
+       test_must_be_empty err
 '
 
 test_expect_success 'run_command does not try to execute a directory' '
@@ -47,7 +46,7 @@ test_expect_success 'run_command does not try to execute a directory' '
        PATH=$PWD/bin1:$PWD/bin2:$PATH \
                test-tool run-command run-command greet >actual 2>err &&
        test_cmp bin2/greet actual &&
-       test_cmp empty err
+       test_must_be_empty err
 '
 
 test_expect_success POSIXPERM 'run_command passes over non-executable file' '
@@ -64,7 +63,7 @@ test_expect_success POSIXPERM 'run_command passes over non-executable file' '
        PATH=$PWD/bin1:$PWD/bin2:$PATH \
                test-tool run-command run-command greet >actual 2>err &&
        test_cmp bin2/greet actual &&
-       test_cmp empty err
+       test_must_be_empty err
 '
 
 test_expect_success POSIXPERM 'run_command reports EACCES' '
index 03c223708ebb428125dffb4a9ca273629936ff0c..84e88cf5a93b167815a1691d640c16b845e9514a 100755 (executable)
@@ -346,12 +346,9 @@ test_expect_success 'working --list' '
        git config --list > output &&
        test_cmp expect output
 '
-cat > expect << EOF
-EOF
-
 test_expect_success '--list without repo produces empty output' '
        git --git-dir=nonexistent config --list >output &&
-       test_cmp expect output
+       test_must_be_empty output
 '
 
 cat > expect << EOF
index 8293131001ee0e816406df858dc47bc2fb9be3ce..388b0611d8e4590f36d9aa44f11d4945a2ae7408 100755 (executable)
@@ -290,9 +290,8 @@ test_expect_success 'stale dirs do not cause d/f conflicts (reflogs off)' '
        # same as before, but we only create a reflog for "one" if
        # it already exists, which it does not
        git -c core.logallrefupdates=false branch one master &&
-       : >expect &&
        git log -g --format="%gd %gs" one >actual &&
-       test_cmp expect actual
+       test_must_be_empty actual
 '
 
 # Triggering the bug detected by this test requires a newline to fall
index 596907758d5d47ae8026098a2ce4acd8c01df6aa..26590f9a217f210726563da5d1bed5014d5f968c 100755 (executable)
@@ -136,13 +136,12 @@ test_expect_success '--date magic does not override explicit @{0} syntax' '
        test_cmp expect actual
 '
 
-: >expect
 test_expect_success 'empty reflog file' '
        git branch empty &&
        git reflog expire --expire=all refs/heads/empty &&
 
        git log -g empty >actual &&
-       test_cmp expect actual
+       test_must_be_empty actual
 '
 
 # This guards against the alternative of showing the diffs vs. the
index 91fd71444dbe40400b6608b56d51ae72e8ceafbc..a652f6002a1992592a2aa30d1ee88e99a14e22d8 100755 (executable)
@@ -16,8 +16,7 @@ test_expect_success setup '
        git checkout HEAD^0 &&
        test_commit B fileB two &&
        git tag -d A B &&
-       git reflog expire --expire=now --all &&
-       >empty
+       git reflog expire --expire=now --all
 '
 
 test_expect_success 'loose objects borrowed from alternate are not missing' '
@@ -29,12 +28,12 @@ test_expect_success 'loose objects borrowed from alternate are not missing' '
                test_commit C fileC one &&
                git fsck --no-dangling >../actual 2>&1
        ) &&
-       test_cmp empty actual
+       test_must_be_empty actual
 '
 
 test_expect_success 'HEAD is part of refs, valid objects appear valid' '
        git fsck >actual 2>&1 &&
-       test_cmp empty actual
+       test_must_be_empty actual
 '
 
 # Corruption tests follow.  Make sure to remove all traces of the
@@ -346,12 +345,12 @@ test_expect_success 'tag with NUL in header' '
 
 test_expect_success 'cleaned up' '
        git fsck >actual 2>&1 &&
-       test_cmp empty actual
+       test_must_be_empty actual
 '
 
 test_expect_success 'rev-list --verify-objects' '
        git rev-list --verify-objects --all >/dev/null 2>out &&
-       test_cmp empty out
+       test_must_be_empty out
 '
 
 test_expect_success 'rev-list --verify-objects with bad sha1' '
index c4422312f4e482e38172b1ac8b87e29d8708af2e..42962ed7d46f6dafa09c7b276942c32da130e300 100755 (executable)
@@ -41,8 +41,7 @@ test_expect_success 'no warning with bogus GIT_INDEX_VERSION and existing index'
                GIT_INDEX_VERSION=1 &&
                export GIT_INDEX_VERSION &&
                git add a 2>actual.err &&
-               >expect.err &&
-               test_i18ncmp expect.err actual.err
+               test_must_be_empty actual.err
        )
 '
 
index 1e81b33b2e3a23a135c9b9440787a6e0c0deaa22..f85ba5780397cdca3d3b22ca453f153f43ae86ae 100755 (executable)
@@ -143,9 +143,7 @@ test_expect_success 'remove file not in base index' '
 test_expect_success 'remove file in base index' '
        git update-index --force-remove one &&
        git ls-files --stage >ls-files.actual &&
-       cat >ls-files.expect <<-EOF &&
-       EOF
-       test_cmp ls-files.expect ls-files.actual &&
+       test_must_be_empty ls-files.actual &&
 
        test-tool dump-split-index .git/index | sed "/^own/d" >actual &&
        cat >expect <<-EOF &&
index 314c73c5a708fda8f39e7a86bf3db0329191d7a7..f764b7e3f53e95e11acd4c2bdaafb737979d45e2 100755 (executable)
@@ -88,9 +88,8 @@ test_expect_success 'non-qualified update in subdir updates from the root' '
                echo even more >>sub2 &&
                git add -u
        ) &&
-       : >expect &&
        git diff-files --name-only >actual &&
-       test_cmp expect actual
+       test_must_be_empty actual
 '
 
 test_expect_success 'replace a file with a symlink' '
index e7a400b4c77a822a49365e4049fbe68b059d23ee..68e54d5c4420092e481ae1324d419f5e5ec0c8ab 100755 (executable)
@@ -195,8 +195,7 @@ test_expect_success 'rename detection finds the right names' '
                test_cmp expected.4 actual.4 &&
 
                git diff --cached --stat >actual.5 &&
-               : >expected.5 &&
-               test_cmp expected.5 actual.5
+               test_must_be_empty actual.5
 
        )
 '
@@ -241,8 +240,7 @@ test_expect_success 'diff-files/diff-cached shows ita as new/not-new files' '
        echo " create mode 100644 new-ita" >expected &&
        test_cmp expected actual &&
        git diff --cached --summary >actual2 &&
-       : >expected2 &&
-       test_cmp expected2 actual2
+       test_must_be_empty actual2
 '
 
 
index 3b47647ed56aa88b35227ef295e6a3432e5ab8f1..1ec7cb57c7a81ff9258143e7c8d4a81dc96ff8dc 100755 (executable)
@@ -277,9 +277,8 @@ test_expect_success 'hide empty ignored sub-directory with --no-empty-directory'
 '
 
 test_expect_success 'pattern matches prefix completely' '
-       : >expect &&
        git ls-files -i -o --exclude "/three/a.3[abc]" >actual &&
-       test_cmp expect actual
+       test_must_be_empty actual
 '
 
 test_expect_success 'ls-files with "**" patterns' '
@@ -295,9 +294,8 @@ EOF
 
 
 test_expect_success 'ls-files with "**" patterns and no slashes' '
-       : >expect &&
        git ls-files -o -i --exclude "one**a.1" >actual &&
-       test_cmp expect actual
+       test_must_be_empty actual
 '
 
 test_done
index 9c7adbdbe1cd7bf03e9b8f10a75f0acb4f37a5b2..9fd5a1f188aae0507c335de65a742977c6976d69 100755 (executable)
@@ -8,16 +8,14 @@ command-line arguments.
 
 . ./test-lib.sh
 
->empty
-
 test_expect_success 'ls-files in empty repository' '
        git ls-files >actual &&
-       test_cmp empty actual
+       test_must_be_empty actual
 '
 
 test_expect_success 'ls-files with nonexistent path' '
        git ls-files doesnotexist >actual &&
-       test_cmp empty actual
+       test_must_be_empty actual
 '
 
 test_expect_success 'ls-files with nonsense option' '
index 0c0b433bd3dddc4211fb4b31d3e8fab31ee5e430..c4b4a94324a2e6c60ade51db7f7a9c1922920395 100755 (executable)
@@ -17,7 +17,6 @@ test_commit_this () {
 }
 
 test_expect_success 'setup' '
-       : >empty &&
        test_file checked-out init &&
        test_file modify_delete modify_delete_init &&
        test_commit_this init &&
@@ -38,7 +37,7 @@ test_expect_success 'reset --hard works after the conflict' '
 
 test_expect_success 'is reset properly' '
        git status --porcelain -- modify_delete >out &&
-       test_cmp empty out &&
+       test_must_be_empty out &&
        test_path_is_missing modify_delete
 '
 
@@ -52,7 +51,7 @@ test_expect_success 'Merge abort works after the conflict' '
 
 test_expect_success 'is aborted properly' '
        git status --porcelain -- modify_delete >out &&
-       test_cmp empty out &&
+       test_must_be_empty out &&
        test_path_is_missing modify_delete
 '
 
index 2d200fdf36c62c12cbbf2a964d3489edef401257..e5703a0d5b42fb8a76ca85aae77fe312369ea61c 100755 (executable)
@@ -481,10 +481,8 @@ test_expect_success 'list specific note with "git notes list <object>"' '
 '
 
 test_expect_success 'listing non-existing notes fails' '
-       cat >expect <<-EOF &&
-       EOF
        test_must_fail git notes list HEAD >actual &&
-       test_cmp expect actual
+       test_must_be_empty actual
 '
 
 test_expect_success 'append to existing note with "git notes append"' '
index 01616901bdc868619fee8e28dce14649bd2661db..5997770dc3d7480dd1aa8139fbc7c56e6a56b66e 100755 (executable)
@@ -787,16 +787,15 @@ test_expect_success 'always cherry-pick with --no-ff' '
        git tag original-no-ff-branch &&
        set_fake_editor &&
        git rebase -i --no-ff A &&
-       touch empty &&
        for p in 0 1 2
        do
                test ! $(git rev-parse HEAD~$p) = $(git rev-parse original-no-ff-branch~$p) &&
                git diff HEAD~$p original-no-ff-branch~$p > out &&
-               test_cmp empty out
+               test_must_be_empty out
        done &&
        test $(git rev-parse HEAD~3) = $(git rev-parse original-no-ff-branch~3) &&
        git diff HEAD~3 original-no-ff-branch~3 > out &&
-       test_cmp empty out
+       test_must_be_empty out
 '
 
 test_expect_success 'set up commits with funny messages' '
index 5659c2612da5a63ba48e6651ef25e8c549f2c954..1ea9e0d21dedceb0358644aeae8f4e495bd0aa25 100755 (executable)
@@ -776,8 +776,6 @@ test_expect_success 'checkdiff allows new blank lines' '
        git diff --check
 '
 
-cat <<EOF >expect
-EOF
 test_expect_success 'whitespace-only changes not reported' '
        git reset --hard &&
        echo >x "hello world" &&
@@ -785,7 +783,7 @@ test_expect_success 'whitespace-only changes not reported' '
        git commit -m "hello 1" &&
        echo >x "hello  world" &&
        git diff -b >actual &&
-       test_cmp expect actual
+       test_must_be_empty actual
 '
 
 cat <<EOF >expect
index e5f9eb7a11f0e5bba35b024bfffc4f175e889433..9aa8e2b39b45a6c2b5ec48a9d98b94831edb2caa 100755 (executable)
@@ -239,10 +239,9 @@ test_expect_success 'git diff between submodule commits [.gitmodules]' '
 '
 
 test_expect_success 'git diff (empty submodule dir)' '
-       : >empty &&
        rm -rf sub/* sub/.git &&
        git diff > actual.empty &&
-       test_cmp empty actual.empty
+       test_must_be_empty actual.empty
 '
 
 test_expect_success 'conflicted submodule setup' '
index 302f2166a9b84f5de05bbb7e6d7a2a791853e5fe..7a4594224b0d09ef946f52a7df4c310ad0e19866 100755 (executable)
@@ -257,9 +257,7 @@ test_expect_success 'typechanged submodule(blob->submodule)' '
 commit_file sm1 &&
 test_expect_success 'submodule is up to date' '
        git diff-index -p --submodule=log HEAD >actual &&
-       cat >expected <<-EOF &&
-       EOF
-       test_cmp expected actual
+       test_must_be_empty actual
 '
 
 test_expect_success 'submodule contains untracked content' '
index 6fc3da8bd259e14f2736a35c8907215558014243..60c8dc75a99dbefba5e1f1d6f26449992b4f6f10 100755 (executable)
@@ -392,9 +392,7 @@ test_expect_success 'typechanged submodule(blob->submodule)' '
 commit_file sm1 &&
 test_expect_success 'submodule is up to date' '
        git diff-index -p --submodule=diff HEAD >actual &&
-       cat >expected <<-EOF &&
-       EOF
-       test_cmp expected actual
+       test_must_be_empty actual
 '
 
 test_expect_success 'submodule contains untracked content' '
index a2bc1cd37d852a9cab79c946bf88ee9dc958b460..fec1d6fa51faec22da97eb62165c588e2ba9f655 100755 (executable)
@@ -49,8 +49,7 @@ test_expect_success setup '
        sed -e "s/TS0/$timeGMT/" -e "s/TS1/$epocGMT/" <d >removeGMT.patch &&
        sed -e "s/TS0/$timeWest/" -e "s/TS1/$epocWest2/" <d >removeWest2.patch &&
 
-       echo something >something &&
-       >empty
+       echo something >something
 '
 
 for patch in *.patch
@@ -81,7 +80,7 @@ do
                        git add file &&
                        git apply --index $patch &&
                        test -f file &&
-                       test_cmp empty file
+                       test_must_be_empty file
                        ;;
                remove*)
                        # must remove the file
index 0dd8b65d7cdec2ada739d7e0b524fd3c66dd5ef4..43b1522ea21a9c531c64fdba3b6f3bcde680063a 100755 (executable)
@@ -461,11 +461,9 @@ test_expect_success 'Grep author with log.mailmap' '
        test_cmp expect actual
 '
 
->expect
-
 test_expect_success 'Only grep replaced author with --use-mailmap' '
        git log --use-mailmap --author "<cto@coompany.xx>" >actual &&
-       test_cmp expect actual
+       test_must_be_empty actual
 '
 
 # git blame
index 22aa8b7c0e08d680233ffbcfa9a16d0f57c340d1..03b952c90d2fca011038e38075344530b5d64477 100755 (executable)
@@ -26,22 +26,20 @@ test_expect_success 'git log with broken author email' '
                echo
                echo "    foo"
        } >expect.out &&
-       : >expect.err &&
 
        git log broken_email >actual.out 2>actual.err &&
 
        test_cmp expect.out actual.out &&
-       test_cmp expect.err actual.err
+       test_must_be_empty actual.err
 '
 
 test_expect_success 'git log --format with broken author email' '
        echo "A U Thor+author@example.com+Thu Apr 7 15:13:13 2005 -0700" >expect.out &&
-       : >expect.err &&
 
        git log --format="%an+%ae+%ad" broken_email >actual.out 2>actual.err &&
 
        test_cmp expect.out actual.out &&
-       test_cmp expect.err actual.err
+       test_must_be_empty actual.err
 '
 
 munge_author_date () {
index 9015e476541dafdd6a82efcd4ace6038461d8522..d87cc7d9efde9d728825ae84b4a329b720b6d821 100755 (executable)
@@ -25,25 +25,19 @@ EXPECTED
 '
 
 test_expect_success 'file add !A, B' '
-       cat >expected <<\EXPECTED &&
-EXPECTED
-
        git reset --hard initial &&
        test_commit "add-not-a-b" "ONE" "AAA" &&
        git merge-tree initial add-not-a-b initial >actual &&
-       test_cmp expected actual
+       test_must_be_empty actual
 '
 
 test_expect_success 'file add A, B (same)' '
-       cat >expected <<\EXPECTED &&
-EXPECTED
-
        git reset --hard initial &&
        test_commit "add-a-b-same-A" "ONE" "AAA" &&
        git reset --hard initial &&
        test_commit "add-a-b-same-B" "ONE" "AAA" &&
        git merge-tree initial add-a-b-same-A add-a-b-same-B >actual &&
-       test_cmp expected actual
+       test_must_be_empty actual
 '
 
 test_expect_success 'file add A, B (different)' '
@@ -68,13 +62,10 @@ EXPECTED
 '
 
 test_expect_success 'file change A, !B' '
-       cat >expected <<\EXPECTED &&
-EXPECTED
-
        git reset --hard initial &&
        test_commit "change-a-not-b" "initial-file" "BBB" &&
        git merge-tree initial change-a-not-b initial >actual &&
-       test_cmp expected actual
+       test_must_be_empty actual
 '
 
 test_expect_success 'file change !A, B' '
@@ -94,15 +85,12 @@ EXPECTED
 '
 
 test_expect_success 'file change A, B (same)' '
-       cat >expected <<\EXPECTED &&
-EXPECTED
-
        git reset --hard initial &&
        test_commit "change-a-b-same-A" "initial-file" "AAA" &&
        git reset --hard initial &&
        test_commit "change-a-b-same-B" "initial-file" "AAA" &&
        git merge-tree initial change-a-b-same-A change-a-b-same-B >actual &&
-       test_cmp expected actual
+       test_must_be_empty actual
 '
 
 test_expect_success 'file change A, B (different)' '
@@ -175,16 +163,13 @@ AAA" &&
 '
 
 test_expect_success 'file remove A, !B' '
-       cat >expected <<\EXPECTED &&
-EXPECTED
-
        git reset --hard initial &&
        test_commit "rm-a-not-b-base" "ONE" "AAA" &&
        git rm ONE &&
        git commit -m "rm-a-not-b" &&
        git tag "rm-a-not-b" &&
        git merge-tree rm-a-not-b-base rm-a-not-b rm-a-not-b-base >actual &&
-       test_cmp expected actual
+       test_must_be_empty actual
 '
 
 test_expect_success 'file remove !A, B' '
@@ -206,16 +191,13 @@ EXPECTED
 '
 
 test_expect_success 'file remove A, B (same)' '
-       cat >expected <<\EXPECTED &&
-EXPECTED
-
        git reset --hard initial &&
        test_commit "rm-a-b-base" "ONE" "AAA" &&
        git rm ONE &&
        git commit -m "rm-a-b" &&
        git tag "rm-a-b" &&
        git merge-tree rm-a-b-base rm-a-b rm-a-b >actual &&
-       test_cmp expected actual
+       test_must_be_empty actual
 '
 
 test_expect_success 'file change A, remove B' '
@@ -260,13 +242,11 @@ EXPECTED
 '
 
 test_expect_success 'tree add A, B (same)' '
-       cat >expect <<-\EOF &&
-       EOF
        git reset --hard initial &&
        mkdir sub &&
        test_commit "add sub/file" "sub/file" "file" add-tree-A &&
        git merge-tree initial add-tree-A add-tree-A >actual &&
-       test_cmp expect actual
+       test_must_be_empty actual
 '
 
 test_expect_success 'tree add A, B (different)' '
index f20f03c1039256f0bc674e3969176a2c592919dd..270da21ac3e2931a42683392536500c4bb1fb5c3 100755 (executable)
@@ -112,8 +112,7 @@ test_expect_success 'prune: do not prune detached HEAD with no reflog' '
        # (should be removed and disabled by previous test)
        test_path_is_missing .git/logs &&
        git prune -n >prune_actual &&
-       : >prune_expected &&
-       test_cmp prune_actual prune_expected
+       test_must_be_empty prune_actual
 
 '
 
index f31995d3d28d9fcd590c91aed7686aef87e332af..e525466de09856fe2c99345d34b7776f451b1c2a 100755 (executable)
@@ -98,9 +98,8 @@ test_expect_success 'repack' '
        # We first want to check that we do not have any internal errors,
        # and also that we do not hit the last-ditch cycle-breaking code
        # in write_object(), which will issue a warning to stderr.
-       >expect &&
        git repack -ad 2>stderr &&
-       test_cmp expect stderr &&
+       test_must_be_empty stderr &&
 
        # And then double-check that the resulting pack is usable (i.e.,
        # we did not fail to notice any cycles). We know we are accessing
index ce3af928437dee01a168cb3350403c0726229bbd..fc95df0d0d95bb31ade7db13c8ef907671ca15ad 100755 (executable)
@@ -495,7 +495,6 @@ test_expect_success "'fetch.recurseSubmodules=on-demand' works also without .git
        git add submodule &&
        git rm .gitmodules &&
        git commit -m "new submodule without .gitmodules" &&
-       printf "" >expect.out &&
        head2=$(git rev-parse --short HEAD) &&
        echo "From $pwd/." >expect.err.2 &&
        echo "   $head1..$head2  master     -> origin/master" >>expect.err.2 &&
@@ -514,7 +513,7 @@ test_expect_success "'fetch.recurseSubmodules=on-demand' works also without .git
                git config --unset fetch.recurseSubmodules &&
                git reset --hard
        ) &&
-       test_i18ncmp expect.out actual.out &&
+       test_must_be_empty actual.out &&
        test_i18ncmp expect.err.2 actual.err &&
        git checkout HEAD^ -- .gitmodules &&
        git add .gitmodules &&
index 0a37dd5f97ee49fd65eff1c05d016abf2bcba38f..d4ff0b3bef61b5d3de1ab0fad4695949d80dc8fd 100755 (executable)
@@ -113,12 +113,11 @@ test_expect_success 'verify blob:limit=1k' '
 '
 
 test_expect_success 'verify blob:limit=1m' '
-       cat </dev/null >expected &&
        git -C r2 rev-list HEAD --quiet --objects --filter-print-omitted --filter=blob:limit=1m \
                | awk -f print_1.awk \
                | sed "s/~//" \
                | sort >observed &&
-       test_cmp observed expected
+       test_must_be_empty observed
 '
 
 # Test sparse:path=<path> filter.
index 84dd1cb6907d583ec4019f1bb5b949865beac6cb..d639d946965547c86708701bfde276649c568a15 100755 (executable)
@@ -121,10 +121,9 @@ test_expect_success 'describe --contains defaults to HEAD without commit-ish' '
        test_cmp expect actual
 '
 
-: >err.expect
 check_describe tags/A --all A^0
 test_expect_success 'no warning was displayed for A' '
-       test_cmp err.expect err.actual
+       test_must_be_empty err.actual
 '
 
 test_expect_success 'rename tag A to Q locally' '
index 658353277ee1e2c1b666d22961a8141dbb1bdd17..37760233a560559730fdf8c00a45c07d86250c00 100755 (executable)
@@ -97,9 +97,8 @@ test_expect_success 'no-glob option matches literally (bracket)' '
 '
 
 test_expect_success 'no-glob option disables :(literal)' '
-       : >expect &&
        git --literal-pathspecs log --format=%s -- ":(literal)foo" >actual &&
-       test_cmp expect actual
+       test_must_be_empty actual
 '
 
 test_expect_success 'no-glob environment variable works' '
@@ -130,9 +129,8 @@ test_expect_success '**/ works with :(glob)' '
 '
 
 test_expect_success '**/ does not work with --noglob-pathspecs' '
-       : >expect &&
        git --noglob-pathspecs log --format=%s -- "**/bar" >actual &&
-       test_cmp expect actual
+       test_must_be_empty actual
 '
 
 test_expect_success '**/ works with :(glob) and --noglob-pathspecs' '
@@ -154,9 +152,8 @@ test_expect_success '**/ works with --glob-pathspecs' '
 '
 
 test_expect_success '**/ does not work with :(literal) and --glob-pathspecs' '
-       : >expect &&
        git --glob-pathspecs log --format=%s -- ":(literal)**/bar" >actual &&
-       test_cmp expect actual
+       test_must_be_empty actual
 '
 
 test_done
index a54a52aaa4e680bdbc97750c4ae4855a45dcdb80..93f23cfa8279ccc093ca332b1eb718c515dd41aa 100755 (executable)
@@ -366,8 +366,6 @@ test_expect_success 'merge-msg with nothing to merge' '
        test_unconfig merge.log &&
        test_config merge.summary yes &&
 
-       >empty &&
-
        (
                cd remote &&
                git checkout -b unrelated &&
@@ -376,7 +374,7 @@ test_expect_success 'merge-msg with nothing to merge' '
                git fmt-merge-msg <.git/FETCH_HEAD >../actual
        ) &&
 
-       test_cmp empty actual
+       test_must_be_empty actual
 '
 
 test_expect_success 'merge-msg tag' '
index 93a6694f0e0c45fb7a52abb0b547327636f0f0e6..2e17cdb084268c1ccd4eb2da53c28d2bb2ccc5ad 100755 (executable)
@@ -325,11 +325,10 @@ test_expect_success \
        test_cmp expect actual
 '
 
->expect
 test_expect_success \
        'listing tags using v.* should print nothing because none have v.' '
        git tag -l "v.*" > actual &&
-       test_cmp expect actual
+       test_must_be_empty actual
 '
 
 cat >expect <<EOF
@@ -1498,12 +1497,9 @@ test_expect_success 'inverse of the last test, with --no-contains' "
        test_cmp expected actual
 "
 
-cat > expected <<EOF
-EOF
-
 test_expect_success 'checking that third commit has no tags' "
        git tag -l --contains $hash3 v* >actual &&
-       test_cmp expected actual
+       test_must_be_empty actual
 "
 
 cat > expected <<EOF
index 615e7e0162518087fff355bac156ba8bbdd6df38..2d87c49b753935f11f291371e8dd028e21651308 100755 (executable)
@@ -57,9 +57,8 @@ test_expect_success 'git grep -ah ina a' '
 '
 
 test_expect_success 'git grep -I ina a' '
-       : >expect &&
        test_must_fail git grep -I ina a >actual &&
-       test_cmp expect actual
+       test_must_be_empty actual
 '
 
 test_expect_success 'git grep -c ina a' '
@@ -81,9 +80,8 @@ test_expect_success 'git grep -L bar a' '
 '
 
 test_expect_success 'git grep -q ina a' '
-       : >expect &&
        git grep -q ina a >actual &&
-       test_cmp expect actual
+       test_must_be_empty actual
 '
 
 test_expect_success 'git grep -F ile a' '
index b9a86d3347acb4051a212e2c9e3573a2c6e9fe7a..11eccc231a792b77fe5e95d11b6ceaad83fda3d9 100755 (executable)
@@ -364,11 +364,8 @@ test_expect_success 'verify upstream fields in branch header' '
                test_cmp expect actual &&
 
                ## Repeat the above but without --branch.
-               cat >expect <<-EOF &&
-               EOF
-
                git status --porcelain=v2 --untracked-files=all >actual &&
-               test_cmp expect actual &&
+               test_must_be_empty actual &&
 
                ## Test upstream-gone case. Fake this by pointing origin/master at
                ## a non-existing commit.
index 0e7d4421a73615e2906594f3bdea2ce9be323040..d67b10ce00ee67faf6bd52153b5d9afe6ea3e2b6 100755 (executable)
@@ -116,9 +116,8 @@ test_expect_success "checkout -m with dirty tree" '
        git diff --name-status side >current.side &&
        test_cmp expect.side current.side &&
 
-       : >expect.index &&
        git diff --cached >current.index &&
-       test_cmp expect.index current.index
+       test_must_be_empty current.index
 '
 
 test_expect_success "checkout -m with dirty tree, renamed" '
index 48fd14fae6e9ac04f2edac3592bfb3ee4504cab1..894ea2f27dd9bef345d8247b19143005c66de7f0 100755 (executable)
@@ -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' '
index 9dbbd01fc07724e378a864e3fe735269665a9bc3..c1d232e92da00dd2b2b22433661b8b3c13d7dcb4 100755 (executable)
@@ -582,13 +582,11 @@ test_expect_success 'same tree (merge and amend merge)' '
 
        git merge -s ours side -m "empty ok" &&
        git diff HEAD^ HEAD >actual &&
-       : >expected &&
-       test_cmp expected actual &&
+       test_must_be_empty actual &&
 
        git commit --amend -m "empty really ok" &&
        git diff HEAD^ HEAD >actual &&
-       : >expected &&
-       test_cmp expected actual
+       test_must_be_empty actual
 
 '
 
index 6736d8d13139c946b07165d5bbad6c8d14617cbd..106148254d0ce067e8f5f842faac8fbf1ee90f15 100755 (executable)
@@ -38,7 +38,6 @@ printf '%s\n' '1 X' 2 3 4 5 6 7 8 9 >result.1
 printf '%s\n' '1 X' 2 3 4 '5 X' 6 7 8 9 >result.1-5
 printf '%s\n' '1 X' 2 3 4 '5 X' 6 7 8 '9 X' >result.1-5-9
 printf '%s\n' 1 2 3 4 5 6 7 8 '9 Z' >result.9z
->empty
 
 create_merge_msgs () {
        echo "Merge tag 'c2'" >msg.1-5 &&
@@ -58,8 +57,6 @@ create_merge_msgs () {
                echo &&
                git log --no-merges ^HEAD c2 c3
        } >squash.1-5-9 &&
-       : >msg.nologff &&
-       : >msg.nolognoff &&
        {
                echo "* tag 'c3':" &&
                echo "  commit 3"
@@ -519,7 +516,7 @@ test_expect_success 'tolerate unknown values for merge.ff' '
        test_tick &&
        git merge c1 2>message &&
        verify_head "$c1" &&
-       test_cmp empty message
+       test_must_be_empty message
 '
 
 test_expect_success 'combining --squash and --no-ff is refused' '
@@ -551,13 +548,13 @@ test_expect_success 'merge log message' '
        git reset --hard c0 &&
        git merge --no-log c2 &&
        git show -s --pretty=format:%b HEAD >msg.act &&
-       test_cmp msg.nologff msg.act &&
+       test_must_be_empty msg.act &&
 
        git reset --hard c0 &&
        test_config branch.master.mergeoptions "--no-ff" &&
        git merge --no-log c2 &&
        git show -s --pretty=format:%b HEAD >msg.act &&
-       test_cmp msg.nolognoff msg.act &&
+       test_must_be_empty msg.act &&
 
        git merge --log c3 &&
        git show -s --pretty=format:%b HEAD >msg.act &&
index 4d46c599f8493860b9f4bcf72242b832bf7f7913..78bed2aee1e3e40a75ca7b2e73059de362300cce 100755 (executable)
@@ -328,9 +328,8 @@ test_expect_success 'mergetool produces no errors when keepBackup is used' '
        git checkout -b test$test_count move-to-c &&
        test_config mergetool.keepBackup true &&
        test_must_fail git merge move-to-b &&
-       : >expect &&
        echo d | git mergetool a/a/file.txt 2>actual &&
-       test_cmp expect actual &&
+       test_must_be_empty actual &&
        ! test -d a
 '
 
index 42d5354c2a442518d85bdf5ad9296e562cec9e02..c82c8f5f728d1fc912f8bfd9819acf9f1b5dd1b2 100755 (executable)
@@ -217,9 +217,8 @@ do
        '
 
        test_expect_success "grep -w $L (w)" '
-               : >expected &&
                test_must_fail git grep -n -w -e "^w" $H >actual &&
-               test_cmp expected actual
+               test_must_be_empty actual
        '
 
        test_expect_success "grep -w $L (x)" '
@@ -239,26 +238,24 @@ do
        '
 
        test_expect_success "grep -w $L (y-2)" '
-               : >expected &&
                if git grep -n -w -e "^y y" $H >actual
                then
                        echo should not have matched
                        cat actual
                        false
                else
-                       test_cmp expected actual
+                       test_must_be_empty actual
                fi
        '
 
        test_expect_success "grep -w $L (z)" '
-               : >expected &&
                if git grep -n -w -e "^z" $H >actual
                then
                        echo should not have matched
                        cat actual
                        false
                else
-                       test_cmp expected actual
+                       test_must_be_empty actual
                fi
        '
 
@@ -604,11 +601,10 @@ z:zzz
 EOF
 
 test_expect_success 'grep -q, silently report matches' '
-       >empty &&
        git grep -q mmap >actual &&
-       test_cmp empty actual &&
+       test_must_be_empty actual &&
        test_must_fail git grep -q qfwfq >actual &&
-       test_cmp empty actual
+       test_must_be_empty actual
 '
 
 test_expect_success 'grep -C1 hunk mark between files' '
@@ -701,8 +697,7 @@ test_expect_success 'log grep (9)' '
 
 test_expect_success 'log grep (9)' '
        git log -g --grep-reflog="commit: third" --author="non-existent" --pretty=tformat:%s >actual &&
-       : >expect &&
-       test_cmp expect actual
+       test_must_be_empty actual
 '
 
 test_expect_success 'log --grep-reflog can only be used under -g' '
@@ -792,15 +787,13 @@ test_expect_success 'log --all-match --grep --grep --author takes intersection'
 '
 
 test_expect_success 'log --author does not search in timestamp' '
-       : >expect &&
        git log --author="$GIT_AUTHOR_DATE" >actual &&
-       test_cmp expect actual
+       test_must_be_empty actual
 '
 
 test_expect_success 'log --committer does not search in timestamp' '
-       : >expect &&
        git log --committer="$GIT_COMMITTER_DATE" >actual &&
-       test_cmp expect actual
+       test_must_be_empty actual
 '
 
 test_expect_success 'grep with CE_VALID file' '
@@ -1051,13 +1044,12 @@ test_expect_success 'inside git repository but with --no-index' '
                echo ".gitignore:.*o*" &&
                cat is/expect.unignored
        } >is/expect.full &&
-       : >is/expect.empty &&
        echo file2:world >is/expect.sub &&
        (
                cd is/git &&
                git init &&
                test_must_fail git grep o >../actual.full &&
-               test_cmp ../expect.empty ../actual.full &&
+               test_must_be_empty ../actual.full &&
 
                git grep --untracked o >../actual.unignored &&
                test_cmp ../expect.unignored ../actual.unignored &&
@@ -1070,7 +1062,7 @@ test_expect_success 'inside git repository but with --no-index' '
 
                cd sub &&
                test_must_fail git grep o >../../actual.sub &&
-               test_cmp ../../expect.empty ../../actual.sub &&
+               test_must_be_empty ../../actual.sub &&
 
                git grep --no-index o >../../actual.sub &&
                test_cmp ../../expect.sub ../../actual.sub &&
@@ -1236,10 +1228,9 @@ test_expect_success !PCRE 'grep -P pattern errors without PCRE' '
 '
 
 test_expect_success 'grep pattern with grep.extendedRegexp=true' '
-       >empty &&
        test_must_fail git -c grep.extendedregexp=true \
                grep "\p{Ps}.*?\p{Pe}" hello.c >actual &&
-       test_cmp empty actual
+       test_must_be_empty actual
 '
 
 test_expect_success PCRE 'grep -P pattern with grep.extendedRegexp=true' '
index e1951a5cbb759a0f233b624a1a1a7e9c55ff9640..d1ebfd88c7a9a92a956b92347c4193c6b1d08701 100755 (executable)
@@ -51,14 +51,13 @@ test_expect_success SIMPLEPAGER 'git grep -O' '
        grep.h
        EOF
        echo grep.h >expect.notless &&
-       >empty &&
 
        PATH=.:$PATH git grep -O GREP_PATTERN >out &&
        {
                test_cmp expect.less pager-args ||
                test_cmp expect.notless pager-args
        } &&
-       test_cmp empty out
+       test_must_be_empty out
 '
 
 test_expect_success 'git grep -O --cached' '
@@ -72,7 +71,6 @@ test_expect_success 'git grep -O --no-index' '
        grep.h
        untracked
        EOF
-       >empty &&
 
        (
                GIT_PAGER='\''printf "%s\n" >pager-args'\'' &&
@@ -80,7 +78,7 @@ test_expect_success 'git grep -O --no-index' '
                git grep --no-index -O GREP_PATTERN >out
        ) &&
        test_cmp expect pager-args &&
-       test_cmp empty out
+       test_must_be_empty out
 '
 
 test_expect_success 'setup: fake "less"' '
@@ -96,15 +94,14 @@ test_expect_success 'git grep -O jumps to line in less' '
        +/*GREP_PATTERN
        grep.h
        EOF
-       >empty &&
 
        GIT_PAGER=./less git grep -O GREP_PATTERN >out &&
        test_cmp expect actual &&
-       test_cmp empty out &&
+       test_must_be_empty out &&
 
        git grep -O./less GREP_PATTERN >out2 &&
        test_cmp expect actual &&
-       test_cmp empty out2
+       test_must_be_empty out2
 '
 
 test_expect_success 'modified file' '
@@ -122,7 +119,7 @@ test_expect_success 'modified file' '
        test_when_finished "git checkout HEAD unrelated" &&
        GIT_PAGER=./less git grep -F -O "enum grep_pat_token" >out &&
        test_cmp expect actual &&
-       test_cmp empty out
+       test_must_be_empty out
 '
 
 test_expect_success 'copes with color settings' '
@@ -138,7 +135,6 @@ test_expect_success 'copes with color settings' '
 test_expect_success 'run from subdir' '
        rm -f actual &&
        echo grep.c >expect &&
-       >empty &&
 
        (
                cd subdir &&
@@ -156,8 +152,8 @@ test_expect_success 'run from subdir' '
                ;;
        esac &&
        test_cmp expect args &&
-       test_cmp empty out &&
-       test_cmp empty out2
+       test_must_be_empty out &&
+       test_must_be_empty out2
 '
 
 test_done
index b38d16f9dbd6e6f575e12f81e7d6546f07e53f1f..ab1ef28fd991f4325ad3821ae0f7607d4f500810 100755 (executable)
@@ -18,7 +18,7 @@ test_expect_success 'reject empty delta' '
 test_expect_success 'delta can empty file' '
        printf "SVNQ" | q_to_nul >clear.delta &&
        test-svn-fe -d preimage clear.delta 4 >actual &&
-       test_cmp empty actual
+       test_must_be_empty actual
 '
 
 test_expect_success 'reject svndiff2' '
@@ -29,7 +29,7 @@ test_expect_success 'reject svndiff2' '
 test_expect_success 'one-window empty delta' '
        printf "SVNQ%s" "QQQQQ" | q_to_nul >clear.onewindow &&
        test-svn-fe -d preimage clear.onewindow 9 >actual &&
-       test_cmp empty actual
+       test_must_be_empty actual
 '
 
 test_expect_success 'reject incomplete window header' '
@@ -50,7 +50,7 @@ test_expect_success 'two-window empty delta' '
        printf "SVNQ%s%s" "QQQQQ" "QQQQQ" | q_to_nul >clear.twowindow &&
        test-svn-fe -d preimage clear.twowindow 14 >actual &&
        test_must_fail test-svn-fe -d preimage clear.twowindow 13 &&
-       test_cmp empty actual
+       test_must_be_empty actual
 '
 
 test_expect_success 'noisy zeroes' '
@@ -60,7 +60,7 @@ test_expect_success 'noisy zeroes' '
                q_to_nul >clear.noisy &&
        len=$(wc -c <clear.noisy) &&
        test-svn-fe -d preimage clear.noisy $len &&
-       test_cmp empty actual
+       test_must_be_empty actual
 '
 
 test_expect_success 'reject variable-length int in magic' '
@@ -83,7 +83,7 @@ test_expect_success 'reject truncated integer' '
 test_expect_success 'nonempty (but unused) preimage view' '
        printf "SVNQ%b" "Q\003QQQ" | q_to_nul >clear.readpreimage &&
        test-svn-fe -d preimage clear.readpreimage 9 >actual &&
-       test_cmp empty actual
+       test_must_be_empty actual
 '
 
 test_expect_success 'preimage view: right endpoint cannot backtrack' '
@@ -99,7 +99,7 @@ test_expect_success 'preimage view: left endpoint can advance' '
                q_to_nul >clear.shrinkbacktrack &&
        test-svn-fe -d preimage clear.preshrink 14 >actual &&
        test_must_fail test-svn-fe -d preimage clear.shrinkbacktrack 14 &&
-       test_cmp empty actual
+       test_must_be_empty actual
 '
 
 test_expect_success 'preimage view: offsets compared by value' '
@@ -109,7 +109,7 @@ test_expect_success 'preimage view: offsets compared by value' '
                q_to_nul >clear.noisyadvance &&
        test_must_fail test-svn-fe -d preimage clear.noisybacktrack 15 &&
        test-svn-fe -d preimage clear.noisyadvance 15 &&
-       test_cmp empty actual
+       test_must_be_empty actual
 '
 
 test_expect_success 'preimage view: reject truncated preimage' '
index 1319415ba8ec04f2b9d34ec984d3f8afb61fb551..99d7aa621db53e95188440f3df3faeb1383b1f31 100755 (executable)
@@ -43,11 +43,11 @@ check_entries () {
        sed -ne '/^\//p' "$1/CVS/Entries" | sort | cut -d/ -f2,3,5 >actual
        if test -z "$2"
        then
-               >expected
+               test_must_be_empty actual
        else
                printf '%s\n' "$2" | tr '|' '\012' >expected
+               test_cmp expected actual
        fi
-       test_cmp expected actual
 }
 
 test_expect_success \
index c3b89ae783d0b5511718be6d6b9d9978dd9131cd..056bf1dcda95c04e05aa47dbc73f2d45d764c1d8 100755 (executable)
@@ -516,10 +516,9 @@ test_expect_success 'prompt - format string starting with dash' '
 
 test_expect_success 'prompt - pc mode' '
        printf "BEFORE: (\${__git_ps1_branch_name}):AFTER\\nmaster" >expected &&
-       printf "" >expected_output &&
        (
                __git_ps1 "BEFORE:" ":AFTER" >"$actual" &&
-               test_cmp expected_output "$actual" &&
+               test_must_be_empty "$actual" &&
                printf "%s\\n%s" "$PS1" "${__git_ps1_branch_name}" >"$actual"
        ) &&
        test_cmp expected "$actual"
@@ -715,13 +714,12 @@ test_expect_success 'prompt - hide if pwd ignored - env var set, config disabled
 '
 
 test_expect_success 'prompt - hide if pwd ignored - env var set, config unset' '
-       printf "" >expected &&
        (
                cd ignored_dir &&
                GIT_PS1_HIDE_IF_PWD_IGNORED=y &&
                __git_ps1 >"$actual"
        ) &&
-       test_cmp expected "$actual"
+       test_must_be_empty "$actual"
 '
 
 test_expect_success 'prompt - hide if pwd ignored - env var set, config unset, pc mode' '