From: Eric Sunshine <sunshine@sunshineco.com>
To: Jeff King <peff@peff.net>
Cc: "Junio C Hamano" <gitster@pobox.com>,
"Eric Sunshine" <ericsunshine@charter.net>,
git@vger.kernel.org, "René Scharfe" <l.s.r@web.de>
Subject: Re: [PATCH] chainlint.pl: recognize test bodies defined via heredoc
Date: Sun, 7 Jul 2024 23:51:15 -0400 [thread overview]
Message-ID: <CAPig+cTv-DaGRmwWWCk8b33MKzV25vfP2zPKd2VOAEOtz4FZ2A@mail.gmail.com> (raw)
In-Reply-To: <20240706231128.GA746087@coredump.intra.peff.net>
On Sat, Jul 6, 2024 at 7:11 PM Jeff King <peff@peff.net> wrote:
> My biggest question is around my patch 1 above:
>
> - is it worth squashing in to Eric's patch? I didn't want to do that
> without getting his OK on the approach.
Given the effort you put into the commit message and diagnosing my
bugs, my knee-jerk response is that it would be nice to keep your
patch separate so you retain authorship. But it also would be
irresponsible for us to let my buggy patch into the project history
as-is since you caught the problems at review time. So, squashing your
fixes in seems like the correct approach.
> - instead of bumping the line number in the caller, should the lexer
> record the line number of the here-doc to be used later?
It would be more robust to do so, but I suspect things will be fine
for a long time even without such an enhancement. But I also agree
with your commentary in patch [1/3] that it probably would be easy to
latch the line number at the point at which the heredoc body is
latched.
> - the test harness in the Makefile strips the line numbers from the
> chainlint output, so it's hard to verify those fixes. I saw them
> only because the combination of the two bugs meant that the here-doc
> had a "line 0" in it, which was enough to confuse the "sed"
> invocation in the Makefile.
>
> I did manually verify that it is OK after my fix, but do we want
> that to be part of the chainlint tests? Just leaving the line
> numbers in is a maintenance nightmare, since it depends on the order
> of concatenating all of the tests together (so our "expect" files
> would depend on all of the previous tests). But if we wanted to get
> fancy, we could perhaps store relative offsets in the expect file. I
> think it gets pretty complicated, though, since we print only
> problematic lines.
Given the way the Makefile currently concatenates all the self-tests,
it would indeed be a nightmare to retain the line numbers. In the long
run, we probably ought someday to adopt Ævar's idea of checking the
self-test files individually[*] rather than en masse. With that
approach, it may make sense to revisit whether or not line numbers
should be present in the "expected" files.
[*] https://lore.kernel.org/git/CAPig+cSBjsosRqoAafYN94Cco8+7SdUt0ND_jHS+jVPoM4K0JA@mail.gmail.com/
next prev parent reply other threads:[~2024-07-08 3:51 UTC|newest]
Thread overview: 65+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-07-01 22:08 [PATCH 0/2] here-doc test bodies Jeff King
2024-07-01 22:08 ` [PATCH 1/2] test-lib: allow test snippets as here-docs Jeff King
2024-07-01 22:45 ` Eric Sunshine
2024-07-01 23:43 ` Junio C Hamano
2024-07-02 0:51 ` Jeff King
2024-07-02 1:13 ` Jeff King
2024-07-02 21:37 ` Eric Sunshine
2024-07-06 5:44 ` Jeff King
2024-07-02 21:19 ` Jeff King
2024-07-02 21:59 ` Eric Sunshine
2024-07-06 5:23 ` Jeff King
2024-07-02 21:25 ` Eric Sunshine
2024-07-02 22:36 ` Eric Sunshine
2024-07-02 22:48 ` Eric Sunshine
2024-07-06 5:31 ` Jeff King
2024-07-06 5:33 ` Jeff King
2024-07-06 6:11 ` Eric Sunshine
2024-07-06 6:47 ` Eric Sunshine
2024-07-06 6:55 ` Jeff King
2024-07-06 7:06 ` Eric Sunshine
2024-07-06 6:54 ` Jeff King
2024-07-01 22:08 ` [PATCH 2/2] t: convert some here-doc test bodies Jeff King
2024-07-02 23:50 ` [PATCH] chainlint.pl: recognize test bodies defined via heredoc Eric Sunshine
2024-07-06 6:01 ` Jeff King
2024-07-06 6:05 ` [PATCH 1/3] chainlint.pl: fix line number reporting Jeff King
2024-07-08 5:08 ` Eric Sunshine
2024-07-08 9:10 ` Jeff King
2024-07-06 6:06 ` [PATCH 2/3] t/chainlint: add test_expect_success call to test snippets Jeff King
2024-07-06 6:09 ` Jeff King
2024-07-08 3:59 ` Eric Sunshine
2024-07-06 6:07 ` [PATCH 3/3] t/chainlint: add tests for test body in heredoc Jeff King
2024-07-08 2:43 ` Eric Sunshine
2024-07-08 8:59 ` Jeff King
2024-07-06 22:15 ` [PATCH] chainlint.pl: recognize test bodies defined via heredoc Junio C Hamano
2024-07-06 23:11 ` Jeff King
2024-07-08 3:51 ` Eric Sunshine [this message]
2024-07-08 9:08 ` Jeff King
2024-07-08 19:46 ` Eric Sunshine
2024-07-08 20:17 ` Eric Sunshine
2024-07-10 0:37 ` Jeff King
2024-07-10 1:09 ` Jeff King
2024-07-10 3:02 ` Eric Sunshine
2024-07-10 7:06 ` Jeff King
2024-07-10 7:29 ` Eric Sunshine
2024-07-08 3:40 ` Eric Sunshine
2024-07-08 9:05 ` Jeff King
2024-07-08 20:06 ` Eric Sunshine
2024-07-10 0:48 ` Jeff King
2024-07-10 2:38 ` Eric Sunshine
2024-07-10 8:34 ` [PATCH v2 0/9] here-doc test bodies (now with 100% more chainlinting) Jeff King
2024-07-10 8:34 ` [PATCH v2 1/9] chainlint.pl: add test_expect_success call to test snippets Jeff King
2024-07-10 8:35 ` [PATCH v2 2/9] chainlint.pl: only start threads if jobs > 1 Jeff King
2024-07-10 8:35 ` [PATCH v2 3/9] chainlint.pl: do not spawn more threads than we have scripts Jeff King
2024-07-10 8:37 ` [PATCH v2 4/9] chainlint.pl: force CRLF conversion when opening input files Jeff King
2024-07-10 8:37 ` [PATCH v2 5/9] chainlint.pl: check line numbers in expected output Jeff King
2024-08-21 7:00 ` Eric Sunshine
2024-08-21 12:14 ` Jeff King
2024-08-21 17:02 ` Eric Sunshine
2024-07-10 8:38 ` [PATCH v2 6/9] chainlint.pl: recognize test bodies defined via heredoc Jeff King
2024-07-10 8:39 ` [PATCH v2 7/9] chainlint.pl: add tests for test body in heredoc Jeff King
2024-07-10 8:39 ` [PATCH v2 8/9] test-lib: allow test snippets as here-docs Jeff King
2024-07-10 8:39 ` [PATCH v2 9/9] t: convert some here-doc test bodies Jeff King
2024-07-10 8:47 ` [PATCH v2 10/9] t/.gitattributes: ignore whitespace in chainlint expect files Jeff King
2024-07-10 17:15 ` Junio C Hamano
2024-08-21 7:31 ` [PATCH v2 0/9] here-doc test bodies (now with 100% more chainlinting) Eric Sunshine
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=CAPig+cTv-DaGRmwWWCk8b33MKzV25vfP2zPKd2VOAEOtz4FZ2A@mail.gmail.com \
--to=sunshine@sunshineco.com \
--cc=ericsunshine@charter.net \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=l.s.r@web.de \
--cc=peff@peff.net \
/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).