Merge branch 'dl/test-must-fail-fixes-3'

Test clean-up continues.

* dl/test-must-fail-fixes-3:
  t5801: teach compare_refs() to accept !
  t5612: stop losing return codes of git commands
  t5612: don't use `test_must_fail test_cmp`
  t5607: reorder `nongit test_must_fail`
  t5550: simplify no matching line check
  t5512: stop losing return codes of git commands
  t5512: stop losing git exit code in here-docs
  t5512: don't use `test_must_fail test_cmp`
This commit is contained in:
Junio C Hamano 2020-04-22 13:42:44 -07:00
commit 7a8e6305d8
5 changed files with 66 additions and 56 deletions

View file

@ -4,6 +4,14 @@ test_description='git ls-remote'
. ./test-lib.sh
generate_references () {
for ref
do
oid=$(git rev-parse "$ref") &&
printf '%s\t%s\n' "$oid" "$ref" || return 1
done
}
test_expect_success setup '
>file &&
git add file &&
@ -13,11 +21,11 @@ test_expect_success setup '
git tag mark1.1 &&
git tag mark1.2 &&
git tag mark1.10 &&
git show-ref --tags -d | sed -e "s/ / /" >expected.tag &&
(
echo "$(git rev-parse HEAD) HEAD" &&
git show-ref -d | sed -e "s/ / /"
) >expected.all &&
git show-ref --tags -d >expected.tag.raw &&
sed -e "s/ / /" expected.tag.raw >expected.tag &&
generate_references HEAD >expected.all &&
git show-ref -d >refs &&
sed -e "s/ / /" refs >>expected.all &&
git remote add self "$(pwd)/.git"
'
@ -43,34 +51,31 @@ test_expect_success 'ls-remote self' '
'
test_expect_success 'ls-remote --sort="version:refname" --tags self' '
cat >expect <<-EOF &&
$(git rev-parse mark) refs/tags/mark
$(git rev-parse mark1.1) refs/tags/mark1.1
$(git rev-parse mark1.2) refs/tags/mark1.2
$(git rev-parse mark1.10) refs/tags/mark1.10
EOF
generate_references \
refs/tags/mark \
refs/tags/mark1.1 \
refs/tags/mark1.2 \
refs/tags/mark1.10 >expect &&
git ls-remote --sort="version:refname" --tags self >actual &&
test_cmp expect actual
'
test_expect_success 'ls-remote --sort="-version:refname" --tags self' '
cat >expect <<-EOF &&
$(git rev-parse mark1.10) refs/tags/mark1.10
$(git rev-parse mark1.2) refs/tags/mark1.2
$(git rev-parse mark1.1) refs/tags/mark1.1
$(git rev-parse mark) refs/tags/mark
EOF
generate_references \
refs/tags/mark1.10 \
refs/tags/mark1.2 \
refs/tags/mark1.1 \
refs/tags/mark >expect &&
git ls-remote --sort="-version:refname" --tags self >actual &&
test_cmp expect actual
'
test_expect_success 'ls-remote --sort="-refname" --tags self' '
cat >expect <<-EOF &&
$(git rev-parse mark1.2) refs/tags/mark1.2
$(git rev-parse mark1.10) refs/tags/mark1.10
$(git rev-parse mark1.1) refs/tags/mark1.1
$(git rev-parse mark) refs/tags/mark
EOF
generate_references \
refs/tags/mark1.2 \
refs/tags/mark1.10 \
refs/tags/mark1.1 \
refs/tags/mark >expect &&
git ls-remote --sort="-refname" --tags self >actual &&
test_cmp expect actual
'
@ -92,7 +97,7 @@ test_expect_success 'use "origin" when no remote specified' '
test_expect_success 'suppress "From <url>" with -q' '
git ls-remote -q 2>actual_err &&
test_must_fail test_cmp exp_err actual_err
! test_cmp exp_err actual_err
'
test_expect_success 'use branch.<name>.remote if possible' '
@ -180,8 +185,8 @@ do
test_config $configsection.hiderefs refs/tags &&
git ls-remote . >actual &&
test_unconfig $configsection.hiderefs &&
git ls-remote . |
sed -e "/ refs\/tags\//d" >expect &&
git ls-remote . >expect.raw &&
sed -e "/ refs\/tags\//d" expect.raw >expect &&
test_cmp expect actual
'
@ -212,17 +217,18 @@ test_expect_success 'protocol v2 supports hiderefs' '
test_expect_success 'ls-remote --symref' '
git fetch origin &&
cat >expect <<-EOF &&
ref: refs/heads/master HEAD
$(git rev-parse HEAD) HEAD
$(git rev-parse refs/heads/master) refs/heads/master
$(git rev-parse HEAD) refs/remotes/origin/HEAD
$(git rev-parse refs/remotes/origin/master) refs/remotes/origin/master
$(git rev-parse refs/tags/mark) refs/tags/mark
$(git rev-parse refs/tags/mark1.1) refs/tags/mark1.1
$(git rev-parse refs/tags/mark1.10) refs/tags/mark1.10
$(git rev-parse refs/tags/mark1.2) refs/tags/mark1.2
EOF
echo "ref: refs/heads/master HEAD" >expect &&
generate_references \
HEAD \
refs/heads/master >>expect &&
oid=$(git rev-parse HEAD) &&
echo "$oid refs/remotes/origin/HEAD" >>expect &&
generate_references \
refs/remotes/origin/master \
refs/tags/mark \
refs/tags/mark1.1 \
refs/tags/mark1.10 \
refs/tags/mark1.2 >>expect &&
# Protocol v2 supports sending symrefs for refs other than HEAD, so use
# protocol v0 here.
GIT_TEST_PROTOCOL_VERSION=0 git ls-remote --symref >actual &&

View file

@ -248,9 +248,7 @@ test_expect_success 'fetch can handle previously-fetched .idx files' '
'
test_expect_success 'did not use upload-pack service' '
test_might_fail grep '/git-upload-pack' <"$HTTPD_ROOT_PATH"/access.log >act &&
: >exp &&
test_cmp exp act
! grep "/git-upload-pack" "$HTTPD_ROOT_PATH/access.log"
'
test_expect_success 'git client shows text/plain errors' '

View file

@ -16,7 +16,7 @@ test_expect_success 'setup' '
test_expect_success '"verify" needs a worktree' '
git bundle create tip.bundle -1 master &&
test_must_fail nongit git bundle verify ../tip.bundle 2>err &&
nongit test_must_fail git bundle verify ../tip.bundle 2>err &&
test_i18ngrep "need a repository" err
'

View file

@ -71,9 +71,9 @@ test_expect_success 'by default all branches will be kept updated' '
(
cd dir_all &&
git fetch &&
git for-each-ref refs/remotes/origin |
git for-each-ref refs/remotes/origin >refs &&
sed -e "/HEAD$/d" \
-e "s|/remotes/origin/|/heads/|" >../actual
-e "s|/remotes/origin/|/heads/|" refs >../actual
) &&
# follow both master and side
git for-each-ref refs/heads >expect &&
@ -87,7 +87,7 @@ test_expect_success 'by default no tags will be kept updated' '
git for-each-ref refs/tags >../actual
) &&
git for-each-ref refs/tags >expect &&
test_must_fail test_cmp expect actual &&
! test_cmp expect actual &&
test_line_count = 2 actual
'
@ -104,9 +104,9 @@ test_expect_success '--single-branch while HEAD pointing at master' '
(
cd dir_master &&
git fetch --force &&
git for-each-ref refs/remotes/origin |
git for-each-ref refs/remotes/origin >refs &&
sed -e "/HEAD$/d" \
-e "s|/remotes/origin/|/heads/|" >../actual
-e "s|/remotes/origin/|/heads/|" refs >../actual
) &&
# only follow master
git for-each-ref refs/heads/master >expect &&
@ -126,9 +126,9 @@ test_expect_success '--single-branch while HEAD pointing at master and --no-tags
(
cd dir_master_no_tags &&
git fetch &&
git for-each-ref refs/remotes/origin |
git for-each-ref refs/remotes/origin >refs &&
sed -e "/HEAD$/d" \
-e "s|/remotes/origin/|/heads/|" >../actual
-e "s|/remotes/origin/|/heads/|" refs >../actual
) &&
# only follow master
git for-each-ref refs/heads/master >expect &&
@ -156,9 +156,9 @@ test_expect_success '--single-branch while HEAD pointing at side' '
(
cd dir_side &&
git fetch &&
git for-each-ref refs/remotes/origin |
git for-each-ref refs/remotes/origin >refs &&
sed -e "/HEAD$/d" \
-e "s|/remotes/origin/|/heads/|" >../actual
-e "s|/remotes/origin/|/heads/|" refs >../actual
) &&
# only follow side
git for-each-ref refs/heads/side >expect &&
@ -169,9 +169,9 @@ test_expect_success '--single-branch with explicit --branch side' '
(
cd dir_side2 &&
git fetch &&
git for-each-ref refs/remotes/origin |
git for-each-ref refs/remotes/origin >refs &&
sed -e "/HEAD$/d" \
-e "s|/remotes/origin/|/heads/|" >../actual
-e "s|/remotes/origin/|/heads/|" refs >../actual
) &&
# only follow side
git for-each-ref refs/heads/side >expect &&
@ -223,9 +223,9 @@ test_expect_success '--single-branch with detached' '
(
cd dir_detached &&
git fetch &&
git for-each-ref refs/remotes/origin |
git for-each-ref refs/remotes/origin >refs &&
sed -e "/HEAD$/d" \
-e "s|/remotes/origin/|/heads/|" >../actual
-e "s|/remotes/origin/|/heads/|" refs >../actual
) &&
# nothing
test_must_be_empty actual

View file

@ -11,9 +11,15 @@ test_description='Test remote-helper import and export commands'
PATH="$TEST_DIRECTORY/t5801:$PATH"
compare_refs() {
fail= &&
if test "x$1" = 'x!'
then
fail='!' &&
shift
fi &&
git --git-dir="$1/.git" rev-parse --verify $2 >expect &&
git --git-dir="$3/.git" rev-parse --verify $4 >actual &&
test_cmp expect actual
eval $fail test_cmp expect actual
}
test_expect_success 'setup repository' '
@ -189,7 +195,7 @@ test_expect_success GPG 'push signed tag' '
git push origin signed-tag
) &&
compare_refs local signed-tag^{} server signed-tag^{} &&
test_must_fail compare_refs local signed-tag server signed-tag
compare_refs ! local signed-tag server signed-tag
'
test_expect_success GPG 'push signed tag with signed-tags capability' '