]> git.ipfire.org Git - thirdparty/elfutils.git/commitdiff
Add tests/thread-safety-subr.sh
authorAaron Merey <amerey@redhat.com>
Wed, 26 Mar 2025 19:37:50 +0000 (15:37 -0400)
committerAaron Merey <amerey@redhat.com>
Wed, 26 Mar 2025 21:01:24 +0000 (17:01 -0400)
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 <amerey@redhat.com>
tests/Makefile.am
tests/thread-safety-subr.sh [new file with mode: 0644]

index 7c3bf83721dc97cffc2538ca4d9f8105f15ea78b..3f516a68f3f444b4a865403eb682a9a7cd29f5db 100644 (file)
@@ -707,7 +707,7 @@ EXTRA_DIST = run-arextract.sh run-arsymtest.sh run-ar.sh \
             testfile-define-file.bz2 \
             testfile-sysroot.tar.bz2 run-sysroot.sh \
             run-test-manyfuncs.sh manyfuncs.c \
-            run-debuginfod-seekable.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 (file)
index 0000000..1024df0
--- /dev/null
@@ -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
+}