Thread (9 messages) 9 messages, 2 authors, 2023-12-15

Re: [PATCH v4] tests: adjust whitespace in chainlint expectations

From: Eric Sunshine <hidden>
Date: 2023-12-15 07:17:33

On Fri, Dec 15, 2023 at 1:42 AM Patrick Steinhardt [off-list ref] wrote:
quoted hunk ↗ jump to hunk
[...]
Instead of improving the detection logic, fix our ".expect" files so
that we do not need any post-processing at all anymore. This allows us
to drop the `-w` flag when diffing so that we can always use diff(1)
now.

Note that we keep some of the post-processing of `chainlint.pl` output
intact to strip leading line numbers generated by the script. Having
these would cause a rippling effect whenever we add a new test that
sorts into the middle of existing tests and would require us to
renumerate all subsequent lines, which seems rather pointless.

Signed-off-by: Patrick Steinhardt <redacted>
---
diff --git a/t/Makefile b/t/Makefile
@@ -103,20 +103,12 @@ check-chainlint:
                for i in $(CHAINLINTTESTS); do \
                        echo "# chainlint: $$i" && \
-                       sed -e '/^[     ]*$$/d' chainlint/$$i.expect; \
+                       cat chainlint/$$i.expect; \
                done \
        $(CHAINLINT) --emit-all '$(CHAINLINTTMP_SQ)'/tests | \
-               sed -e 's/^[1-9][0-9]* //;/^[   ]*$$/d' >'$(CHAINLINTTMP_SQ)'/actual && \
+               sed -e 's/^[1-9][0-9]* //' >'$(CHAINLINTTMP_SQ)'/actual && \
+       diff -u '$(CHAINLINTTMP_SQ)'/expect '$(CHAINLINTTMP_SQ)'/actual
Thanks, this version looks fine. FWIW, you may consider this:

    Reviewed-by: Eric Sunshine [off-list ref]

Aside: I was rather surprised to see this output from git-am when applying v4:

    Applying: tests: adjust whitespace in chainlint expectations
    .git/rebase-apply/patch:205: new blank line at EOF.
    +
    .git/rebase-apply/patch:219: new blank line at EOF.
    +
    warning: 2 lines add whitespace errors.

But upon investigating the two "test" files in question,
dqstring-line-splice.test and dqstring-no-interpolate.test, I recalled
that I had to play tricks to escape the single-quote context created
by the Makefile when generating t/chainlinttmp/tests in order to allow
chainlint.pl to see a double-quoted string. So, the abovementioned
blank lines are indeed expected output from chainlint.pl given the
tricks played.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help