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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).