Merge branch 'sk/test-cmp-bin' into maint

* sk/test-cmp-bin:
  t5000, t5003: do not use test_cmp to compare binary files
This commit is contained in:
Junio C Hamano 2014-07-22 10:26:34 -07:00
commit ef937140a6
5 changed files with 28 additions and 22 deletions

View File

@ -164,7 +164,7 @@ check_tar with_olde-prefix olde-
test_expect_success 'git archive on large files' ' test_expect_success 'git archive on large files' '
test_config core.bigfilethreshold 1 && test_config core.bigfilethreshold 1 &&
git archive HEAD >b3.tar && git archive HEAD >b3.tar &&
test_cmp b.tar b3.tar test_cmp_bin b.tar b3.tar
' '
test_expect_success \ test_expect_success \
@ -173,15 +173,15 @@ test_expect_success \
test_expect_success \ test_expect_success \
'git archive vs. the same in a bare repo' \ 'git archive vs. the same in a bare repo' \
'test_cmp b.tar b3.tar' 'test_cmp_bin b.tar b3.tar'
test_expect_success 'git archive with --output' \ test_expect_success 'git archive with --output' \
'git archive --output=b4.tar HEAD && 'git archive --output=b4.tar HEAD &&
test_cmp b.tar b4.tar' test_cmp_bin b.tar b4.tar'
test_expect_success 'git archive --remote' \ test_expect_success 'git archive --remote' \
'git archive --remote=. HEAD >b5.tar && 'git archive --remote=. HEAD >b5.tar &&
test_cmp b.tar b5.tar' test_cmp_bin b.tar b5.tar'
test_expect_success \ test_expect_success \
'validate file modification time' \ 'validate file modification time' \
@ -198,7 +198,7 @@ test_expect_success \
test_expect_success 'git archive with --output, override inferred format' ' test_expect_success 'git archive with --output, override inferred format' '
git archive --format=tar --output=d4.zip HEAD && git archive --format=tar --output=d4.zip HEAD &&
test_cmp b.tar d4.zip test_cmp_bin b.tar d4.zip
' '
test_expect_success \ test_expect_success \
@ -244,34 +244,34 @@ test_expect_success 'archive --list shows only enabled remote filters' '
test_expect_success 'invoke tar filter by format' ' test_expect_success 'invoke tar filter by format' '
git archive --format=tar.foo HEAD >config.tar.foo && git archive --format=tar.foo HEAD >config.tar.foo &&
tr ab ba <config.tar.foo >config.tar && tr ab ba <config.tar.foo >config.tar &&
test_cmp b.tar config.tar && test_cmp_bin b.tar config.tar &&
git archive --format=bar HEAD >config.bar && git archive --format=bar HEAD >config.bar &&
tr ab ba <config.bar >config.tar && tr ab ba <config.bar >config.tar &&
test_cmp b.tar config.tar test_cmp_bin b.tar config.tar
' '
test_expect_success 'invoke tar filter by extension' ' test_expect_success 'invoke tar filter by extension' '
git archive -o config-implicit.tar.foo HEAD && git archive -o config-implicit.tar.foo HEAD &&
test_cmp config.tar.foo config-implicit.tar.foo && test_cmp_bin config.tar.foo config-implicit.tar.foo &&
git archive -o config-implicit.bar HEAD && git archive -o config-implicit.bar HEAD &&
test_cmp config.tar.foo config-implicit.bar test_cmp_bin config.tar.foo config-implicit.bar
' '
test_expect_success 'default output format remains tar' ' test_expect_success 'default output format remains tar' '
git archive -o config-implicit.baz HEAD && git archive -o config-implicit.baz HEAD &&
test_cmp b.tar config-implicit.baz test_cmp_bin b.tar config-implicit.baz
' '
test_expect_success 'extension matching requires dot' ' test_expect_success 'extension matching requires dot' '
git archive -o config-implicittar.foo HEAD && git archive -o config-implicittar.foo HEAD &&
test_cmp b.tar config-implicittar.foo test_cmp_bin b.tar config-implicittar.foo
' '
test_expect_success 'only enabled filters are available remotely' ' test_expect_success 'only enabled filters are available remotely' '
test_must_fail git archive --remote=. --format=tar.foo HEAD \ test_must_fail git archive --remote=. --format=tar.foo HEAD \
>remote.tar.foo && >remote.tar.foo &&
git archive --remote=. --format=bar >remote.bar HEAD && git archive --remote=. --format=bar >remote.bar HEAD &&
test_cmp remote.bar config.bar test_cmp_bin remote.bar config.bar
' '
test_expect_success GZIP 'git archive --format=tgz' ' test_expect_success GZIP 'git archive --format=tgz' '
@ -280,27 +280,27 @@ test_expect_success GZIP 'git archive --format=tgz' '
test_expect_success GZIP 'git archive --format=tar.gz' ' test_expect_success GZIP 'git archive --format=tar.gz' '
git archive --format=tar.gz HEAD >j1.tar.gz && git archive --format=tar.gz HEAD >j1.tar.gz &&
test_cmp j.tgz j1.tar.gz test_cmp_bin j.tgz j1.tar.gz
' '
test_expect_success GZIP 'infer tgz from .tgz filename' ' test_expect_success GZIP 'infer tgz from .tgz filename' '
git archive --output=j2.tgz HEAD && git archive --output=j2.tgz HEAD &&
test_cmp j.tgz j2.tgz test_cmp_bin j.tgz j2.tgz
' '
test_expect_success GZIP 'infer tgz from .tar.gz filename' ' test_expect_success GZIP 'infer tgz from .tar.gz filename' '
git archive --output=j3.tar.gz HEAD && git archive --output=j3.tar.gz HEAD &&
test_cmp j.tgz j3.tar.gz test_cmp_bin j.tgz j3.tar.gz
' '
test_expect_success GZIP 'extract tgz file' ' test_expect_success GZIP 'extract tgz file' '
gzip -d -c <j.tgz >j.tar && gzip -d -c <j.tgz >j.tar &&
test_cmp b.tar j.tar test_cmp_bin b.tar j.tar
' '
test_expect_success GZIP 'remote tar.gz is allowed by default' ' test_expect_success GZIP 'remote tar.gz is allowed by default' '
git archive --remote=. --format=tar.gz HEAD >remote.tar.gz && git archive --remote=. --format=tar.gz HEAD >remote.tar.gz &&
test_cmp j.tgz remote.tar.gz test_cmp_bin j.tgz remote.tar.gz
' '
test_expect_success GZIP 'remote tar.gz can be disabled' ' test_expect_success GZIP 'remote tar.gz can be disabled' '

View File

@ -68,7 +68,7 @@ test_expect_missing worktree2/ignored-by-worktree
test_expect_success 'git archive vs. bare' ' test_expect_success 'git archive vs. bare' '
(cd bare && git archive HEAD) >bare-archive.tar && (cd bare && git archive HEAD) >bare-archive.tar &&
test_cmp archive.tar bare-archive.tar test_cmp_bin archive.tar bare-archive.tar
' '
test_expect_success 'git archive with worktree attributes, bare' ' test_expect_success 'git archive with worktree attributes, bare' '

View File

@ -97,15 +97,15 @@ test_expect_success \
test_expect_success \ test_expect_success \
'git archive --format=zip vs. the same in a bare repo' \ 'git archive --format=zip vs. the same in a bare repo' \
'test_cmp d.zip d1.zip' 'test_cmp_bin d.zip d1.zip'
test_expect_success 'git archive --format=zip with --output' \ test_expect_success 'git archive --format=zip with --output' \
'git archive --format=zip --output=d2.zip HEAD && 'git archive --format=zip --output=d2.zip HEAD &&
test_cmp d.zip d2.zip' test_cmp_bin d.zip d2.zip'
test_expect_success 'git archive with --output, inferring format' ' test_expect_success 'git archive with --output, inferring format' '
git archive --output=d3.zip HEAD && git archive --output=d3.zip HEAD &&
test_cmp d.zip d3.zip test_cmp_bin d.zip d3.zip
' '
test_expect_success \ test_expect_success \

View File

@ -45,7 +45,7 @@ test_expect_success HEADER_ONLY_TAR_OK 'tar archive of commit with empty tree' '
test_expect_success 'tar archive of empty tree is empty' ' test_expect_success 'tar archive of empty tree is empty' '
git archive --format=tar HEAD: >empty.tar && git archive --format=tar HEAD: >empty.tar &&
perl -e "print \"\\0\" x 10240" >10knuls.tar && perl -e "print \"\\0\" x 10240" >10knuls.tar &&
test_cmp 10knuls.tar empty.tar test_cmp_bin 10knuls.tar empty.tar
' '
test_expect_success 'tar archive of empty tree with prefix' ' test_expect_success 'tar archive of empty tree with prefix' '

View File

@ -617,6 +617,12 @@ test_cmp() {
$GIT_TEST_CMP "$@" $GIT_TEST_CMP "$@"
} }
# test_cmp_bin - helper to compare binary files
test_cmp_bin() {
cmp "$@"
}
# Check if the file expected to be empty is indeed empty, and barfs # Check if the file expected to be empty is indeed empty, and barfs
# otherwise. # otherwise.