]> git.ipfire.org Git - thirdparty/elfutils.git/commitdiff
tests/test-subr.sh: Put test_dir under /var/tmp.
authorFrank Ch. Eigler <fche@redhat.com>
Wed, 9 Oct 2024 17:41:14 +0000 (13:41 -0400)
committerFrank Ch. Eigler <fche@redhat.com>
Thu, 10 Oct 2024 11:49:39 +0000 (07:49 -0400)
Every individual test in elfutils involves a temporary directory.
Previous version of this script put that directory under the build
tree.  That's OK if it's a local disk, but if it's on NFS, then some
tests - run-large-elf-file.sh, several run-debuginfod-*.sh - take long
enough to run to fail tests intermittently.

This patch moves the temp_dir under ${TMPDIR-/var/tmp/}, so it
operates at local disk speed rather than whatever-build-filesystem
speed.  Individual test scripts are all unaffected.  (One could
consider /tmp instead, which is a RAM disk on modern systems, except
that some of the elfutils tests produce GB-sized temporary files.
That's probably too big for RAM.)

Signed-off-by: Frank Ch. Eigler <fche@redhat.com>
tests/test-subr.sh

index 411e5f288acd30b5e4241b93694d3488870b99da..ea80cbec3bc75fa7448f6610458a56508ed94b93 100644 (file)
@@ -23,8 +23,9 @@
 set -e
 
 # Each test runs in its own directory to make sure they can run in parallel.
-test_dir="test-$$"
+test_dir="${TMPDIR-/var/tmp}/elfutils-test-$$"
 mkdir -p "$test_dir"
+orig_dir="${PWD}"
 cd "$test_dir"
 
 #LC_ALL=C
@@ -35,7 +36,7 @@ remove_files=
 # Tests that trap EXIT (0) themselves should call this explicitly.
 exit_cleanup()
 {
-  rm -f $remove_files; cd ..; rmdir $test_dir
+  rm -f $remove_files; cd $orig_dir; rmdir $test_dir
 }
 trap exit_cleanup 0