зеркало из https://github.com/microsoft/git.git
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:
Родитель
ec21ac8c18
Коммит
1c5e94f459
|
@ -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' '
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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 \
|
||||
|
|
|
@ -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
|
||||
'
|
||||
|
||||
|
|
|
@ -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' '
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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' '
|
||||
|
|
|
@ -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
|
||||
)
|
||||
'
|
||||
|
||||
|
|
|
@ -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 &&
|
||||
|
|
|
@ -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' '
|
||||
|
|
|
@ -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
|
||||
'
|
||||
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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' '
|
||||
|
|
|
@ -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
|
||||
'
|
||||
|
||||
|
|
|
@ -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"' '
|
||||
|
|
|
@ -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' '
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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' '
|
||||
|
|
|
@ -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' '
|
||||
|
|
|
@ -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' '
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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 () {
|
||||
|
|
|
@ -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)' '
|
||||
|
|
|
@ -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
|
||||
|
||||
'
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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 &&
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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' '
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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' '
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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' '
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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" '
|
||||
|
|
|
@ -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' '
|
||||
|
|
|
@ -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
|
||||
|
||||
'
|
||||
|
||||
|
|
|
@ -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 &&
|
||||
|
|
|
@ -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
|
||||
'
|
||||
|
||||
|
|
|
@ -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' '
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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' '
|
||||
|
|
|
@ -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 \
|
||||
|
|
|
@ -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' '
|
||||
|
|
Загрузка…
Ссылка в новой задаче