mirror of
https://github.com/git/git
synced 2024-08-27 19:49:21 +00:00
Merge branch 'bc/hash-independent-tests'
Tests that rely on the exact hardcoded values of object names have been updated in preparation for hash function migration. * bc/hash-independent-tests: t2107: abstract away SHA-1-specific constants t2101: abstract away SHA-1-specific constants t2101: modernize test style t2020: abstract away SHA-1 specific constants t1507: abstract away SHA-1-specific constants t1411: abstract away SHA-1-specific constants t1405: sort reflog entries in a hash-independent way t1300: abstract away SHA-1-specific constants t1304: abstract away SHA-1-specific constants t1011: abstract away SHA-1-specific constants
This commit is contained in:
commit
709f9f5b4b
|
@ -15,8 +15,11 @@ test_description='sparse checkout tests
|
|||
. "$TEST_DIRECTORY"/lib-read-tree.sh
|
||||
|
||||
test_expect_success 'setup' '
|
||||
test_commit init &&
|
||||
echo modified >>init.t &&
|
||||
|
||||
cat >expected <<-EOF &&
|
||||
100644 77f0ba1734ed79d12881f81b36ee134de6a3327b 0 init.t
|
||||
100644 $(git hash-object init.t) 0 init.t
|
||||
100644 $EMPTY_BLOB 0 sub/added
|
||||
100644 $EMPTY_BLOB 0 sub/addedtoo
|
||||
100644 $EMPTY_BLOB 0 subsub/added
|
||||
|
@ -28,8 +31,6 @@ test_expect_success 'setup' '
|
|||
H subsub/added
|
||||
EOF
|
||||
|
||||
test_commit init &&
|
||||
echo modified >>init.t &&
|
||||
mkdir sub subsub &&
|
||||
touch sub/added sub/addedtoo subsub/added &&
|
||||
git add init.t sub/added sub/addedtoo subsub/added &&
|
||||
|
|
|
@ -1587,10 +1587,10 @@ test_expect_success '--show-origin stdin with file include' '
|
|||
'
|
||||
|
||||
test_expect_success !MINGW '--show-origin blob' '
|
||||
cat >expect <<-\EOF &&
|
||||
blob:a9d9f9e555b5c6f07cbe09d3f06fe3df11e09c08 user.custom=true
|
||||
EOF
|
||||
blob=$(git hash-object -w "$CUSTOM_CONFIG_FILE") &&
|
||||
cat >expect <<-EOF &&
|
||||
blob:$blob user.custom=true
|
||||
EOF
|
||||
git config --blob=$blob --show-origin --list >output &&
|
||||
test_cmp expect output
|
||||
'
|
||||
|
|
|
@ -54,7 +54,7 @@ test_expect_success SETFACL 'Setup test repo' '
|
|||
|
||||
test_expect_success SETFACL 'Objects creation does not break ACLs with restrictive umask' '
|
||||
# SHA1 for empty blob
|
||||
check_perms_and_acl .git/objects/e6/9de29bb2d1d6434b8b29ae775ad8c2e48c5391
|
||||
check_perms_and_acl .git/objects/$(echo $EMPTY_BLOB | sed -e "s,^\(..\),\1/,")
|
||||
'
|
||||
|
||||
test_expect_success SETFACL 'git gc does not break ACLs with restrictive umask' '
|
||||
|
|
|
@ -45,7 +45,7 @@ test_expect_success 'rename_refs(master, new-master)' '
|
|||
'
|
||||
|
||||
test_expect_success 'for_each_ref(refs/heads/)' '
|
||||
$RUN for-each-ref refs/heads/ | cut -c 42- >actual &&
|
||||
$RUN for-each-ref refs/heads/ | cut -d" " -f 2- >actual &&
|
||||
cat >expected <<-\EOF &&
|
||||
master 0x0
|
||||
new-master 0x0
|
||||
|
@ -71,7 +71,7 @@ test_expect_success 'verify_ref(new-master)' '
|
|||
'
|
||||
|
||||
test_expect_success 'for_each_reflog()' '
|
||||
$RUN for-each-reflog | sort | cut -c 42- >actual &&
|
||||
$RUN for-each-reflog | sort -k2 | cut -c 42- >actual &&
|
||||
cat >expected <<-\EOF &&
|
||||
HEAD 0x1
|
||||
refs/heads/master 0x0
|
||||
|
|
|
@ -10,6 +10,7 @@ test_expect_success 'setup' '
|
|||
git commit -m one
|
||||
'
|
||||
|
||||
commit=$(git rev-parse --short HEAD)
|
||||
cat >expect <<'EOF'
|
||||
Reflog: HEAD@{0} (C O Mitter <committer@example.com>)
|
||||
Reflog message: commit (initial): one
|
||||
|
@ -20,8 +21,8 @@ test_expect_success 'log -g shows reflog headers' '
|
|||
test_cmp expect actual
|
||||
'
|
||||
|
||||
cat >expect <<'EOF'
|
||||
e46513e HEAD@{0}: commit (initial): one
|
||||
cat >expect <<EOF
|
||||
$commit HEAD@{0}: commit (initial): one
|
||||
EOF
|
||||
test_expect_success 'oneline reflog format' '
|
||||
git log -g -1 --oneline >actual &&
|
||||
|
@ -33,8 +34,8 @@ test_expect_success 'reflog default format' '
|
|||
test_cmp expect actual
|
||||
'
|
||||
|
||||
cat >expect <<'EOF'
|
||||
commit e46513e
|
||||
cat >expect <<EOF
|
||||
commit $commit
|
||||
Reflog: HEAD@{0} (C O Mitter <committer@example.com>)
|
||||
Reflog message: commit (initial): one
|
||||
Author: A U Thor <author@example.com>
|
||||
|
@ -56,8 +57,8 @@ test_expect_success 'using @{now} syntax shows reflog date (multiline)' '
|
|||
test_cmp expect actual
|
||||
'
|
||||
|
||||
cat >expect <<'EOF'
|
||||
e46513e HEAD@{Thu Apr 7 15:13:13 2005 -0700}: commit (initial): one
|
||||
cat >expect <<EOF
|
||||
$commit HEAD@{Thu Apr 7 15:13:13 2005 -0700}: commit (initial): one
|
||||
EOF
|
||||
test_expect_success 'using @{now} syntax shows reflog date (oneline)' '
|
||||
git log -g -1 --oneline HEAD@{now} >actual &&
|
||||
|
@ -82,8 +83,8 @@ test_expect_success 'using --date= shows reflog date (multiline)' '
|
|||
test_cmp expect actual
|
||||
'
|
||||
|
||||
cat >expect <<'EOF'
|
||||
e46513e HEAD@{Thu Apr 7 15:13:13 2005 -0700}: commit (initial): one
|
||||
cat >expect <<EOF
|
||||
$commit HEAD@{Thu Apr 7 15:13:13 2005 -0700}: commit (initial): one
|
||||
EOF
|
||||
test_expect_success 'using --date= shows reflog date (oneline)' '
|
||||
git log -g -1 --oneline --date=default >actual &&
|
||||
|
@ -109,8 +110,8 @@ test_expect_success 'log.date does not invoke "--date" magic (multiline)' '
|
|||
test_cmp expect actual
|
||||
'
|
||||
|
||||
cat >expect <<'EOF'
|
||||
e46513e HEAD@{0}: commit (initial): one
|
||||
cat >expect <<EOF
|
||||
$commit HEAD@{0}: commit (initial): one
|
||||
EOF
|
||||
test_expect_success 'log.date does not invoke "--date" magic (oneline)' '
|
||||
test_config log.date raw &&
|
||||
|
|
|
@ -209,8 +209,9 @@ test_expect_success '@{u} works when tracking a local branch' '
|
|||
test refs/heads/master = "$(full_name @{u})"
|
||||
'
|
||||
|
||||
commit=$(git rev-parse HEAD)
|
||||
cat >expect <<EOF
|
||||
commit 8f489d01d0cc65c3b0f09504ec50b5ed02a70bd5
|
||||
commit $commit
|
||||
Reflog: master@{0} (C O Mitter <committer@example.com>)
|
||||
Reflog message: branch: Created from HEAD
|
||||
Author: A U Thor <author@example.com>
|
||||
|
@ -224,7 +225,7 @@ test_expect_success 'log -g other@{u}' '
|
|||
'
|
||||
|
||||
cat >expect <<EOF
|
||||
commit 8f489d01d0cc65c3b0f09504ec50b5ed02a70bd5
|
||||
commit $commit
|
||||
Reflog: master@{Thu Apr 7 15:17:13 2005 -0700} (C O Mitter <committer@example.com>)
|
||||
Reflog message: branch: Created from HEAD
|
||||
Author: A U Thor <author@example.com>
|
||||
|
|
|
@ -189,8 +189,12 @@ test_expect_success 'no advice given for explicit detached head state' '
|
|||
# Detached HEAD tests for GIT_PRINT_SHA1_ELLIPSIS (new format)
|
||||
test_expect_success 'describe_detached_head prints no SHA-1 ellipsis when not asked to' "
|
||||
|
||||
commit=$(git rev-parse --short=12 master^) &&
|
||||
commit2=$(git rev-parse --short=12 master~2) &&
|
||||
commit3=$(git rev-parse --short=12 master~3) &&
|
||||
|
||||
# The first detach operation is more chatty than the following ones.
|
||||
cat >1st_detach <<-'EOF' &&
|
||||
cat >1st_detach <<-EOF &&
|
||||
Note: checking out 'HEAD^'.
|
||||
|
||||
You are in 'detached HEAD' state. You can look around, make experimental
|
||||
|
@ -202,18 +206,18 @@ test_expect_success 'describe_detached_head prints no SHA-1 ellipsis when not as
|
|||
|
||||
git checkout -b <new-branch-name>
|
||||
|
||||
HEAD is now at 7c7cd714e262 three
|
||||
HEAD is now at \$commit three
|
||||
EOF
|
||||
|
||||
# The remaining ones just show info about previous and current HEADs.
|
||||
cat >2nd_detach <<-'EOF' &&
|
||||
Previous HEAD position was 7c7cd714e262 three
|
||||
HEAD is now at 139b20d8e6c5 two
|
||||
cat >2nd_detach <<-EOF &&
|
||||
Previous HEAD position was \$commit three
|
||||
HEAD is now at \$commit2 two
|
||||
EOF
|
||||
|
||||
cat >3rd_detach <<-'EOF' &&
|
||||
Previous HEAD position was 139b20d8e6c5 two
|
||||
HEAD is now at d79ce1670bdc one
|
||||
cat >3rd_detach <<-EOF &&
|
||||
Previous HEAD position was \$commit2 two
|
||||
HEAD is now at \$commit3 one
|
||||
EOF
|
||||
|
||||
reset &&
|
||||
|
@ -261,8 +265,12 @@ test_expect_success 'describe_detached_head prints no SHA-1 ellipsis when not as
|
|||
# Detached HEAD tests for GIT_PRINT_SHA1_ELLIPSIS (old format)
|
||||
test_expect_success 'describe_detached_head does print SHA-1 ellipsis when asked to' "
|
||||
|
||||
commit=$(git rev-parse --short=12 master^) &&
|
||||
commit2=$(git rev-parse --short=12 master~2) &&
|
||||
commit3=$(git rev-parse --short=12 master~3) &&
|
||||
|
||||
# The first detach operation is more chatty than the following ones.
|
||||
cat >1st_detach <<-'EOF' &&
|
||||
cat >1st_detach <<-EOF &&
|
||||
Note: checking out 'HEAD^'.
|
||||
|
||||
You are in 'detached HEAD' state. You can look around, make experimental
|
||||
|
@ -274,18 +282,18 @@ test_expect_success 'describe_detached_head does print SHA-1 ellipsis when asked
|
|||
|
||||
git checkout -b <new-branch-name>
|
||||
|
||||
HEAD is now at 7c7cd714e262... three
|
||||
HEAD is now at \$commit... three
|
||||
EOF
|
||||
|
||||
# The remaining ones just show info about previous and current HEADs.
|
||||
cat >2nd_detach <<-'EOF' &&
|
||||
Previous HEAD position was 7c7cd714e262... three
|
||||
HEAD is now at 139b20d8e6c5... two
|
||||
cat >2nd_detach <<-EOF &&
|
||||
Previous HEAD position was \$commit... three
|
||||
HEAD is now at \$commit2... two
|
||||
EOF
|
||||
|
||||
cat >3rd_detach <<-'EOF' &&
|
||||
Previous HEAD position was 139b20d8e6c5... two
|
||||
HEAD is now at d79ce1670bdc... one
|
||||
cat >3rd_detach <<-EOF &&
|
||||
Previous HEAD position was \$commit2... two
|
||||
HEAD is now at \$commit3... one
|
||||
EOF
|
||||
|
||||
reset &&
|
||||
|
|
|
@ -8,19 +8,20 @@ test_description='git update-index --again test.
|
|||
|
||||
. ./test-lib.sh
|
||||
|
||||
cat > expected <<\EOF
|
||||
100644 3b18e512dba79e4c8300dd08aeb37f8e728b8dad 0 file1
|
||||
100644 9db8893856a8a02eaa73470054b7c1c5a7c82e47 0 file2
|
||||
EOF
|
||||
test_expect_success 'update-index --add' \
|
||||
'echo hello world >file1 &&
|
||||
echo goodbye people >file2 &&
|
||||
git update-index --add file1 file2 &&
|
||||
git ls-files -s >current &&
|
||||
cmp current expected'
|
||||
test_expect_success 'update-index --add' '
|
||||
echo hello world >file1 &&
|
||||
echo goodbye people >file2 &&
|
||||
git update-index --add file1 file2 &&
|
||||
git ls-files -s >current &&
|
||||
cat >expected <<-EOF &&
|
||||
100644 $(git hash-object file1) 0 file1
|
||||
100644 $(git hash-object file2) 0 file2
|
||||
EOF
|
||||
cmp current expected
|
||||
'
|
||||
|
||||
test_expect_success 'update-index --again' \
|
||||
'rm -f file1 &&
|
||||
test_expect_success 'update-index --again' '
|
||||
rm -f file1 &&
|
||||
echo hello everybody >file2 &&
|
||||
if git update-index --again
|
||||
then
|
||||
|
@ -29,25 +30,23 @@ test_expect_success 'update-index --again' \
|
|||
else
|
||||
echo happy - failed as expected
|
||||
fi &&
|
||||
git ls-files -s >current &&
|
||||
cmp current expected'
|
||||
git ls-files -s >current &&
|
||||
cmp current expected
|
||||
'
|
||||
|
||||
cat > expected <<\EOF
|
||||
100644 0f1ae1422c2bf43f117d3dbd715c988a9ed2103f 0 file2
|
||||
EOF
|
||||
test_expect_success 'update-index --remove --again' \
|
||||
'git update-index --remove --again &&
|
||||
git ls-files -s >current &&
|
||||
cmp current expected'
|
||||
test_expect_success 'update-index --remove --again' '
|
||||
git update-index --remove --again &&
|
||||
git ls-files -s >current &&
|
||||
cat >expected <<-EOF &&
|
||||
100644 $(git hash-object file2) 0 file2
|
||||
EOF
|
||||
cmp current expected
|
||||
'
|
||||
|
||||
test_expect_success 'first commit' 'git commit -m initial'
|
||||
|
||||
cat > expected <<\EOF
|
||||
100644 53ab446c3f4e42ce9bb728a0ccb283a101be4979 0 dir1/file3
|
||||
100644 0f1ae1422c2bf43f117d3dbd715c988a9ed2103f 0 file2
|
||||
EOF
|
||||
test_expect_success 'update-index again' \
|
||||
'mkdir -p dir1 &&
|
||||
test_expect_success 'update-index again' '
|
||||
mkdir -p dir1 &&
|
||||
echo hello world >dir1/file3 &&
|
||||
echo goodbye people >file2 &&
|
||||
git update-index --add file2 dir1/file3 &&
|
||||
|
@ -55,30 +54,38 @@ test_expect_success 'update-index again' \
|
|||
echo happy >dir1/file3 &&
|
||||
git update-index --again &&
|
||||
git ls-files -s >current &&
|
||||
cmp current expected'
|
||||
cat >expected <<-EOF &&
|
||||
100644 $(git hash-object dir1/file3) 0 dir1/file3
|
||||
100644 $(git hash-object file2) 0 file2
|
||||
EOF
|
||||
cmp current expected
|
||||
'
|
||||
|
||||
cat > expected <<\EOF
|
||||
100644 d7fb3f695f06c759dbf3ab00046e7cc2da22d10f 0 dir1/file3
|
||||
100644 0f1ae1422c2bf43f117d3dbd715c988a9ed2103f 0 file2
|
||||
EOF
|
||||
test_expect_success 'update-index --update from subdir' \
|
||||
'echo not so happy >file2 &&
|
||||
file2=$(git hash-object file2)
|
||||
test_expect_success 'update-index --update from subdir' '
|
||||
echo not so happy >file2 &&
|
||||
(cd dir1 &&
|
||||
cat ../file2 >file3 &&
|
||||
git update-index --again
|
||||
) &&
|
||||
git ls-files -s >current &&
|
||||
cmp current expected'
|
||||
cat >expected <<-EOF &&
|
||||
100644 $(git hash-object dir1/file3) 0 dir1/file3
|
||||
100644 $file2 0 file2
|
||||
EOF
|
||||
test_cmp current expected
|
||||
'
|
||||
|
||||
cat > expected <<\EOF
|
||||
100644 594fb5bb1759d90998e2bf2a38261ae8e243c760 0 dir1/file3
|
||||
100644 0f1ae1422c2bf43f117d3dbd715c988a9ed2103f 0 file2
|
||||
EOF
|
||||
test_expect_success 'update-index --update with pathspec' \
|
||||
'echo very happy >file2 &&
|
||||
test_expect_success 'update-index --update with pathspec' '
|
||||
echo very happy >file2 &&
|
||||
cat file2 >dir1/file3 &&
|
||||
git update-index --again dir1/ &&
|
||||
git ls-files -s >current &&
|
||||
cmp current expected'
|
||||
cat >expected <<-EOF &&
|
||||
100644 $(git hash-object dir1/file3) 0 dir1/file3
|
||||
100644 $file2 0 file2
|
||||
EOF
|
||||
cmp current expected
|
||||
'
|
||||
|
||||
test_done
|
||||
|
|
|
@ -85,9 +85,9 @@ test_expect_success '--chmod=+x and chmod=-x in the same argument list' '
|
|||
>B &&
|
||||
git add A B &&
|
||||
git update-index --chmod=+x A --chmod=-x B &&
|
||||
cat >expect <<-\EOF &&
|
||||
100755 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0 A
|
||||
100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0 B
|
||||
cat >expect <<-EOF &&
|
||||
100755 $EMPTY_BLOB 0 A
|
||||
100644 $EMPTY_BLOB 0 B
|
||||
EOF
|
||||
git ls-files --stage A B >actual &&
|
||||
test_cmp expect actual
|
||||
|
|
Loading…
Reference in a new issue