From: Philippe Blain Date: Wed, 16 Dec 2020 02:18:02 GMT Subject: Re: Perf lib sanity tests fail on OSX Message-ID: In-Reply-To: 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.