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>
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
# 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