Re: [PATCH] t: use portable wrapper for readlink(1)
- From
brian m. carlson <sandals@crustytoothpaste.net>
- Date
- Jun 18, 2021, 19:13 UTC
- Message-ID
- <YMzwWxkQXjDT+mi+@camp.crustytoothpaste.net>
- In-Reply-To
- <YMzKlrmHFZdx2ti9@coredump.intra.peff.net>
On 2021-06-18 at 16:32:22, Jeff King wrote:
Show 29 quoted lines
> Not all systems have a readlink program available for use by the shell.
> This causes t3210 to fail on at least AIX. Let's provide a perl
> one-liner to do the same thing, and use it there.
>
> I also updated calls in t9802. Nobody reported failure there, but it's
> the same issue. Presumably nobody actually tests with p4 on AIX in the
> first place (if it is even available there).
>
> I left the use of readlink in the "--valgrind" setup in test-lib.sh, as
> valgrind isn't available on exotic platforms anyway (and I didn't want
> to increase dependencies between test-lib.sh and test-lib-functions.sh).
>
> There's one other curious case. Commit d2addc3b96 (t7800: readlink may
> not be available, 2016-05-31) fixed a similar case. We can't use our
> wrapper function there, though, as it's inside a sub-script triggered by
> Git. It uses a slightly different technique ("ls" piped to "sed"). I
> chose not to use that here as it gives confusing "ls -l" output if the
> file is unexpectedly not a symlink (which is OK for its limited use, but
> potentially confusing for general use within the test suite). The perl
> version emits the empty string.
>
> Reported-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
> Signed-off-by: Jeff King <peff@peff.net>
> ---
> This is a re-post that doesn't seem to have made it into "seen"; the
> original[1] was buried in a thread, but Ævar reported there that it
> fixes t3210 on his AIX build.
>
> [1] https://lore.kernel.org/git/YLk0Zm2J6VOA%2Flks@coredump.intra.peff.net/In case I didn't say it up in the previous post, this looks fine to me. Using Perl here seems like a fine solution. If we needed to in the future, we could add this to test-tool and use the real readlink(2), but we can hold off until we decide we need to.
-- brian m. carlson (he/him or they/them) Toronto, Ontario, CA