Hi Aaron,

On Tue, 2025-02-04 at 16:50 -0500, Aaron Merey wrote:
> thread-safety-subr.sh contains subroutine check_thread_safety_enabled
> which skips further testing when USE_LOCKS is false.
> 
>       * tests/Makefile.am (EXTRA_DIST): Add thread-safety-subr.sh.
>       * tests/thread-safety-subr.sh: New file.
> 
> Signed-off-by: Aaron Merey <ame...@redhat.com>
> ---
> v2 changes: Removed checks for address and memory sanitizer in
> check_thread_safety_enabled.

This looks good. As does the usage in the actual tests.
I believe I already reviewed the 07-10/10 v5 patches.
But let me know if you want more feedback.

Cheers,

Mark

>  tests/Makefile.am           |  1 +
>  tests/thread-safety-subr.sh | 33 +++++++++++++++++++++++++++++++++
>  2 files changed, 34 insertions(+)
>  create mode 100644 tests/thread-safety-subr.sh
> 
> diff --git a/tests/Makefile.am b/tests/Makefile.am
> index e4fe72f0..9ca97b6f 100644
> --- a/tests/Makefile.am
> +++ b/tests/Makefile.am
> @@ -689,6 +689,7 @@ EXTRA_DIST = run-arextract.sh run-arsymtest.sh run-ar.sh \
>            testfile-dwp-cu-index-overflow.source \
>            testfile-define-file.bz2 \
>            testfile-sysroot.tar.bz2 run-sysroot.sh run-debuginfod-seekable.sh
> +          thread-safety-subr.sh
>  
>  
>  if USE_HELGRIND
> diff --git a/tests/thread-safety-subr.sh b/tests/thread-safety-subr.sh
> new file mode 100644
> index 00000000..1024df02
> --- /dev/null
> +++ b/tests/thread-safety-subr.sh
> @@ -0,0 +1,33 @@
> +#! /bin/sh
> +# Subroutines for thread safety testing
> +# Copyright (C) 2024 Red Hat, Inc.
> +# This file is part of elfutils.
> +#
> +# This file is free software; you can redistribute it and/or modify
> +# it under the terms of the GNU General Public License as published by
> +# the Free Software Foundation; either version 3 of the License, or
> +# (at your option) any later version.
> +#
> +# elfutils is distributed in the hope that it will be useful, but
> +# WITHOUT ANY WARRANTY; without even the implied warranty of
> +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> +# GNU General Public License for more details.
> +#
> +# You should have received a copy of the GNU General Public License
> +# along with this program.  If not, see <http://www.gnu.org/licenses/>.
> +
> +. $srcdir/test-subr.sh
> +
> +# Verify that thread safety tests can be run.  If not, skip further testing.
> +check_thread_safety_enabled()
> +{
> +  # Extract lock setting.
> +  USE_LOCKS=$(grep '^#define USE_LOCKS' \
> +     ${abs_builddir}/../config.h | awk '{print $3}')
> +
> +  # Test will only be run if USE_LOCKS is defined. Otherwise, skip.
> +  if [[ "$USE_LOCKS" != 1 ]]; then
> +    echo "USE_LOCKS is not defined. Skipping test."
> +    exit 77
> +  fi
> +}

Reply via email to