From: Ivan Todoroski <grnch@gmx.net>
To: Junio C Hamano <gitster@pobox.com>
Cc: Jeff King <peff@peff.net>, Shawn Pearce <spearce@spearce.org>,
Nguyen Thai Ngoc Duy <pclouds@gmail.com>,
Jakub Narebski <jnareb@gmail.com>,
git@vger.kernel.org
Subject: Re: [PATCH/RFC v2 3/4] fetch-pack: test cases for the new --stdin option
Date: Wed, 28 Mar 2012 01:36:45 +0200 [thread overview]
Message-ID: <4F724F0D.7000602@gmx.net> (raw)
In-Reply-To: <7v4ntaj61t.fsf@alter.siamese.dyndns.org>
On 27.03.2012 19:40, Junio C Hamano wrote:
>
> It is sensible to expect that we see all the refs we told it to fetch, but
> I do not think it is sensible to require they come in the same order as we
> have given them to the command.
Oh, OK. I was not aware that fetch-pack is free to reorder commits (at
least in principle). I will adjust the tests to be order-independent.
>> For the --stateless-rpc tests we cannot easily execute fetch-pack to the
>> end because that would require simulating the remote protocol. We settle
>> for only checking 2 cases:
>>
>> 1) Whether fetch-pack correctly fails to parse the refs if they are not
>> terminated by a flush packet
>>
>> 2) Whether fetch-pack finishes parsing the refs without error when they
>> are correctly terminated by a flush packet
>>
>> The fetch-pack invocation fails in both cases due to the missing remote
>> side of the protocol, but it fails in different ways which allows us to
>> determine how the refs parsing ended by inspecting the different error
>> messages.
>
> Ick.
Yeah... I couldn't figure out a way to do an isolated test of the
packetized version of --stdin when --stateless-rpc is also in effect.
Any guidance here would be welcome.
On second thought, maybe we can just drop these two --stateless-rpc
tests from this patch? The "git clone" test in the next patch also
exercises the packetized refs in --stateless-rpc mode and if there was
anything wrong with them it would fail.
>> +
>> +test_expect_success 'fetch refs from cmdline, make sure it still works OK' '
>> + cd client &&
>> + git fetch-pack --no-progress .. $(cat ../stdin.exp) |
>> + cut -d " " -f 2 > ../stdin.act &&
>> + cd .. &&
>> + test_cmp stdin.exp stdin.act
>> +'
>
> - Do not chdir around without being in a subprocess ();
Sorry, I didn't realize the tests were eval-ed in the current
environment. I will correct all such problems in the next version.
> - Do not place the command you are testing that might crash on the
> upstream of the pipe;
>
> - style;
Noted.
> (
> cd client &&
> git fetch-pack ... <../stdin.exp >stdin.raw
> ) &&
> cut -d " " -f 2 <stdin.raw | sort >stdin.act &&
> test_cmp stdin.exp stdin.act
>
> By the way, why are these not called "expect" and "actual" like most other
> tests?
The test files I worked with used the shorter exp/act convention so I
followed that.
Or are you wondering about the "stdin." prefix I added? That was because
I didn't want to overwrite any exp/act files that might be created by
the previous tests, or is that not a concern?
Sorry, my inexperience with the Git test framework is showing...
> Do we want to have a separate test to see what happens when there are dups
> in the input?
Good idea. I will check what happens in the current fetch-pack if
duplicate refs are passed on the command line and will write a test to
ensure that the --stdin version does the same thing.
P.S.
It goes without saying that I implicitly accept all the corrections that
I did not reply to and will include them in the next version.
next prev parent reply other threads:[~2012-03-27 23:36 UTC|newest]
Thread overview: 54+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-03-18 8:14 Clone fails on a repo with too many heads/tags Ivan Todoroski
2012-03-18 11:37 ` Ivan Todoroski
2012-03-18 12:04 ` Nguyen Thai Ngoc Duy
2012-03-18 16:36 ` Jakub Narebski
2012-03-18 19:07 ` Jeff King
2012-03-18 22:07 ` Jakub Narebski
2012-03-19 2:32 ` Jeff King
2012-03-19 2:43 ` Nguyen Thai Ngoc Duy
2012-03-19 2:45 ` Jeff King
2012-03-19 1:05 ` Ivan Todoroski
2012-03-19 1:30 ` Nguyen Thai Ngoc Duy
2012-03-19 2:44 ` Jeff King
2012-03-21 11:05 ` Ivan Todoroski
2012-03-21 14:28 ` Shawn Pearce
2012-03-21 17:14 ` Jeff King
2012-03-21 17:59 ` Jakub Narebski
2012-03-21 20:02 ` Ivan Todoroski
2012-03-21 20:17 ` Jeff King
2012-03-24 20:49 ` Ivan Todoroski
2012-03-25 1:06 ` Jeff King
2012-03-25 2:32 ` Jeff King
2012-03-25 17:33 ` Ivan Todoroski
2012-03-25 17:54 ` Ivan Todoroski
2012-03-26 17:33 ` Jeff King
2012-03-27 7:07 ` Ivan Todoroski
2012-03-25 15:30 ` Ivan Todoroski
2012-03-24 20:53 ` [PATCH/RFC 1/2] fetch-pack: new option to read refs from stdin Ivan Todoroski
2012-03-25 1:19 ` Jeff King
2012-03-25 9:39 ` Ivan Todoroski
2012-03-25 15:15 ` Ivan Todoroski
2012-03-25 20:00 ` Ivan Todoroski
2012-03-26 17:21 ` Jeff King
2012-03-26 17:49 ` Ivan Todoroski
2012-03-26 17:51 ` Jeff King
2012-03-24 20:54 ` [PATCH/RFC 2/2] remote-curl: send the refs to fetch-pack on stdin Ivan Todoroski
2012-03-25 1:24 ` Jeff King
2012-03-25 9:52 ` Ivan Todoroski
2012-03-26 17:24 ` Jeff King
2012-03-27 6:23 ` [PATCH/RFC v2 0/4] Fix fetch-pack command line overflow during clone Ivan Todoroski
2012-03-27 6:25 ` [PATCH/RFC v2 1/4] fetch-pack: new --stdin option to read refs from stdin Ivan Todoroski
2012-03-27 16:59 ` Junio C Hamano
2012-03-27 23:18 ` Ivan Todoroski
2012-03-27 23:26 ` Junio C Hamano
2012-03-27 23:48 ` Ivan Todoroski
2012-03-27 6:26 ` [PATCH/RFC v2 2/4] remote-curl: send the refs to fetch-pack on stdin Ivan Todoroski
2012-03-27 17:18 ` Junio C Hamano
2012-03-27 23:20 ` Ivan Todoroski
2012-03-27 6:27 ` [PATCH/RFC v2 3/4] fetch-pack: test cases for the new --stdin option Ivan Todoroski
2012-03-27 17:40 ` Junio C Hamano
2012-03-27 23:36 ` Ivan Todoroski [this message]
2012-03-27 23:43 ` Junio C Hamano
2012-03-28 0:14 ` Ivan Todoroski
2012-03-27 6:28 ` [PATCH/RFC v2 4/4] remote-curl: main test case for the OS command line overflow Ivan Todoroski
2012-03-27 17:43 ` 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=4F724F0D.7000602@gmx.net \
--to=grnch@gmx.net \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=jnareb@gmail.com \
--cc=pclouds@gmail.com \
--cc=peff@peff.net \
--cc=spearce@spearce.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.