Re: [PATCH] perf: accommodate for MacOSX

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> On 18 Jun 2016, at 15:03, Johannes Schindelin <johannes.schindelin@xxxxxx> wrote:
> 
> As this developer has no access to MacOSX developer setups anymore,
> Travis becomes the best bet to run performance tests on that OS.
We don't run the performance tests on Travis CI right now.
Maybe we should? With your patch below it should work, right?

I only saw one error on my local OS X machine here:
https://github.com/git/git/blob/05219a1276341e72d8082d76b7f5ed394b7437a4/t/perf/p0000-perf-lib-sanity.sh#L26

Does the export of foo not work properly on OS X? "$foo" is empty...

- Lars


> However, on MacOSX /usr/bin/time is that good old BSD executable that
> no Linux user cares about, as demonstrated by the perf-lib.sh's use
> of GNU-ish extensions. And by the hard-coded path.
> 
> Let's just work around this issue by using gtime on MacOSX, the
> Homebrew-provided GNU implementation onto which pretty much every
> MacOSX power user falls back anyway.
> 
> Signed-off-by: Johannes Schindelin <johannes.schindelin@xxxxxx>
> ---
> Published-As: https://github.com/dscho/git/releases/tag/perf-macosx-v1
> 
> 	This is another of those patches that came up in my rebase--helper
> 	work, even if it is not quite obvious from the patch ;-)
> 
> .travis.yml        | 2 +-
> t/perf/perf-lib.sh | 6 +++++-
> 2 files changed, 6 insertions(+), 2 deletions(-)
> 
> diff --git a/.travis.yml b/.travis.yml
> index c20ec54..0e569bc 100644
> --- a/.travis.yml
> +++ b/.travis.yml
> @@ -82,7 +82,7 @@ before_install:
>       brew tap homebrew/binary --quiet
>       brew_force_set_latest_binary_hash perforce
>       brew_force_set_latest_binary_hash perforce-server
> -      brew install git-lfs perforce-server perforce gettext
> +      brew install git-lfs perforce-server perforce gettext gnu-time
>       brew link --force gettext
>       ;;
>     esac;
> diff --git a/t/perf/perf-lib.sh b/t/perf/perf-lib.sh
> index 18c363e..773f955 100644
> --- a/t/perf/perf-lib.sh
> +++ b/t/perf/perf-lib.sh
> @@ -127,11 +127,15 @@ test_checkout_worktree () {
> # Performance tests should never fail.  If they do, stop immediately
> immediate=t
> 
> +# Perf tests require GNU time
> +case "$(uname -s)" in Darwin) GTIME="${GTIME:-gtime}";; esac
> +GTIME="${GTIME:-/usr/bin/time}"
> +
> test_run_perf_ () {
> 	test_cleanup=:
> 	test_export_="test_cleanup"
> 	export test_cleanup test_export_
> -	/usr/bin/time -f "%E %U %S" -o test_time.$i "$SHELL" -c '
> +	"$GTIME" -f "%E %U %S" -o test_time.$i "$SHELL" -c '
> . '"$TEST_DIRECTORY"/test-lib-functions.sh'
> test_export () {
> 	[ $# != 0 ] || return 0
> -- 
> 2.9.0.119.gb7b8d21
> 
> base-commit: 05219a1276341e72d8082d76b7f5ed394b7437a4
> --
> To unsubscribe from this list: send the line "unsubscribe git" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]