From: Junio C Hamano <gitster@pobox•com>
To: Johannes Sixt <j6t@kdbg•org>
Cc: Git Mailing List <git@vger•kernel.org>
Subject: Re: [PATCH] t1050-large: replace dd by test-genrandom
Date: Tue, 13 Jan 2015 10:56:32 -0800 [thread overview]
Message-ID: <xmqqtwzucxwf.fsf@gitster.dls.corp.google.com> (raw)
In-Reply-To: <54B5579B.4080607@kdbg.org> (Johannes Sixt's message of "Tue, 13 Jan 2015 18:36:27 +0100")
Johannes Sixt <j6t@kdbg•org> writes:
> For some unknown reason, the dd on my Windows box segfaults every now
> and than, but since recently, it does so much more often than it used
> to, which makes running the test suite burdensome.
>
> Get rid of four invocations of dd and use test-genrandom instead.
>
> The new code does change some properties of the generated files:
>
> - They are a bit smaller.
> - They are not sparse anymore.
> - They do not compress well anymore.
> - The smaller of the four files is now a prefix of the larger.
>
> Fortunately, the tests do not depend on these properties, which would
> have a big influence on the size of the generated pack files. There *is*
> a test in t1050 that checks the size of pack files generated from large
> blobs, but it runs in its own repository with its own set of files (that
> are already generated with test-genrandom!).
>
> To emphasize that three of the large blobs are exact copies, use cp to
> allocate them.
>
> While we are here, replace cmp with test_cmp_bin to document the
> binary-ness of the comparison, which was hinted at by a comment, but not
> stated explicitly.
>
> Signed-off-by: Johannes Sixt <j6t@kdbg•org>
> ---
> I won't mind if the first paragraph of the proposed commit message is
> removed, but without the motivation, this commit reads as if it were
> merely code churn.
I agree that it is good to see the motivation. Thanks.
>
> The existing test-genrandom invocations look like this:
>
> test-genrandom "a" $(( 66 * 1024 )) >mid1
>
> I chose not to mimick this style because being precise with the file
> size is not important for the files generated here.
>
> t/t1050-large.sh | 12 ++++++------
> 1 file changed, 6 insertions(+), 6 deletions(-)
>
> diff --git a/t/t1050-large.sh b/t/t1050-large.sh
> index f5a9119..f653121 100755
> --- a/t/t1050-large.sh
> +++ b/t/t1050-large.sh
> @@ -9,10 +9,10 @@ test_expect_success setup '
> # clone does not allow us to pass core.bigfilethreshold to
> # new repos, so set core.bigfilethreshold globally
> git config --global core.bigfilethreshold 200k &&
> - echo X | dd of=large1 bs=1k seek=2000 &&
> - echo X | dd of=large2 bs=1k seek=2000 &&
> - echo X | dd of=large3 bs=1k seek=2000 &&
> - echo Y | dd of=huge bs=1k seek=2500 &&
> + test-genrandom seed1 2000000 >large1 &&
> + cp large1 large2 &&
> + cp large1 large3 &&
> + test-genrandom seed2 2500000 >huge &&
> GIT_ALLOC_LIMIT=1500k &&
> export GIT_ALLOC_LIMIT
> '
> @@ -61,7 +61,7 @@ test_expect_success 'checkout a large file' '
> large1=$(git rev-parse :large1) &&
> git update-index --add --cacheinfo 100644 $large1 another &&
> git checkout another &&
> - cmp large1 another ;# this must not be test_cmp
> + test_cmp_bin large1 another
> '
>
> test_expect_success 'packsize limit' '
> @@ -162,7 +162,7 @@ test_expect_success 'pack-objects with large loose object' '
> test_create_repo packed &&
> mv pack-* packed/.git/objects/pack &&
> GIT_DIR=packed/.git git cat-file blob $SHA1 >actual &&
> - cmp huge actual
> + test_cmp_bin huge actual
> '
>
> test_expect_success 'tar achiving' '
next prev parent reply other threads:[~2015-01-13 18:56 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-01-13 17:36 [PATCH] t1050-large: replace dd by test-genrandom Johannes Sixt
2015-01-13 18:56 ` Junio C Hamano [this message]
2015-01-13 19:55 ` Johannes Sixt
2015-01-13 21:47 ` Jeff King
2015-01-13 22:33 ` Johannes Sixt
2015-01-13 22:38 ` Jeff King
2015-01-13 23:40 ` Junio C Hamano
2015-01-14 11:27 ` Jeff King
2015-01-14 17:31 ` Junio C Hamano
2015-01-14 20:28 ` [PATCH v2] t1050-large: generate large files without dd Johannes Sixt
2015-01-14 21:00 ` Jeff King
2015-01-14 21:17 ` Johannes Sixt
2015-01-14 21:59 ` Junio C Hamano
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=xmqqtwzucxwf.fsf@gitster.dls.corp.google.com \
--to=gitster@pobox$(echo .)com \
--cc=git@vger$(echo .)kernel.org \
--cc=j6t@kdbg$(echo .)org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox