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:
commit
7a8e6305d8
@ -4,6 +4,14 @@ test_description='git ls-remote'
|
|||||||
|
|
||||||
. ./test-lib.sh
|
. ./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 '
|
test_expect_success setup '
|
||||||
>file &&
|
>file &&
|
||||||
git add file &&
|
git add file &&
|
||||||
@ -13,11 +21,11 @@ test_expect_success setup '
|
|||||||
git tag mark1.1 &&
|
git tag mark1.1 &&
|
||||||
git tag mark1.2 &&
|
git tag mark1.2 &&
|
||||||
git tag mark1.10 &&
|
git tag mark1.10 &&
|
||||||
git show-ref --tags -d | sed -e "s/ / /" >expected.tag &&
|
git show-ref --tags -d >expected.tag.raw &&
|
||||||
(
|
sed -e "s/ / /" expected.tag.raw >expected.tag &&
|
||||||
echo "$(git rev-parse HEAD) HEAD" &&
|
generate_references HEAD >expected.all &&
|
||||||
git show-ref -d | sed -e "s/ / /"
|
git show-ref -d >refs &&
|
||||||
) >expected.all &&
|
sed -e "s/ / /" refs >>expected.all &&
|
||||||
|
|
||||||
git remote add self "$(pwd)/.git"
|
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' '
|
test_expect_success 'ls-remote --sort="version:refname" --tags self' '
|
||||||
cat >expect <<-EOF &&
|
generate_references \
|
||||||
$(git rev-parse mark) refs/tags/mark
|
refs/tags/mark \
|
||||||
$(git rev-parse mark1.1) refs/tags/mark1.1
|
refs/tags/mark1.1 \
|
||||||
$(git rev-parse mark1.2) refs/tags/mark1.2
|
refs/tags/mark1.2 \
|
||||||
$(git rev-parse mark1.10) refs/tags/mark1.10
|
refs/tags/mark1.10 >expect &&
|
||||||
EOF
|
|
||||||
git ls-remote --sort="version:refname" --tags self >actual &&
|
git ls-remote --sort="version:refname" --tags self >actual &&
|
||||||
test_cmp expect actual
|
test_cmp expect actual
|
||||||
'
|
'
|
||||||
|
|
||||||
test_expect_success 'ls-remote --sort="-version:refname" --tags self' '
|
test_expect_success 'ls-remote --sort="-version:refname" --tags self' '
|
||||||
cat >expect <<-EOF &&
|
generate_references \
|
||||||
$(git rev-parse mark1.10) refs/tags/mark1.10
|
refs/tags/mark1.10 \
|
||||||
$(git rev-parse mark1.2) refs/tags/mark1.2
|
refs/tags/mark1.2 \
|
||||||
$(git rev-parse mark1.1) refs/tags/mark1.1
|
refs/tags/mark1.1 \
|
||||||
$(git rev-parse mark) refs/tags/mark
|
refs/tags/mark >expect &&
|
||||||
EOF
|
|
||||||
git ls-remote --sort="-version:refname" --tags self >actual &&
|
git ls-remote --sort="-version:refname" --tags self >actual &&
|
||||||
test_cmp expect actual
|
test_cmp expect actual
|
||||||
'
|
'
|
||||||
|
|
||||||
test_expect_success 'ls-remote --sort="-refname" --tags self' '
|
test_expect_success 'ls-remote --sort="-refname" --tags self' '
|
||||||
cat >expect <<-EOF &&
|
generate_references \
|
||||||
$(git rev-parse mark1.2) refs/tags/mark1.2
|
refs/tags/mark1.2 \
|
||||||
$(git rev-parse mark1.10) refs/tags/mark1.10
|
refs/tags/mark1.10 \
|
||||||
$(git rev-parse mark1.1) refs/tags/mark1.1
|
refs/tags/mark1.1 \
|
||||||
$(git rev-parse mark) refs/tags/mark
|
refs/tags/mark >expect &&
|
||||||
EOF
|
|
||||||
git ls-remote --sort="-refname" --tags self >actual &&
|
git ls-remote --sort="-refname" --tags self >actual &&
|
||||||
test_cmp expect 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' '
|
test_expect_success 'suppress "From <url>" with -q' '
|
||||||
git ls-remote -q 2>actual_err &&
|
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' '
|
test_expect_success 'use branch.<name>.remote if possible' '
|
||||||
@ -180,8 +185,8 @@ do
|
|||||||
test_config $configsection.hiderefs refs/tags &&
|
test_config $configsection.hiderefs refs/tags &&
|
||||||
git ls-remote . >actual &&
|
git ls-remote . >actual &&
|
||||||
test_unconfig $configsection.hiderefs &&
|
test_unconfig $configsection.hiderefs &&
|
||||||
git ls-remote . |
|
git ls-remote . >expect.raw &&
|
||||||
sed -e "/ refs\/tags\//d" >expect &&
|
sed -e "/ refs\/tags\//d" expect.raw >expect &&
|
||||||
test_cmp expect actual
|
test_cmp expect actual
|
||||||
'
|
'
|
||||||
|
|
||||||
@ -212,17 +217,18 @@ test_expect_success 'protocol v2 supports hiderefs' '
|
|||||||
|
|
||||||
test_expect_success 'ls-remote --symref' '
|
test_expect_success 'ls-remote --symref' '
|
||||||
git fetch origin &&
|
git fetch origin &&
|
||||||
cat >expect <<-EOF &&
|
echo "ref: refs/heads/master HEAD" >expect &&
|
||||||
ref: refs/heads/master HEAD
|
generate_references \
|
||||||
$(git rev-parse HEAD) HEAD
|
HEAD \
|
||||||
$(git rev-parse refs/heads/master) refs/heads/master
|
refs/heads/master >>expect &&
|
||||||
$(git rev-parse HEAD) refs/remotes/origin/HEAD
|
oid=$(git rev-parse HEAD) &&
|
||||||
$(git rev-parse refs/remotes/origin/master) refs/remotes/origin/master
|
echo "$oid refs/remotes/origin/HEAD" >>expect &&
|
||||||
$(git rev-parse refs/tags/mark) refs/tags/mark
|
generate_references \
|
||||||
$(git rev-parse refs/tags/mark1.1) refs/tags/mark1.1
|
refs/remotes/origin/master \
|
||||||
$(git rev-parse refs/tags/mark1.10) refs/tags/mark1.10
|
refs/tags/mark \
|
||||||
$(git rev-parse refs/tags/mark1.2) refs/tags/mark1.2
|
refs/tags/mark1.1 \
|
||||||
EOF
|
refs/tags/mark1.10 \
|
||||||
|
refs/tags/mark1.2 >>expect &&
|
||||||
# Protocol v2 supports sending symrefs for refs other than HEAD, so use
|
# Protocol v2 supports sending symrefs for refs other than HEAD, so use
|
||||||
# protocol v0 here.
|
# protocol v0 here.
|
||||||
GIT_TEST_PROTOCOL_VERSION=0 git ls-remote --symref >actual &&
|
GIT_TEST_PROTOCOL_VERSION=0 git ls-remote --symref >actual &&
|
||||||
|
@ -248,9 +248,7 @@ test_expect_success 'fetch can handle previously-fetched .idx files' '
|
|||||||
'
|
'
|
||||||
|
|
||||||
test_expect_success 'did not use upload-pack service' '
|
test_expect_success 'did not use upload-pack service' '
|
||||||
test_might_fail grep '/git-upload-pack' <"$HTTPD_ROOT_PATH"/access.log >act &&
|
! grep "/git-upload-pack" "$HTTPD_ROOT_PATH/access.log"
|
||||||
: >exp &&
|
|
||||||
test_cmp exp act
|
|
||||||
'
|
'
|
||||||
|
|
||||||
test_expect_success 'git client shows text/plain errors' '
|
test_expect_success 'git client shows text/plain errors' '
|
||||||
|
@ -16,7 +16,7 @@ test_expect_success 'setup' '
|
|||||||
|
|
||||||
test_expect_success '"verify" needs a worktree' '
|
test_expect_success '"verify" needs a worktree' '
|
||||||
git bundle create tip.bundle -1 master &&
|
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
|
test_i18ngrep "need a repository" err
|
||||||
'
|
'
|
||||||
|
|
||||||
|
@ -71,9 +71,9 @@ test_expect_success 'by default all branches will be kept updated' '
|
|||||||
(
|
(
|
||||||
cd dir_all &&
|
cd dir_all &&
|
||||||
git fetch &&
|
git fetch &&
|
||||||
git for-each-ref refs/remotes/origin |
|
git for-each-ref refs/remotes/origin >refs &&
|
||||||
sed -e "/HEAD$/d" \
|
sed -e "/HEAD$/d" \
|
||||||
-e "s|/remotes/origin/|/heads/|" >../actual
|
-e "s|/remotes/origin/|/heads/|" refs >../actual
|
||||||
) &&
|
) &&
|
||||||
# follow both master and side
|
# follow both master and side
|
||||||
git for-each-ref refs/heads >expect &&
|
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 >../actual
|
||||||
) &&
|
) &&
|
||||||
git for-each-ref refs/tags >expect &&
|
git for-each-ref refs/tags >expect &&
|
||||||
test_must_fail test_cmp expect actual &&
|
! test_cmp expect actual &&
|
||||||
test_line_count = 2 actual
|
test_line_count = 2 actual
|
||||||
'
|
'
|
||||||
|
|
||||||
@ -104,9 +104,9 @@ test_expect_success '--single-branch while HEAD pointing at master' '
|
|||||||
(
|
(
|
||||||
cd dir_master &&
|
cd dir_master &&
|
||||||
git fetch --force &&
|
git fetch --force &&
|
||||||
git for-each-ref refs/remotes/origin |
|
git for-each-ref refs/remotes/origin >refs &&
|
||||||
sed -e "/HEAD$/d" \
|
sed -e "/HEAD$/d" \
|
||||||
-e "s|/remotes/origin/|/heads/|" >../actual
|
-e "s|/remotes/origin/|/heads/|" refs >../actual
|
||||||
) &&
|
) &&
|
||||||
# only follow master
|
# only follow master
|
||||||
git for-each-ref refs/heads/master >expect &&
|
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 &&
|
cd dir_master_no_tags &&
|
||||||
git fetch &&
|
git fetch &&
|
||||||
git for-each-ref refs/remotes/origin |
|
git for-each-ref refs/remotes/origin >refs &&
|
||||||
sed -e "/HEAD$/d" \
|
sed -e "/HEAD$/d" \
|
||||||
-e "s|/remotes/origin/|/heads/|" >../actual
|
-e "s|/remotes/origin/|/heads/|" refs >../actual
|
||||||
) &&
|
) &&
|
||||||
# only follow master
|
# only follow master
|
||||||
git for-each-ref refs/heads/master >expect &&
|
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 &&
|
cd dir_side &&
|
||||||
git fetch &&
|
git fetch &&
|
||||||
git for-each-ref refs/remotes/origin |
|
git for-each-ref refs/remotes/origin >refs &&
|
||||||
sed -e "/HEAD$/d" \
|
sed -e "/HEAD$/d" \
|
||||||
-e "s|/remotes/origin/|/heads/|" >../actual
|
-e "s|/remotes/origin/|/heads/|" refs >../actual
|
||||||
) &&
|
) &&
|
||||||
# only follow side
|
# only follow side
|
||||||
git for-each-ref refs/heads/side >expect &&
|
git for-each-ref refs/heads/side >expect &&
|
||||||
@ -169,9 +169,9 @@ test_expect_success '--single-branch with explicit --branch side' '
|
|||||||
(
|
(
|
||||||
cd dir_side2 &&
|
cd dir_side2 &&
|
||||||
git fetch &&
|
git fetch &&
|
||||||
git for-each-ref refs/remotes/origin |
|
git for-each-ref refs/remotes/origin >refs &&
|
||||||
sed -e "/HEAD$/d" \
|
sed -e "/HEAD$/d" \
|
||||||
-e "s|/remotes/origin/|/heads/|" >../actual
|
-e "s|/remotes/origin/|/heads/|" refs >../actual
|
||||||
) &&
|
) &&
|
||||||
# only follow side
|
# only follow side
|
||||||
git for-each-ref refs/heads/side >expect &&
|
git for-each-ref refs/heads/side >expect &&
|
||||||
@ -223,9 +223,9 @@ test_expect_success '--single-branch with detached' '
|
|||||||
(
|
(
|
||||||
cd dir_detached &&
|
cd dir_detached &&
|
||||||
git fetch &&
|
git fetch &&
|
||||||
git for-each-ref refs/remotes/origin |
|
git for-each-ref refs/remotes/origin >refs &&
|
||||||
sed -e "/HEAD$/d" \
|
sed -e "/HEAD$/d" \
|
||||||
-e "s|/remotes/origin/|/heads/|" >../actual
|
-e "s|/remotes/origin/|/heads/|" refs >../actual
|
||||||
) &&
|
) &&
|
||||||
# nothing
|
# nothing
|
||||||
test_must_be_empty actual
|
test_must_be_empty actual
|
||||||
|
@ -11,9 +11,15 @@ test_description='Test remote-helper import and export commands'
|
|||||||
PATH="$TEST_DIRECTORY/t5801:$PATH"
|
PATH="$TEST_DIRECTORY/t5801:$PATH"
|
||||||
|
|
||||||
compare_refs() {
|
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="$1/.git" rev-parse --verify $2 >expect &&
|
||||||
git --git-dir="$3/.git" rev-parse --verify $4 >actual &&
|
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' '
|
test_expect_success 'setup repository' '
|
||||||
@ -189,7 +195,7 @@ test_expect_success GPG 'push signed tag' '
|
|||||||
git push origin signed-tag
|
git push origin signed-tag
|
||||||
) &&
|
) &&
|
||||||
compare_refs local signed-tag^{} server 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' '
|
test_expect_success GPG 'push signed tag with signed-tags capability' '
|
||||||
|
Loading…
Reference in New Issue
Block a user