From 1f9a417508837fca4dd0e3bf0e3c0e5c9fb93edf Mon Sep 17 00:00:00 2001 From: David Gibson Date: Wed, 4 Mar 2020 16:26:33 +1100 Subject: [PATCH] tests: Allow running the testsuite on already installed binary / libraries Currently the test runner script always expects to be run from within the tests/ subdirectory of a dtc source tree: it looks for dtc and other binaries in the parent of the current directory and for the libfdt shared library in ../libfdt. That works great with make check and for testing a build you've just made. However, sometimes it's useful to test a dtc & libfdt which have already been installed on the system, or which for whatever reason are located somewhere else. This patch allows the test runner script to do this when TEST_BINDIR and/or TEST_LIBDIR environment variables are set. Signed-off-by: David Gibson --- tests/run_tests.sh | 5 ++++- tests/testutils.sh | 14 +++++++++----- 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/tests/run_tests.sh b/tests/run_tests.sh index b0a1fc3..eccb85d 100755 --- a/tests/run_tests.sh +++ b/tests/run_tests.sh @@ -52,7 +52,10 @@ if [ -z "$STATSZ" ]; then fi # Help things find the libfdt shared object -export LD_LIBRARY_PATH=../libfdt +if [ -z "$TEST_LIBDIR" ]; then + TEST_LIBDIR=../libfdt +fi +export LD_LIBRARY_PATH="$TEST_LIBDIR" export QUIET_TEST=1 STOP_ON_FAIL=0 diff --git a/tests/testutils.sh b/tests/testutils.sh index 8dda6e1..6b2f0d1 100644 --- a/tests/testutils.sh +++ b/tests/testutils.sh @@ -18,11 +18,15 @@ FAIL_IF_SIGNAL () { fi } -DTC=../dtc -DTGET=../fdtget -DTPUT=../fdtput -FDTDUMP=../fdtdump -FDTOVERLAY=../fdtoverlay +if [ -z "$TEST_BINDIR" ]; then + TEST_BINDIR=.. +fi + +DTC=${TEST_BINDIR}/dtc +DTGET=${TEST_BINDIR}/fdtget +DTPUT=${TEST_BINDIR}/fdtput +FDTDUMP=${TEST_BINDIR}/fdtdump +FDTOVERLAY=${TEST_BINDIR}/fdtoverlay verbose_run () { if [ -z "$QUIET_TEST" ]; then