зеркало из https://github.com/microsoft/git.git
t1450: check large blob in trailing-garbage test
Commitcce044df7f
(fsck: detect trailing garbage in all object types, 2017-01-13) added two tests of trailing garbage in a loose object file: one with a commit and one with a blob. The point of having two is that blobs would follow a different code path that streamed the contents, instead of loading it into a buffer as usual. At the time, merely being a blob was enough to trigger the streaming code path. But since7ac4f3a007
(fsck: actually fsck blob data, 2018-05-02), we now only stream blobs that are actually large. So since then, the streaming code path is not tested at all for this case. We can restore the original intent of the test by tweaking core.bigFileThreshold to make our small blob seem large. There's no easy way to externally verify that we followed the streaming code path, but I did check before/after using a temporary debug statement. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Родитель
9752ad0bb7
Коммит
5632baf238
|
@ -636,13 +636,13 @@ test_expect_success 'fsck detects trailing loose garbage (commit)' '
|
|||
test_i18ngrep "garbage.*$commit" out
|
||||
'
|
||||
|
||||
test_expect_success 'fsck detects trailing loose garbage (blob)' '
|
||||
test_expect_success 'fsck detects trailing loose garbage (large blob)' '
|
||||
blob=$(echo trailing | git hash-object -w --stdin) &&
|
||||
file=$(sha1_file $blob) &&
|
||||
test_when_finished "remove_object $blob" &&
|
||||
chmod +w "$file" &&
|
||||
echo garbage >>"$file" &&
|
||||
test_must_fail git fsck 2>out &&
|
||||
test_must_fail git -c core.bigfilethreshold=5 fsck 2>out &&
|
||||
test_i18ngrep "garbage.*$blob" out
|
||||
'
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче