Re: Perf lib sanity tests fail on OSX
Hi Sangeeta,
Le 2020-12-15 à 14:08, Sangeeta a écrit :
Show 7 quoted lines
> Hey everyone,
>
> The performance test, p0000-perf-lib-sanity.sh[1], is failing on my
> local OSX machine due to an error in the test_export of the foo
> variable. I think the test is failing because it is not able to export
> the `foo` variable using `test_export`.
> [1] https://github.com/git/git/blob/master/t/perf/p0000-perf-lib-sanity.sh#L26
It is not the export per se that fails (that would be very bad news indeed), it is the shell magic in the 'test_run_perf_' function in 'perf-lib.sh' that uses a non-portable sed(1) invocation:
set | sed -n "s'"/'/'\\\\''/g"';s/^\\($test_export_\\)/export
'"'&'"'/p" >test_vars
As you might already know, since macOS has some BSD background/ancestry, most POSIX utilities are closer to the OpenBSD/FreeBSD versions than to their GNU/Linux counterparts.
I successfully ran p0000-perf-lib-sanity.sh on my Mac after installing the GNU version of sed using Homebrew and making sure to follow the indications in the 'Caveats' so that the sed from Homebrew is first in PATH:
brew install gnu-sed
export PATH="/usr/local/opt/gnu-sed/libexec/gnubin:$PATH"
./p0000-perf-lib-sanity.sh
I do not know sed syntax enough to fix the invocation to make it portable (nor do I know if it's possible).
I've CC-ed Johannes and Lars since they were involved in the thread you mentioned.
> Thanks and Regards,
> Sangeeta
Cheers,
Philippe.
P.S. my usual email setup is broken at the moment so I'm sorry if this email is formatted wrong. P.P.S. and sorry for the re-send.