Re: [RFC PATCH 05/21] t3404: work around platform-specific behaviour on macOS 10.15
- From
Eric Sunshine <sunshine@sunshineco.com>
- Date
- Oct 2, 2024, 21:43 UTC
- Message-ID
- <CAPig+cSqeKJX99jbxouJZHdGZuyAgNz-wOgt+0C5OPvW3MHgLw@mail.gmail.com>
- In-Reply-To
- <00fd829833cae1d192d6c42237aa13427156e3ea.1727881164.git.ps@pks.im>
On Wed, Oct 2, 2024 at 11:17 AM Patrick Steinhardt <ps@pks.im> wrote:
Show 5 quoted lines
> Two of our tests in t3404 use indented HERE docs where leading tabs on > some of the lines are actually relevant. The tabs do get removed though, > and we try to fix this up by using sed(1) to replace leading tabs in the > actual output, as well. But on macOS 10.15 this doesn't work as expected > and we somehow keep the tabs around in the actual output.
I presume this nebulous explanation is due to the fact that the reason why macOS 10.15 exhibits this anomalous behavior is not yet known?
Show 22 quoted lines
> Work around this issue by retaining the tabs. > > Signed-off-by: Patrick Steinhardt <ps@pks.im> > --- > diff --git a/t/t3404-rebase-interactive.sh b/t/t3404-rebase-interactive.sh > @@ -1917,18 +1917,17 @@ test_expect_success '--update-refs updates refs correctly' ' > - cat >expect <<-\EOF && > - Successfully rebased and updated refs/heads/update-refs. > - Updated the following refs with --update-refs: > - refs/heads/first > - refs/heads/no-conflict-branch > - refs/heads/second > - refs/heads/third > - EOF > + cat >expect <<\EOF && > +Successfully rebased and updated refs/heads/update-refs. > +Updated the following refs with --update-refs: > + refs/heads/first > + refs/heads/no-conflict-branch > + refs/heads/second > + refs/heads/third > +EOF
Although this works, the problem with this change (and its sibling later in the patch) is that someday someone is going to come along (say, for instance, a GSoC applicant doing a microproject) who submits a patch to (re-)"modernize" this test by using `<<-` to (re-)indent the heredoc body. A better approach would probably be to retain `<<-` and use q_to_tab():
q_to_tab >expect <<-\EOF &&
Qrefs/heads/first
Q...
Qrefs/heads/third
EOF