Subject: Re: [PATCH] fixup! tests: add a test mode for SANITIZE=leak, run it in CI

From: Ævar Arnfjörð Bjarmason <[email-masked]>
Date: Thu, 16 Sep 2021 08:14:25 +0200

On Wed, Sep 15 2021, Carlo Marcelo Arenas Belón wrote:

> Use the standard gcc in Linux, instead of the older version
>
> Remove the osx-leaks job; neither clang or gcc support it and won't
> until clang 14 is released.

Thanks, that's well spotted. I'll fix this in a re-roll. I just tested
and the osx job does nothing.

FWIW I'd tested and it errored on clang, but didn't check the gcc case
of silently ignoring it.

> Signed-off-by: Carlo Marcelo Arenas Belón <[email-masked]>
> ---
>  .github/workflows/main.yml | 3 ---
>  ci/install-dependencies.sh | 4 ++--
>  ci/lib.sh                  | 8 ++++----
>  3 files changed, 6 insertions(+), 9 deletions(-)
>
> diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
> index 7c273147a0..59acc35d37 100644
> --- a/.github/workflows/main.yml
> +++ b/.github/workflows/main.yml
> @@ -234,9 +234,6 @@ jobs:
>            - jobname: linux-leaks
>              cc: gcc
>              pool: ubuntu-latest
> -          - jobname: osx-leaks
> -            cc: gcc
> -            pool: macos-latest
>      env:
>        CC: ${{matrix.vector.cc}}
>        jobname: ${{matrix.vector.jobname}}
> diff --git a/ci/install-dependencies.sh b/ci/install-dependencies.sh
> index bb88afd369..1d0e48f451 100755
> --- a/ci/install-dependencies.sh
> +++ b/ci/install-dependencies.sh
> @@ -18,7 +18,7 @@ linux-clang|linux-gcc|linux-leaks)
>  	sudo apt-get -q -y install language-pack-is libsvn-perl apache2 \
>  		$UBUNTU_COMMON_PKGS
>  	case "$jobname" in
> -	linux-gcc|linux-leaks)
> +	linux-gcc)
>  		sudo apt-get -q -y install gcc-8
>  		;;
>  	esac

> @@ -37,7 +37,7 @@ linux-clang|linux-gcc|linux-leaks)
>  		cp git-lfs-$LINUX_GIT_LFS_VERSION/git-lfs .
>  	popd
>  	;;
> -osx-clang|osx-gcc|osx-leaks)
> +osx-clang|osx-gcc)
>  	export HOMEBREW_NO_AUTO_UPDATE=1 HOMEBREW_NO_INSTALL_CLEANUP=1
>  	# Uncomment this if you want to run perf tests:
>  	# brew install gnu-time
> diff --git a/ci/lib.sh b/ci/lib.sh
> index cf62f786a3..36f594751d 100755
> --- a/ci/lib.sh
> +++ b/ci/lib.sh
> @@ -185,7 +185,7 @@ export SKIP_DASHED_BUILT_INS=YesPlease
>  case "$jobname" in
>  linux-clang|linux-gcc|linux-leaks)
>  	case "$jobname" in
> -	linux-gcc|linux-leaks)
> +	linux-gcc)
>  		export CC=gcc-8
>  		MAKEFLAGS="$MAKEFLAGS PYTHON_PATH=/usr/bin/python3"
>  		;;
> @@ -208,9 +208,9 @@ linux-clang|linux-gcc|linux-leaks)
>  	GIT_LFS_PATH="$HOME/custom/git-lfs"
>  	export PATH="$GIT_LFS_PATH:$P4_PATH:$PATH"
>  	;;
> -osx-clang|osx-gcc|osx-leaks)
> +osx-clang|osx-gcc)
>  	case "$jobname" in
> -	osx-gcc|osx-leaks)
> +	osx-gcc)
>  		export CC=gcc-9
>  		MAKEFLAGS="$MAKEFLAGS PYTHON_PATH=$(which python3)"
>  		;;
> @@ -239,7 +239,7 @@ linux-musl)
>  esac
>  
>  case "$jobname" in
> -linux-leaks|osx-leaks)
> +*-leaks)
>  	export SANITIZE=leak
>  	export GIT_TEST_PASSING_SANITIZE_LEAK=true
>  	;;

I'll leave this stray cleanup out, yes it's functionally equivalent, but
it really helps to be able to see an identifier in main.yml and grep for
it across the untyped-language boundary of that YAML going into
shellscript.