Hi Sangeeta,
Le 2020-12-15 à 14:08, Sangeeta a écrit :
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.