git/list[1] front-page[2] threads[3] people[4] search[5] about
 

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
Previous: Jeff KingNext: Jeff King
Message 2 of 4 in “t: use portable wrapper for readlink(1)”
  1. t: use portable wrapper for readlink(1)Jeff King, Jun 18, 2021
  2. brian m. carlsonJun 18, 2021
  3. Jeff KingJun 18, 2021
  4. Junio C HamanoJun 19, 2021

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.