Merge branch 'sk/test-cmp-bin'
* sk/test-cmp-bin: t5000, t5003: do not use test_cmp to compare binary files
This commit is contained in:
commit
c651ccc91d
@ -164,7 +164,7 @@ check_tar with_olde-prefix olde-
|
||||
test_expect_success 'git archive on large files' '
|
||||
test_config core.bigfilethreshold 1 &&
|
||||
git archive HEAD >b3.tar &&
|
||||
test_cmp b.tar b3.tar
|
||||
test_cmp_bin b.tar b3.tar
|
||||
'
|
||||
|
||||
test_expect_success \
|
||||
@ -173,15 +173,15 @@ test_expect_success \
|
||||
|
||||
test_expect_success \
|
||||
'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' \
|
||||
'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' \
|
||||
'git archive --remote=. HEAD >b5.tar &&
|
||||
test_cmp b.tar b5.tar'
|
||||
test_cmp_bin b.tar b5.tar'
|
||||
|
||||
test_expect_success \
|
||||
'validate file modification time' \
|
||||
@ -198,7 +198,7 @@ test_expect_success \
|
||||
|
||||
test_expect_success 'git archive with --output, override inferred format' '
|
||||
git archive --format=tar --output=d4.zip HEAD &&
|
||||
test_cmp b.tar d4.zip
|
||||
test_cmp_bin b.tar d4.zip
|
||||
'
|
||||
|
||||
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' '
|
||||
git archive --format=tar.foo HEAD >config.tar.foo &&
|
||||
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 &&
|
||||
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' '
|
||||
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 &&
|
||||
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' '
|
||||
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' '
|
||||
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_must_fail git archive --remote=. --format=tar.foo HEAD \
|
||||
>remote.tar.foo &&
|
||||
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' '
|
||||
@ -280,27 +280,27 @@ test_expect_success GZIP 'git archive --format=tgz' '
|
||||
|
||||
test_expect_success GZIP 'git archive --format=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' '
|
||||
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' '
|
||||
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' '
|
||||
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' '
|
||||
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' '
|
||||
|
@ -68,7 +68,7 @@ test_expect_missing worktree2/ignored-by-worktree
|
||||
|
||||
test_expect_success 'git archive vs. bare' '
|
||||
(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' '
|
||||
|
@ -97,15 +97,15 @@ test_expect_success \
|
||||
|
||||
test_expect_success \
|
||||
'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' \
|
||||
'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' '
|
||||
git archive --output=d3.zip HEAD &&
|
||||
test_cmp d.zip d3.zip
|
||||
test_cmp_bin d.zip d3.zip
|
||||
'
|
||||
|
||||
test_expect_success \
|
||||
|
@ -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' '
|
||||
git archive --format=tar HEAD: >empty.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' '
|
||||
|
@ -617,6 +617,12 @@ 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
|
||||
# otherwise.
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user