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
|
||||
|
||||
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 &&
|
||||
|
@ -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' '
|
||||
|
@ -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
|
||||
'
|
||||
|
||||
|
@ -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
|
||||
|
@ -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' '
|
||||
|
Loading…
Reference in New Issue
Block a user