On 2021-06-18 at 16:32:22, Jeff King wrote: > 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@xxxxxxxxx> > Signed-off-by: Jeff King <peff@xxxxxxxx> > --- > 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@xxxxxxxxxxxxxxxxxxxxxxx/ 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
Attachment:
signature.asc
Description: PGP signature