git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: Matthieu Moy <Matthieu.Moy@grenoble-inp.fr>
To: Remi Lespinet <remi.lespinet@ensimag.grenoble-inp.fr>
Cc: Junio C Hamano <gitster@pobox.com>,
	git@vger.kernel.org,
	Remi Galan <remi.galan-alfonso@ensimag.grenoble-inp.fr>,
	Guillaume Pages <guillaume.pages@ensimag.grenoble-inp.fr>,
	Louis-Alexandre Stuber 
	<louis--alexandre.stuber@ensimag.grenoble-inp.fr>,
	Antoine Delaite <antoine.delaite@ensimag.grenoble-inp.fr>
Subject: Re: [PATCH/RFC v4 07/10] send-email: reduce dependancies impact on parse_address_line
Date: Fri, 19 Jun 2015 09:16:45 +0200	[thread overview]
Message-ID: <vpqpp4sw4ki.fsf@anie.imag.fr> (raw)
In-Reply-To: <114284546.628903.1434662953414.JavaMail.zimbra@ensimag.grenoble-inp.fr> (Remi Lespinet's message of "Thu, 18 Jun 2015 23:29:13 +0200 (CEST)")

Remi Lespinet <remi.lespinet@ensimag.grenoble-inp.fr> writes:

> Matthieu Moy <Matthieu.Moy@grenoble-inp.fr> writes:
>
>> Cool. Then almost all the work is done to get an automated test. Next
>> step would be to add the tests itself in the code. I would do that by
>> adding a hidden --selfcheck option to git send-email that would compare
>> Mail::Address->parse($string); and split_addrs($string); for all your
>> testcases, and die if they do not match. Then calling it from the
>> testsuite would be trivial.
>
> Ok, are there such "--selfcheck" options elsewhere?

Not as far as I know.

> If I understand it right, you want to put the tests inside the
> git-send-email script. I don't feel really good about that but I guess
> it's hard to test it otherwise...

Hmm, actually there is, I didn't look at the right places yesterday.
git-send-email.perl already does 'use Git;', and there's already a set
of unit-tests for Git.pm: t9700-perl-git.sh, which calls perl
"$TEST_DIRECTORY"/t9700/test.pl.

So, you can just add your code as a function in Git.pm and unit-tests in
t/t9700/test.pl.

> Also what will we do with the failing tests? Just discard them? I
> think there's two sort of failing test:
>
>  - When output provided by parse_address_ without Mail::Address
>    is better or has no impact at all on the code. Such as:

I'm not sure we can be "better" as long as we do use Mail::Address when
available. Any difference is potentially harmfull for the user because
it means that Git will have different behavior on different machines.

Perhaps this is an argument to use your version unconditionally and drop
Mail::Address actually.

But you can still test that with

  is(parse_address_(...), "Doe, Jane", "<description>");

(possibly not calling Mail::Address)

http://search.cpan.org/~exodist/Test-Simple-1.001014/lib/Test/More.pm

The cases where Mail::Address and your version give the same result can
be tested with a foreach loop calling

  is(parse_address_(...), Mail::Address(...), ...);

>  - When we don't really care about the output, because the user entry
>    is wrong, and we just expect the script to be aborted somehow... We
>    don't need to test that.

... but if you already have the tests, you can keep them as known
failure.

See the "TODO: BLOCK" section of the doc of Test::More.

>> I can do that on top of your series if you don't have time.
>
> Time will become a problem soon, but I think I can handle it unless
> you really want to do it !

If you have time, just do it.

Thanks,

-- 
Matthieu Moy
http://www-verimag.imag.fr/~moy/

  reply	other threads:[~2015-06-19  7:16 UTC|newest]

Thread overview: 50+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-06-17 14:18 [PATCH/RFC v4 01/10] t9001-send-email: move script creation in a setup test Remi Lespinet
2015-06-17 14:18 ` [PATCH/RFC v4 02/10] send-email: allow aliases in patch header and command script outputs Remi Lespinet
2015-06-17 14:18 ` [PATCH/RFC v4 03/10] t9001-send-email: refactor header variable fields replacement Remi Lespinet
2015-06-17 14:18 ` [PATCH/RFC v4 04/10] send-email: refactor address list process Remi Lespinet
2015-06-17 14:18 ` [PATCH/RFC v4 05/10] send-email: Allow use of aliases in the From field of --compose mode Remi Lespinet
2015-06-17 15:57   ` Matthieu Moy
2015-06-17 14:18 ` [PATCH/RFC v4 06/10] send-email: minor code refactoring Remi Lespinet
2015-06-17 14:18 ` [PATCH/RFC v4 07/10] send-email: reduce dependancies impact on parse_address_line Remi Lespinet
2015-06-17 15:45   ` Matthieu Moy
2015-06-17 23:39     ` Remi Lespinet
2015-06-17 21:27   ` Junio C Hamano
2015-06-17 23:48     ` Remi Lespinet
2015-06-18 11:39       ` Matthieu Moy
2015-06-18 15:08         ` Remi Lespinet
2015-06-18 17:29           ` Matthieu Moy
2015-06-18 21:29             ` Remi Lespinet
2015-06-19  7:16               ` Matthieu Moy [this message]
2015-06-17 14:30 ` [PATCH/RFC v4 08/10] send-email: consider quote as delimiter instead of character Remi Lespinet
2015-06-17 14:31 ` [PATCH/RFC v4 09/10] send-email: allow multiple emails using --cc, --to and --bcc Remi Lespinet
2015-06-17 14:32 ` [PATCH/RFC v4 10/10] send-email: suppress meaningless whitespaces in from field Remi Lespinet
2015-06-17 14:54   ` Matthieu Moy
2015-06-17 15:11     ` Remi Lespinet
2015-06-20 23:17 ` [PATCH v5 01/10] t9001-send-email: move script creation in a setup test Remi Lespinet
2015-06-20 23:17   ` [PATCH v5 02/10] send-email: allow aliases in patch header and command script outputs Remi Lespinet
2015-06-20 23:17   ` [PATCH v5 03/10] t9001-send-email: refactor header variable fields replacement Remi Lespinet
2015-06-20 23:17   ` [PATCH v5 04/10] send-email: refactor address list process Remi Lespinet
2015-06-20 23:17   ` [PATCH v5 05/10] send-email: Allow use of aliases in the From field of --compose mode Remi Lespinet
2015-06-20 23:17   ` [PATCH v5 06/10] send-email: minor code refactoring Remi Lespinet
2015-06-20 23:17   ` [PATCH v5 07/10] send-email: reduce dependancies impact on parse_address_line Remi Lespinet
2015-06-21 10:07     ` Matthieu Moy
2015-06-21 13:02       ` Remi Lespinet
2015-06-23 20:15       ` Remi Lespinet
2015-06-21 13:24     ` Matthieu Moy
2015-06-21 12:45 ` [PATCH v5 08/10] send-email: consider quote as delimiter instead of character Remi Lespinet
2015-06-21 12:45   ` [PATCH v5 09/10] send-email: allow multiple emails using --cc, --to and --bcc Remi Lespinet
2015-06-21 13:17     ` Matthieu Moy
2015-06-21 12:45   ` [PATCH v5 10/10] send-email: suppress meaningless whitespaces in from field Remi Lespinet
2015-06-23 20:30 ` [PATCH v6 01/10] t9001-send-email: move script creation in a setup test Remi Lespinet
2015-06-23 20:30   ` [PATCH v6 02/10] send-email: allow aliases in patch header and command script outputs Remi Lespinet
2015-06-23 20:30   ` [PATCH v6 03/10] t9001-send-email: refactor header variable fields replacement Remi Lespinet
2015-06-23 20:30   ` [PATCH v6 04/10] send-email: refactor address list process Remi Lespinet
2015-06-23 20:30   ` [PATCH v6 05/10] send-email: Allow use of aliases in the From field of --compose mode Remi Lespinet
2015-06-23 20:30   ` [PATCH v6 06/10] send-email: minor code refactoring Remi Lespinet
2015-06-23 20:30   ` [PATCH v6 07/10] send-email: reduce dependencies impact on parse_address_line Remi Lespinet
2015-06-23 20:39     ` Matthieu Moy
2015-06-23 20:58       ` Remi LESPINET
2015-06-23 20:40   ` [PATCH v6 08/10] send-email: consider quote as delimiter instead of character Remi Lespinet
2015-06-23 20:41   ` [PATCH v6 09/10] send-email: allow multiple emails using --cc, --to and --bcc Remi Lespinet
2015-06-23 20:44     ` Matthieu Moy
2015-06-23 20:41   ` [PATCH v6 10/10] send-email: suppress meaningless whitespaces in from field Remi Lespinet

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

  List information: http://vger.kernel.org/majordomo-info.html

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=vpqpp4sw4ki.fsf@anie.imag.fr \
    --to=matthieu.moy@grenoble-inp.fr \
    --cc=antoine.delaite@ensimag.grenoble-inp.fr \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=guillaume.pages@ensimag.grenoble-inp.fr \
    --cc=louis--alexandre.stuber@ensimag.grenoble-inp.fr \
    --cc=remi.galan-alfonso@ensimag.grenoble-inp.fr \
    --cc=remi.lespinet@ensimag.grenoble-inp.fr \
    /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.
Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

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 read-only IMAP folder(s) and NNTP newsgroup(s).