summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAaron Merey <[email protected]>2025-03-26 15:37:50 -0400
committerAaron Merey <[email protected]>2025-03-26 17:01:24 -0400
commit8be76352674b72f62faf02bc6a7f7eb8f78bc7a7 (patch)
tree1ffae5f5052c3c710f773218a8ddbaa59014e26a
parentffef16389c4506ccfbe304d0ee5fd714abfa0f5d (diff)
Add tests/thread-safety-subr.sh
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 <[email protected]>
-rw-r--r--tests/Makefile.am2
-rw-r--r--tests/thread-safety-subr.sh33
2 files changed, 34 insertions, 1 deletions
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 7c3bf837..3f516a68 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -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
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
+}