From: Pete Wyckoff <pw@padd.com>
To: Jonathan Nieder <jrnieder@gmail.com>
Cc: git@vger.kernel.org, Dmitry Ivankov <divanorama@gmail.com>,
David Barr <davidbarr@google.com>,
Sverre Rabbelier <srabbelier@gmail.com>,
Junio C Hamano <gitster@pobox.com>
Subject: Re: [PATCHv2 1/2] fast-import: test behavior of garbage after mark references
Date: Tue, 3 Apr 2012 20:46:10 -0400 [thread overview]
Message-ID: <20120404004610.GA4124@padd.com> (raw)
In-Reply-To: <20120403140055.GC15589@burratino>
jrnieder@gmail.com wrote on Tue, 03 Apr 2012 09:00 -0500:
> Pete Wyckoff wrote:
> > +
> > +#
> > +# filemodify, three datarefs
> > +#
> > +test_expect_failure 'S: filemodify markref no space' '
>
> What is this testing for? The ideal is that each test_expect_foo line
> contains a proposition and the test checks whether that proposition is
> true or false. For example:
>
> test_expect_failure 'S: filemodify with garbage after mark errors out' '
>
> Likewise in later tests.
I've fixed these locally, thanks for reading them!
> > + test_must_fail git fast-import --import-marks=marks <<-EOF 2>err &&
> > + commit refs/heads/S
> > + committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE
> > + data <<COMMIT
> > + commit N
> > + COMMIT
> > + M 100644 :103x hello.c
> > + EOF
> > + cat err &&
> > + grep -q "Missing space after mark" err
>
> Is this using "grep -q" to avoid repeating the same line in the output
> twice? It seems better to use plain grep or test_i18ngrep.
>
> I'm also worried that if someone wants to change these messages
> (perhaps to make the 'm' in "Missing" lowercase or something), they
> will have to change all of these tests. If we want to be absolutely
> sure that git detects the right error instead of something else, I
> would suggest
>
> test_i18ngrep "space after mark" message
>
> I'm also not convinced the error message is worth checking at all ---
> as long as fast-import errors out, won't the frontend author be able
> to look in the logs to find out the problematic line anyway?
I'm a bit confused. I read through 5e9637c (i18n: add
infrastructure for translating Git with gettext, 2011-11-18), and
GETTEXT_POISON seems to be used to find untranslated messages.
What I want to test here is that the functionality works: do the
right untranslated messages get printed.
Changing the "Missing" to "missing" would require fixing the
tests, and that seems okay.
I'm happy to drop the "-q" and drop the "Missing", but wonder if
you're looking for something deeper.
> > +test_expect_failure 'S: filemodify inline no space' '
> > + test_must_fail git fast-import --import-marks=marks <<-EOF 2>err &&
> > + commit refs/heads/S
> > + committer $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE
> > + data <<COMMIT
> > + commit N
> > + COMMIT
> > + M 100644 inlineX hello.c
> > + data <<BLOB
> > + inline
> > + BLOB
> > + EOF
> > + cat err &&
> > + grep -q "Missing space after .inline." err
>
> Does this fail because the error message is "Missing space after SHA1"
> instead? I'm not sure that's actually a bug, unless we want to
> correctly nitpick that the keyword "inline" that is a stand-in for an
> object name is not itself one.
The form of the message matters. Datarefs can be inline, SHA1s,
or marks. It is confusing to see an error message about a SHA1
when the input stream has no SHA1s. The existing code always
says "SHA1", which is wrong if you gave it a mark or an inline.
> I don't think the tests for exact error messages make too much sense
> without the next patch, so I would suggest leaving them out if this
> patch is supposed to be applicable on its own.
>
> Thanks for some thorough tests.
You think I should squash it all together, then? Or factor the
tests into two chunks:
- tests for behavior that silently accepts broken input; and,
- tests for behavior where the bogus input is detcetd, but
incorrect error messages are given?
-- Pete
next prev parent reply other threads:[~2012-04-04 0:46 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-04-01 22:54 [PATCH] fast-import: catch garbage after marks in from/merge Pete Wyckoff
2012-04-01 23:12 ` Jonathan Nieder
2012-04-02 0:13 ` Pete Wyckoff
2012-04-02 6:56 ` Dmitry Ivankov
2012-04-02 16:16 ` Junio C Hamano
2012-04-02 15:43 ` Jonathan Nieder
2012-04-02 16:15 ` Junio C Hamano
2012-04-03 1:51 ` [PATCHv2 0/2] fast-import: tighten parsing of mark references Pete Wyckoff
2012-04-03 1:51 ` [PATCHv2 1/2] fast-import: test behavior of garbage after " Pete Wyckoff
2012-04-03 14:00 ` Jonathan Nieder
2012-04-04 0:46 ` Pete Wyckoff [this message]
2012-04-04 5:43 ` Jonathan Nieder
2012-04-03 1:51 ` [PATCHv2 2/2] fast-import: tighten parsing of " Pete Wyckoff
2012-04-03 14:20 ` Jonathan Nieder
2012-04-04 1:20 ` Pete Wyckoff
2012-04-04 5:32 ` Jonathan Nieder
2012-04-03 2:00 ` [PATCHv2 0/2] " Sverre Rabbelier
2012-04-05 1:51 ` [PATCHv3] " Pete Wyckoff
2012-04-05 2:24 ` Jonathan Nieder
2012-04-05 17:20 ` Junio C Hamano
2012-04-07 22:59 ` [PATCHv4] fast-import: tighten parsing of datarefs Pete Wyckoff
2012-04-10 21:40 ` 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=20120404004610.GA4124@padd.com \
--to=pw@padd.com \
--cc=davidbarr@google.com \
--cc=divanorama@gmail.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=jrnieder@gmail.com \
--cc=srabbelier@gmail.com \
/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).